TidalCycles struct legato の解説 day12

動画

コード

setcps(110/60/4)

d1 $ struct ("1 1 1 [1 0 <0 0 1 0> <0 1>]") $ s "Kick:6" # gain 1.1

d3 $ whenmod 16 15 (stut 4 1 0.065) $ n "~ 12 ~ 10" # s "Snare"
# legato (choose[0.2,1])

d4 $ swingBy (1/10) 8 $ s "HiHat*16" # gain "[1 0.8 1.3 0.8]*4"

d2 $ whenmod 24 20 (# speed "1.2") $ sometimesBy 0.2 (|+| sound "Noise")
$ every 14 (rev) $ swingBy (1/16) 8 $ whenmod 8 6 (stut' 6 0.065 (|* speed 0.95))
$ sometimesBy 0.1 (# room 0.9) 
$ struct ("1(5,16,<0 1 2>)") $ s "Chord" |+ n "5!6 <14 0>" 
# legato (choose[0.6,0.8]) # sz 0.9

d5 $ struct ("1 [0 1] 0 1 [0 1] 0 1 [0 1]") $ s " bass1:0"
# note 0 # legato (choose[1,1,0.9,0.6])

d6 $ s "Ambience/4" # n (range 5 10 rand) # speed "<-0.8 -2>/4"
# room 0.8 # sz 0.9 # cut 6

hush

このコードでは、サンプルにNative Instruments社のGrey Forgeを使用しているため、TidalCyclesの初期設定だと動画のようには再生できません。

struct

structは、パターンにboolean型の構造(structure)を取ることができます。

ブーリアン型(ブーリアンがた、: Boolean datatype)は、真理値の「真 = true」と「偽 = false」という2値をとるデータ型である。

https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%BC%E3%83%AA%E3%82%A2%E3%83%B3%E5%9E%8B

ざっくりいうと、パターンを、”bd bd ~ bd”という書き方ではなく、”1 1 0 1″や”t t f t”というように、2進数で書けるようになる、というのがstructです。

具体例を以下に記載しました。以下の3行は、同じ音が再生されます。

d1 $ s "808bd 808bd ~ 808bd"

d1 $ struct ("t t f t") $ s "808bd"

d1 $ struct ("1 1 0 1") $ s "808bd"

上記のように、パターンを作るのに、毎回808bdと書くのではなく、tとf、または1と0でパターンを作ることができます。

ちなみに、tはtrue、fはfalseという意味ですが、1と0で書いたほうが簡単です。

今回の動画では、structを使って、以下のように記述して4つ打ちのパターンを作成しました。

d1 $ struct ("1 1 1 [1 0 <0 0 1 0> <0 1>]") $ s "bd"

ちなみに、似た形ですが以下のようにgainを使用しても近いことはできます。

ただしこの場合は、sの前は#であることと、()があってもなくてもよいことに注意してください。

d1 $ gain "1 1 1 [1 0 <0 0 1 0> <0 1>]" # s "bd"

legato

legatoは、サンプルの音の長さを決めることができます。

legato x とすると、再生したサンプルはx秒まで再生されます。

例えば以下のようにすると、サンプル”bev”は0.5秒間だけ再生されます。

d1 $ s "bev" # legato 0.5

今回の動画では、ベース音の長さを調整するため、legato(choose[1,1,0.9,0.6])として、legatoの長さを1秒か0.9秒か0.6秒のいずれかが選ばれるように設定しました。

d5 $ struct ("1 [0 1] 0 1 [0 1] 0 1 [0 1]") $ s " bass1:0" # legato (choose[1,1,0.9,0.6])

コメントを残す

CAPTCHA