do-loopのネスト
yoppaさんのなかなか良いサンプルができたのSynthDefがとてもきれいで感動した。RLPFのcutoff frequencyをLFNoiseで動かしているのだけど、右と左でcutoffの周期が違うので立体感が増すように感じる。こんな風に作れたらなぁ。。
今回作ったもの
SynthDef
- yoppaさんがSawを3つステレオで重ねていたのを
パkインスパイアして、4つほど重ねてみる。 - freq * 2 => 1オクターブ
- freq * 4.5 = freq * 3 * 3/2 = freq * (3/2) * (3/2) * 2 => (完全五度上の完全五度 = 長9度?)の1オクターブ
- freq * 6 = freq * 2 * 2 * (3/2) => 完全五度上の2オクターブ
- yoppaさんがSawを3つステレオで重ねていたのを
Routine
- i = 0の時, 2**(i+1) = 2, (2**i).reciprocal = 1 => 四分音符を2拍
- i = 1の時, 2**(i+1) = 4, (2**i).reciprocal = 1/2 => 八分音符を4拍
- i = 2の時, 2**(i+1) = 8, (2**i).reciprocal = 1/4 => 十六分音符を8拍
コード
( SynthDef(\h, { arg freq = 48; Out.ar(0,( LFTri.ar([freq,freq-5]) + LFTri.ar([freq * 2 + 1,freq * 2 - 1]) + LFTri.ar([freq * 4.5 + 1,freq * 4.5 + 2]) + LFTri.ar([freq * 6 - 2,freq * 6 + 5]) ) * 0.1 * EnvGen.ar(Env.perc,doneAction:2) ); }).add; ) ( ~r = r({ inf.do({ 3.do({|i| ( 2**(i+1) ).do({ Synth(\h,[\freq,48*(i+1)]); (2**i).reciprocal.wait; }); }); }); }); ) ~r.reset; ~r.play(TempoClock(144/60));