TaskかRoutineを用いて書いてみたかったけれども、思いつかなかったのでPtpar
を用いて書いてみた。
いつか「カエルの歌 無限輪唱」を書きたい。
PtparとPpar
Ptpar
はtime offset付きでparalell実行するPatternPpar
はtime offset無しでparalell実行するPattern
コード
//カエルの歌 //////////////////////////////////// ( var melody = [ 60,62,64,65,64,62,60, 64,65,67,69,67,65,64, 60,60,60,60, 60,60,62,62,64,64,65,65, 64,62,60]; var dur = [ 1,1,1,1,1,1,2, 1,1,1,1,1,1,2, 2,2,2,2, 0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5, 1,1,2]; var song = Pbind( \midinote,Pseq(melody,1), \dur,Pseq(dur,1), ); var tempo = TempoClock(120/60); /* Ptpar embed event streams in parallel, with time offset Arguments: list list of pairs of times and patterns: [time, pat, time, pat .. ]. repeats repeat the whole pattern n times. */ Ptpar([0,song,8,song,16,song],1).play(tempo); ) ////////////////////////////////////