「サクラ」でMML演習5(続き-2)
今日は、ピアノのための「素敵な即興演奏講座5」の最後の部分(それでも沖縄をピアノでオシャレに弾きたいときは・・・)を「サクラ」のMMLで書いてみる。「素敵な即興演奏講座5」の内容については、20日のエントリーを参照してください。☆の音をランダムにパラパラと・・・という部分は、昨日つくったSwingR(DF)関数を使うことにする。
トラックのタイミングを合わせるのにTimeコマンドを使ってみた。
トラックのタイムポインタを指定する
http://oto.chu.jp/doc/command/26.htm
//_______ ここから _______________
Array O5 = ({ド},{ミ},{ファ},{ソ},{シ},{`ド},{`ミ},{`ファ})
Int N Int N1 Int N2 Int PanR=70 Int PanL=50 Int Pos
Function SwingR(DF){
#ML1={} #ML2={}[8
N1=Random(0,5) N2=Random(0,5)
#ML1=#ML1+O5(N1)+{4.}+O5(N2)+{8}
#ML2=#ML2+O5(N1+DF)+{4.}+O5(N2+DF)+{8}
]
N=Random(0,5)
#ML1=#ML1+O5(N)+{1} #ML2=#ML2+O5(N+DF)+{1}
Result=#ML1
}
#ML1={} N=0 [5 #ML1=#ML1+O5(N) N++]
#ML2={} N=4 [5 #ML2=#ML2+O5(N) N--]
TR(1) P(PanR)
ペダル N=5 [4 o(N) l16 #ML1 N++] N=8 [4 o(N) l16 #ML2 N--] r1 放す
Pos=Time
#ML1=SwingR(0)
#ML2={'}+O5(0)+O5(1)+O5(2)+O5(3)+O5(4)+{'}
TR(1) P(PanR) o7
ペダル #ML1 放す
TR(2) P(PanR) o5 Time(Pos)
ペダル q127 l1 #ML2^^^^ 放す
#ML1=SwingR(0)
#ML2={'}+O5(3)+O5(4)+O5(5)+O5(6)+O5(7)+{'}
TR(1) P(PanR) o6
ペダル q127 l1 #ML2^^^^ 放す
TR(2) P(PanR) o5
ペダル #ML1 放す
#ML1=SwingR(0)
#ML2={'}+O5(0)+O5(1)+O5(2)+O5(3)+O5(4)+{'}
TR(1) P(PanR) o6
ペダル #ML1 放す
TR(2) P(PanR) o5
ペダル q127 l1 #ML2^^^^ 放す
#ML={} N=1 [4 #ML=#ML+O5(N)+{16} N++] #ML=#ML+O5(5)+{1}
TR(1) P(PanR) o6
ペダル r2 #ML r1 放す
//_______ ここまで _______________
明日は、もう一度全体を見直し、3つの部分を統合したものを載せてみたいと思います。時間があったらmp3にしたものもアップする予定です。
今回はピアノでやってみたのだが、メロディーを歌ってみるという部分もあるので、これも課題にしておきます。
0 Comments:
コメントを投稿
<< Home