概要
Transitionsにはxfadeやanticipateなどがありますが、一気に切り替えるjump系のTransitionの挙動を確認したので解説します。
jump x $ s "pattern A"
コードを実行した瞬間にTrack xでpattern Aを再生開始する。
jumpIn x y $ s "pattern A"
コードを実行後、yサイクル経過したらTrack xでpattern Aを再生開始する。
例えばサイクルの長さの1/2のときにコードを実行した場合は、yサイクル目の1/2サイクル経過後に切り替わります。切り替えタイミングは、ビートには揃いません。
jumpIn' x y $ s "pattern A"
コードを実行後、yサイクル経過したらTrack xでpattern Aを再生開始する。
例えばサイクルの長さの1/2のときにコードを実行した場合は、yサイクル目の1/2サイクル経過後に切り替わります。切り替えタイミングは、ビートに揃います。
jumpMod x y $ s "pattern A"
コードを実行後、yサイクル経過したらTrack xでpattern Aを再生開始する。
例えばサイクルの長さの1/2のときにコードを実行した場合であっても、yサイクル経過後、サイクルの頭から切り替わります。
これらの挙動を見る限り、実践で使いやすそうなのは、サイクルの頭から切り替わるjumpModかと思いました。
実践
以下コードのd1を実行して再生したあと、jumpModのブロックのパターンを実行してみてください。
jumpModのブロックのコードを実行した2サイクル経過後に、$ slice 8 (“0 0 2*5 3… のパターンが再生されます。
d1
$ s"[bd(6,16),sn:1(2,8,2),hh*8]"
# room 0.2 # shape 0.3
jumpMod 1 2
$ slice 8 ("0 0 2*5 3 4*2 5 6 [7 0]") $ s"breaks125"
# room 0.2 # cut 1 # shape 0.3
その後、今度はd1をjump 1と書き換えて、上のブロックを実行してみてください。
実行した瞬間に、$ s”[bd(6,16),…のパターンが再生されます。
こうして切り替えを何度もしていくうちに、jumpの挙動が理解できるかと思います。