【Tidal】構文を今度こそ学ぼう・その3

■ パターンの記譜法を知ろう

●「$rev」リバース

通常のパターンは、表記された引数を左から順番にSuperDrifシンセサイザーに実行させます。「$rev」関数を$sound関数の前に表記することで、右から実行させます。


●「~>」「<~」タイムシフト

通常のパターンは、表記された引数通りに実行しますが(一部例外はあるものの)、「$every」関数を利用すると演奏のタイミングを進めたり遅れたりさせることが可能になります。例えば下のパターンの場合は、「4回に1度、演奏を1/4(0.25)進めた状態で引数を演奏する」となります。
「~>」が進めたい場合、「<~」遅れさせたい場合に利用します。

d1 $every 4(0.25 ~>) $rev $s "[bd2 [cd2, hc*3]]/0.5"

●「< >」オルタネート

パターン内に「< >」と表記することで、パターン内の引数を交互に入れ替えることが可能になります。例えば、下のパターンの場合は……

d2 $ s "bd <[hh sn] [hh cp]>"
-- ↓どちらも演奏すると同じ内容になる
d2 $slow2 $ s "bd [hh sn] bd[hh cp]"

●「{ }」ポリメトリック

前回の「[ ]」を利用してポリリズム(拍の一致しないリズムが同時に演奏されること)に、演奏中に変化を与えます。最後のパターンのリズムスピードが、直前のパターンのリズムスピードに合わせて変化をしていきます

d1 $ s "{bd*2, hh*4, bd hh 808:4}"
-- ↓解釈すると次のようにある。動き的にはオルタネートに似ている
[bd bd, hh hh hh hh, bd hh 808:4 bd]→[bd bd, hh hh hh hh, hh 808:4 bd hh]……以下ループ