水曜日, 10月 11, 2006

「サクラ」でMML演習6(続き3)

今日は、素敵な即興演奏講座6で使っているフレーズの「三連符」の音を、プログラムでランダムに作ったら面白い作品ができるのではないかと考え、プログラムを作成してみた。

今日のポイントは、指定の音域の音をランダムに作るという方法だ。

関数NoteNoは、引数で指定されたMMLの音を数値にして返す。例えば、次のようにすれば、中央「ド」の下の「ラ」から、その1オクターブ下の「ミ」までの音がランダムに作られる。

n(Random(NoteNo(o3ミ),NoteNo(o4ラ)))

下のプログラムには、左手のための音を作る関数Lnote()と、右手の音を作る関数Rnote()を定義してある。

//_______ ここから _______________

Function Lnote(){Result=n(Random(NoteNo(o3ミ),NoteNo(o4ラ)))}
Function Rnote(){Result=n(Random(NoteNo(o4ソ),NoteNo(o6レ)))}

Tempo(60)

TR(1) q120 v.Random(60) 音色(Vibraphone)
TR(2) q100 v.Random(60) 音色(Vibraphone)

[4
TR(1) [12 l4 Lnote()] [1 l1 Lnote()]
TR(2) [12 l12 r [2 Rnote()]] [1 r [5 Rnote()] l4 [2 Rnote()]]
]

//_______ ここまで _______________



音源は、昨日と同じSynth1を使っている。