見出し画像

Tidalcycles - 周期性

パターンに周期性を与える

エフェクト関数をレイヤーすることで、周期的なバリエーションをパターンに与えることができます。

d1  $ every 5 (|+| speed "0.5") 
    $ every 4 (0.25 <~) 
    $ every 3 (rev) 
    $ sound "bd sn arpy*2 cp"
    # speed "[1 1.25 0.75 -1.5]/3"

every の 他に whenmod で条件を与えることができます。whenmod は 2つの引数をとります。
以下の例では、1 - 6 サイクル は、通常通りに再生され、7 -8 サイクルでは、パターンが逆再生されます。

d1 $ whenmod 8 6 (rev) $ sound "bd*2 arpy*2 cp hh*4"


“ Fills ”と “const”

先に紹介した、every / whenmod は 与えた条件に従って、パターンに周期性を与えるものでした。これを “ Fill “ と呼んでいます。

d1 $ every 8 (rev) $ every 4 (density 2) $ sound "bd hh sn cp"

d1 $ whenmod 16 14 (# speed "2") $ sound "bd arpy*2 cp bass2"

しかし、全く異なるパターンを使用したい場合はどうでしょう?
const 関数がこれを可能にします。
まずはどのような働きをするか見てみましょう。

d1 $ const (sound "arpy*3") $ sound "bd sn cp hh"

上の例では、 "arpy*3" が “bd sn cp hh” に完全に置き換わっています。
whenmod / every と組み合わせて、これに周期性を与えてみましょう。

d1 $ whenmod 8 6 (const $ sound "arpy(3,8) bd*4") 
   $ sound "bd sn bass2 sn"

d1 $ every 12 (const $ sound "bd*4 sn*2") 
    $ sound "bd sn bass2 sn"

(Creating Variation in Patterns)
https://tidalcycles.org/index.php/Tutorial