見出し画像

パターンをスタック/ 連結する

stack

“stack”によって、リストに含まれるパターンを全て同時に再生することができます。文字通り、「スタック」する。「レイヤー」させると考えても良いと思います。

d1 $ stack [
        sound "bd bd*2",
        sound "hh*2 [sn cp] cp future*4",
        sound (samples "arpy*8" (run 16))
]


スタックしたパターン全体に「関数」 や「エフェクト」を適用してみます。

d1 
    $ every 4 (slow 2) 
    $ whenmod 5 3 (# speed "0.75 1.5") 
    $ stack [
        sound "bd bd*2",
        sound "hh*2 [sn cp] cp future*4",
        sound (samples "arpy*8" (run 16)) ] 
    # speed "[[1 0.8], [1.5 2]*2]/3"


fastcat

fastcat は、パターンを次から次へ連結させていきます。

d1 $ fastcat [
        sound "bd sn:2" # vowel "[a o]/2",
        sound "casio casio:1 casio:2*2"
      ]

fastcat は、全体のパターンを一つのサイクルにネジ込むため、連結するパターンが増えるほど、テンポ感が早くなります。

d1 $ fastcat [
            sound "bd sn:2" # vowel "[a o]/2",
            sound "casio casio:1 casio:2*2",
            sound "drum drum:2 drum:3 drum:4*2"
           ]

cat

cat ( もしくはslowcat ) は、連結してもテンポ感は変わらずに、1サイクルの時間がどんどん 伸びていきます。

d1 $ cat [
        sound "bd sn:2" # vowel "[a o]/2",
        sound "casio casio:1 casio:2*2",
        sound "drum drum:2 drum:3 drum:4*2"
       ]

cat は 複数のシーケンスを組み合わせて、1つのパターンを作る際に、非常に便利な方法です。

さらに、randcat 関数というものがあります。
これは、[ ] に含まれる複数のパターンから、毎度ランダムに1つのパターンが選ばれて、再生されるというものです。
微妙に異なるパターンを複数スタックしておき、「どれが再生されるかわからない」という使い方も面白いと思います。


cut

キック、スネアなどの短いサンプルを使用してきましたが、長いサンプルを使って作業をすることもあるでしょう。

しかし、長すぎるサンプルでは音が鳴りっぱなしになり、思うようにコントロールできません。下の例では、arpy のスピードを遅くしているために、歯切れの悪いパターンになります。

d1 $ sound (samples "arpy*8" (run 8)) # speed "0.2"

cut エフェクトを使ってこれを解消します。
詳細には下の例の引数 “1” は、グループ ( cut group ) の割り当てを意味します。同じグループ内で次の発音があった際に、自動的にサンプルの再生が止まります。→Battery の Voice Group と同じ考えです。

d1 $ sound (samples "arpy*8" (run 8)) # speed "0.25" # cut "1"

内部処理で cut group は グローバルのため、複数のコネクションで同じグループを使用することはできません。

d1 $ sound (samples "arpy*8" (run 8)) # speed "0.25" # cut "1"

d2 $ sound (samples "bass2*6" (run 6)) # speed "0.5" # cut "2"

スタックとの併用

d1 $ stack [
 sound (samples "arpy*8" (run 8)) # speed "0.25" # cut "1",
 sound (samples "bass2*6" (run 6)) # speed "0.5" # cut "2" ]



( Composing Multi-Part Patterns )

https://tidalcycles.org/index.php/Tutorial