見出し画像

Tidal Cycles - LFO

シンセサイザーを演奏したことがあれば、Sin, Triangle, Square といった、LFO ( Low-frequency oscillation ) でモジュレーションをかけるイメージが湧くと思います。
Tidal でも エフェクト関数にLFO を適用することができます。

d1 $ sound "bd*16" 
   # pan sine

上の例では、サイン波に従って pan の引数が 0 - 1 の間で変化します。
Tidal では、sine と sine1 が異なるレンジを担当していましたが、現在はエイリアスになり、同じ役割です。

sine に加えて、saw ( sawtooth ), tri (triangle), square, が用意されています。また、slow density を使うことで周期を変えることができます。

d1 $ sound "bd*16" 
   # pan (slow 8 $ saw)

d1 $ sound "bd*8 sn*8" 
   # pan (density 1.75 $ tri)

d1 $ sound "bd*8 sn*8" 
   # speed (density 2 $ tri)

以下を参考にして、異なる波形を組み合わせてみましょう。

d1 $ sound "bd*16" 
   # pan (slowcat [sine, saw, square, tri])
   
d1 $ sound "sn:2*16" 
   # speed ((range 0.5 3 sine) * (slow 4 saw))


範囲の設定

range に 最小値、最大値を与えることで、変化する領域を限定することができます。バージョンアップにより、scale から range に名前が変わり、scale は別の目的で使用されています。

d1 $ sound "bd*8 sn*8" 
   # speed (range 1 3 $ tri)

d1 $ sound "bd*8 sn*8" 
   # speed (slow 4 $ range 1 3 $ tri)

レンジの設定に ( - ) 負の数を与えることができますが、括弧で囲うように注意してください。

d1 $ sound "bd*8 sn*8" 
   # speed (range (-2) 3 $ tri)

ローパスフィルターでの使用例を聞いてみましょう。

d1 $ sound "hh*32" 
   # cutoff (range 300 1000 $ slow 4 $ sine) 
   # resonance "0.4"