Dolittle版 A*B*C*D*E
初版 2019/08/21 09:15
改訂 2019/08/21 10:56
2014年のアルバム「A*B*C*D*E」のドリトル版を作ってみました。
ラ・シ・ド・レ・ミの5つの音で作る3125通りの組み合わせを弾く。
演奏している音を色に割り当て、音と同期してグラフィックを描きます。
ラ=紺碧 シ=霞色 ド=紅赤 レ=薄緑 ミ=黒茶
// A*B*C*D*E(Dolittle版)
abcde=system!"echo {a,b,c,d,e}{a,b,c,d,e}{a,b,c,d,e}{a,b,c,d,e}{a,b,c,d,e}" execute.
tone=abcde! "\s" split.
map=[|v s1 e1 s2 e2| s2+(e2-s2)*((v-s1)/(e1-s1))].
w=screen!width?. h=screen!height?.
z=tone! size?.
紺碧=0x007bbb.
霞色=0xc8c2c6.
紅赤=0xd9333f.
薄緑=0x69b076.
黒茶=0x241a08.
i=0.
timer! create (0.5) interval (z) times [
i=i+1.
m=tone! (i) get.
n=m! length?.
f=melody! create.
j=0.
[j=j+1.
t=m! (j)(1) substr.
f=melody! create (t) add.
band! create (320) tempo (f) add play wait.
ws=ceil(w/n).
hs=ceil(h/(z-1)).
x=!(j)(1)(n+1)(w/-2)(w/2) map. y=!(i)(1)(z)(h/2)(h/-2) map.
[t=="a"]! then [c=color! (紺碧) create] execute.
[t=="b"]! then [c=color! (霞色) create] execute.
[t=="c"]! then [c=color! (紅赤) create] execute.
[t=="d"]! then [c=color! (薄緑) create] execute.
[t=="e"]! then [c=color! (黒茶) create] execute.
[i!=0]! then [
label! create (ws)(hs) size (x)(y) position (c) paint.
] execute.
]! (n) repeat.
] execute.
外部のMIDI音源(Poano One)で演奏してみます。
こちらは、musescore 版。楽譜を楽しみながら演奏を聴けます。
#プログラミング #ドリトル
mugen
様々なプログラミング言語を使って、音楽を自動作曲しています。
使用している言語
・awk
・COBOL
・JavaScript
・R
・サクラ
・ドリトル
・なでしこ
https://yamazawa.bandcamp.com/
17人がフォロー中
-
Visits
109,564
-
Items
1,160
-
Lab Logs
100
-
Likes
779
Since August 2019