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