「ToneMatrix」の譜面を自動生成するプログラムを書いてみた
前回の記事でとりあげた「ToneMatrix」。16×16のマス目の不思議に迫ります。
自動作曲
ランダムに音の羅列を作るスクリプトを作ってみた。生成ボタンを押して、出力された文字列を「コピー」して、Tonematrix上で右クリして「貼り付け」してください。
音の密度(%が高いと音がたくさん出力される。初期値は20%)
数字をコピーして、tonematrixにペーストしてください。
事の起こり
マス目の上で右クリックすると、コピペができます。ためしにTonematrixで「Copy」したものをテキストエディタに貼ってみたところ、下のようになりました。
自作フレーズをテキストエディタにペースト
42056,8192,10528,8336,33792,8266,10240,9256,0,9376,8192,8260,85010,2048,109908,2048
ピンときました。この音色データ、2の乗数とそれの合算でできてますね。それがカンマ区切りのCSVデータになってて、そのデータを元に内部の音源で音を鳴らしてる。Midiのちっこい版みたいなプログラムですね。
初期化してみた
2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536
やはりそうでした。一番高い音を2の1乗、一番低い音を2の16乗として音階を認識しています。同時に鳴らす場合は足し算ですね(例:一番高い音2と二番目に高い音4を同時に鳴らすなら2+4=6)
法則がわかっちゃえばこっちのもの。Javascriptで組んでみた、というのがきっかけでした。
お絵かき気分で作曲するのとはまた違った楽しみ方をしていただけたらと思います。