月曜日, 7月 24, 2006

「サクラ」で沖縄音階を作ってみる

サクラ」には、「サクラ」のシステムが初期状態で持っている設定値を一時的に変更するSystemオプションというのがある。

Systemオプション
http://oto.chu.jp/doc/reference/system.htm

この中に、System.KeyFlagというのがある。System.KeyFlagというのは、「サクラ」でシステム的に決めている音階(ラ,シ,ド,レ,ミ,フ,ァ,ソ)を一時的に変更してしまうというコマンドだ。-1で半音、-2で全音下げることができるのだ。

例えば次のように定義してみる。

System.KeyFlag=(-2,0,0,-2,0,0,0)

これで標準の音階を。下のような音階に変更したことになるのだ。

ラ・シ・ド・レ・ミ・ファ・ソ

ソ・シ・ド・ド・ミ・ファ・ソ

つまり、ド・ミ・ファ・ソ・シの5つの音しかない5音階になるのだ。これは、いわゆる沖縄音階になる。

そこで、昨日のプログラムを変更して、このSystem.KeyFlagを定義してみる。

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

Array Scale = ({ド},{レ},{ミ},{ファ},{ソ},{ラ},{シ})
Str Note
System.KeyFlag=(-2,0,0,-2,0,0,0)

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

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



確かに沖縄風の音だ。このSystem.KeyFlagを使えば、いろんな民族音楽で使われている音列を簡単に生成できるかもしれない。