火曜日, 11月 28, 2006

「なでしこ」で百人一首music その7

今日は、「文字を素材に音を作る」プログラムの「文字」のところを、テキストファイルから読み込むことをやってみる。

なでしこ」で、テキストファイルを読み込むのはとても簡単で、ファイル名を指定して、読む命令を実行すれば良い。

読む
http://nadesi.com/doc/cmd/doc.cgi?mode=cmd&id=502

読み込むファイルは、テキストファイルなら何でもいいのだが、昨日のプログラムを、百人一首music_6.nako という名前でデスクトップ保存し、これを読み込んでみた。

//百人一首music_7

音階=区切(『"ミ/"ラ/"シ/ド/ミ/ファ/ラ/シ/`ド/`ミ/`ファ/`ラ/`シ』 "/")

楽譜[0]="Tempo=60"

文書=読む("{デスクトップ}百人一首music_6.nako")

歌音=""; 歌音変換(文書,歌音); 楽譜[1]=歌音; 楽譜を表示

表示("マウスをクリックすると演奏します")
母艦をクリックした時は
 楽譜をMML演奏


●歌音変換({参照渡し}和歌,{参照渡し}歌音)
 文字=和歌を文字列分解したもの
 和歌の文字数 回
  弦番号=ASC(文字[回数-1])%13
  もし(文字[回数-1]=" ")ならば
   音符="r4"
  違えば、もし(文字[回数-1]>"ん")ならば
   音符=音階[弦番号]&"2"
  違えば
   音符=音階[弦番号]&"4"
  ここまで
  歌音=歌音&音符

//ここまで



これで、どんなテキストファイルでも音にして楽しむことができるようになる。ちょっと長いテキストファイルでも全然OKだ。

『文字を素材に音を作るプログラム』を素材に音を作るプログラム」なんて、なんか面白いですよねー。