シェル芸で音楽を作る
初版 2019/08/17 18:52
「a,b,c,d,e」という文字は、音楽では「ラ,シ,ド,レ,ミ」という音名になるのですが、bashのブレース展開を使うと文字(音名)の組み合わせを簡単に作ることができます。
例えば
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}
のようにすれば「ラ,シ,ド,レ,ミ」で作れる3125通りの組み合わせを生成できます。
生成された文字列をMML(Music Macro Language)とみなして演奏させれば音楽になるというアイデアです。
![](https://muuseo-jp.s3-ap-northeast-1.amazonaws.com/uploads/1566035431800-n0ywlisgelc-cff40702f2d588cb0da7415a4dee9876/40498226_1884998761581031_79006082323709952_n.jpg)
オープンソースの楽譜作成ソフト「musescore」にもアップしてありますので、楽譜を見ながら演奏を聴くこともできます。
https://musescore.com/user/4546001/scores/1191181
![](https://musescore.com/static/musescore/scoredata/gen/1/8/1/1191181/a0ca1d637f41d6db6ea9f6bdb27ee65c38c9af92/score_0.png@850x1100?no-cachee=1441926569)
A*B*C*D*E sheet music for Piano download free in PDF or MIDI
Print and download in PDF or MIDI A*B*C*D*E. bashのブレース展開を使ってMMLを生成。「ラ・シ・ド・レ・ミ」の5つの音でできる3125通りの組み合わせを演奏。 echo 'System.TimeSignature=5,16 l16' {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} > tmp; csakura -p tmp
https://musescore.com/user/4546001/scores/1191181
#プログラミング
![File](https://d17x1wu3749i2y.cloudfront.net/2019/08/01/18/45/52/659413ae-4e5b-45a3-99ba-7831945efb12/file.jpg)
mugen
様々なプログラミング言語を使って、音楽を自動作曲しています。
使用している言語
・awk
・COBOL
・JavaScript
・R
・サクラ
・ドリトル
・なでしこ
https://yamazawa.bandcamp.com/
17人がフォロー中
-
Visits
101,008
-
Items
1,157
-
Lab Logs
100
-
Likes
776
Since August 2019
![Default](https://d3caz7hhiepl95.cloudfront.net/assets/user/default-6344dcd9594efe2c770024a51c383175.png)