日曜日, 7月 23, 2006

「サクラ」で配列を使ってみる

プログラムで音を自動的に作り出す方法として、今まではRandom関数でノート番号を作り出していた。12音階のような曲はこれでもいいのだが、音階が決まっているような場合にはノートナンバーによる指定は面倒だ。

サクラ」では、一般のプログラミング言語のように配列を使うことができるので、今日は、音階の配列を作り、この配列の中からランダムに音を選ぶ方法を試してみる。

まず、長音階の7つの音を配列名Scaleに定義する。標準から3オクターブの範囲でこの7音からランダムに音を100個作ってみる。

//---------- ここから ----------

Array Scale = ({ド},{レ},{ミ},{ファ},{ソ},{ラ},{シ})
Str Note

[100 @(01)
o(RandomSelect(4,5,6)) l(RandomSelect(4,8)) Note=Scale(Random(1,7)) Note
]

//---------- ここまで ----------



音階や旋法を決めて作曲する場合は、配列を使う方が便利そうだ。