TidalCycles触ってみる その2
オペレーター基本
#は|=|と同じ意味。
|=|はパターンを結合するための特別な何か。ここでは説明しないらしい。
今覚えておくべきことは
|=|はパターンに等しいエフェクトの値を設定する
ということらしい。
d1 $ (|=| speed "2") $ sound "arpy*4" |=| speed "1"
この場合、speedはいつも2...うーむ。オーバーライドする、と書いてある...
d1 $ every 2 (|=| speed "2") $ sound "arpy*4" |=| speed "1"
条件をつけることもできる
オペレーターの種類
|+|, |-|, |*|, |/|
というのがあるようだ。あ、そういうことか。
右の方に書いてある値に対して計算して設定する、という意味になるのか。
使いこなしたいな。
エフェクト基本
よく使うのは
gain, pan, shape, vowel, speedらしい。
https://tidalcycles.org/functions.html#synth_parameters
数値パターンの簡略化
d1 $ sound "arpy(3,8)" # n "2"
d1 $ sound "arpy(3,8)" # n 2
2を外していいのはわかるけど、arpy(3,8)って今まででてきたっけ...
d1 $ n (off 0.125 (+12) $ off 0.25 (+7) $ slow 2 $ "0(3,8) [5 7]") # sound "supergong"
ここもすごく復習必要だ!!!
d1 $ n "[0..7] [3..1]" # sound "supergong"
d1 $ n "[0 1 2 3 4 5 6 7] [3 2 1]" # sound "supergong"
同じ意味ってかいてあるけど、上ならない...
サンプル再生スピード(音程)
d1 $ speed "1 0.5 2 1.5" # sound "arpy"
再生スピードを変えると、ピッチかわるね。
d1 $ sound "arpy*4" # speed "[1, 1.5, 2]" # gain "[0.5, 0.5, 1]"
和音はこれでできちゃうな。
d1 $ up "0 1 2 3 4 5 6 7 8 9 10 11" # sound "arpy"
upでも音程が変わるけど、こっちは、半音ごと
d1 $ up (run 12) # sound "arpy"
d1 $ up (run 12*3) # sound "arpy"
これで駆け上がってくれるようだけど、*3つけたりはつかえるな
ユークリッドシーケンス
なんじゃこりゃ?
http://cgm.cs.mcgill.ca/~godfried/publications/banff.pdf
http://cgm.cs.mcgill.ca/~godfried/publications/banff.pdf
を読めとある
パターンを作ってくれるようだが、きちんと読まないとよくわからん。
使いこなすにはちょっとしらべなきゃ、っぽいので、次へ
テンポ
CPSはサイクル/(秒)BPMにしたければcps(140/60/4)のようにすればよい
Run関数
最大値にあわせて、整数のパターンを返す。run 8 で"0 1 2 3 4 5 6 7"が返るってことかな。
run 8*2 で"0 2 4 6 8 10 12 14 "が返ってるっぽい。
(アルゴリズム的な)サンプルの選択
d1 $ sound "arpy:0 arpy:2 arpy:3"d1 $ n "0 2 3" # s "arpy"
は同じもの
d1 $ sound $ samples "drum*4" "0 1 2 3"
d1 $ sound "drum:0 drum:1 drum:2 drum:3"
d1 $ (run 4) # s "drum"
d1 $ sound $ samples "drum*4" (run 4)
これ全部一緒っぽい。
d1 $ s "drum arpy cp hh" # n (run 10)
d1 $ n (run 10) # s "drum arpy cp hh"
これは別もの
うーーん。まだ$,#あたりがよくわからないけど、次へ
パターンの結合
d1 $ sound "bd sn drum arpy" # pan "0 1 0.25 0.75"これは、二つのパターンを結合していることになる。
soundパターンとpanパターン
特別なパイプオペレータが
|=|,|+|,|-|,|*|,|/|
で、
#は|=|を短くしたもの。
このパターンの場合は
d1 $ pan "0 1 0.25 0.75" # sound "bd sn drum arpy"
のように#の両サイドを交換しても音は変わらない。
大事なのは、左側のパターンが結果としてのリズム構造を決定しているということ。
cps (125/60/4)
d1 $ pan "0 1" # sound "breaks125"
これをやると、左と右で同じパターンが聞こえる。
あくまで、pan "0 1"のタイミングで発音し、それが右で1パターンしか「指定してないからそうなるってことか。一回発音されたことは、あとで変更きかないってことだな。
逆に言えば、tidalだと、発音のタイミングでしかエフェクトをかけられないってこと。
d1 $ sound "breaks125" # pan "0 1"
これをやっても、pan の1はシカトされるし...
d1 $ up "0 0*2 0*4 1" # sound "[arpy, bass2, bd]"
複雑ー。arpyは音が変化するけどbass2, bdは変わってないな
つぎつぎー
連続したパターンと発振機(オシレータ)
連続したパターン
d1 $ sound "bd*16" # pan sine
あー、これはこうなるわけね。
sine, saw, tri, squareがあるようだ。
d1 $ sound "bd*8 sn*8" # pan (slow 8 $ sine)
d1 $ sound "bd*8 sn*8" # pan (density 1.75 $ sine)
などが使える。また、
d1 $ sound "bd*16" # pan (slowcat [sine, saw, square, tri])
d1 $ sound "sn:2*16" # speed ((scale 0.5 3 sine) * (slow 4 saw))
面白いけど、まだよくわからん...つぎー
オシレーターのスケール(幅)
d1 $ sound "bd*8 sn*8" # speed (scale 1 4 $ tri)
これで4倍幅ってことだな。
d1 $ sound "hh*32" # cutoff (scale 300 1000 $ slow 4 $ sine) # resonance "0.4"
まだ$,#がわかってないなー...つぎー
休符
d1 $ sound " bd bd ~ bd"
これ、もう少し早めにでてきても良かった気がするけどOK
ポリミーター
ポリリズムが一つの長さの分割方法を変えた複数パターンなのに対して、
ポリミーターは、テンポは一緒だけど、構成する要素数が異なるものを複数パターン演奏することってことになるか
d1 $ sound "{bd hh sn cp, arpy bass2 drum notes can}"
発音タイミングは同じ。ただ、一つずつずれていく。
d1 $ sound "{~ ~ ~ ~, arpy bass2 drum notes can}"
d2 $ sound "breaks125"
がわかりやすいか。
1行目は
d1 $ sound "{arpy bass2 drum notes can}%4"
ともかける。
参考
https://music.stackexchange.com/questions/10488/polymeter-vs-polyrhythm
時間をシフトする
パターンをシフトの方がしっくりくるかな
d1 $ (0.25 <~) $ sound "bd*2 cp*2 hh sn"
cpがcycleの頭でなってる。
d1 $ every 3 (0.25 <~) $ sound "bd*2 cp*2 hh sn"
これは使えそうだな。
ランダム性の紹介
ランダム性
まってました!
小数点のランダムパターン
d1 $ sound "arpy*4" # pan (rand)
これで、0から1
d1 $ sound "arpy*4" # pan (scale 0.25 0.75 $rand)
これで0.25から0.75
整数のランダムパターン
d1 $ s "arpy*8" # n (irand 30)
50%のランダムパターン
d1 $ sound "bd sn? cp hh?"
sn,hhを叩いたり叩かなかったり
d1 $ sound "bd? sn? cp? hh?"
d1 $ sound "[bd sn cp hh]?"
同じっぽい。
d1 $ sound "bd*16?"
d1 $ degrade $ sound "bd*16"
同じっぽい。
degradeBy,sometimesByを使うと、50%でなくなる。
d1 $ degradeBy 0.25 $ sound "bd*16"
75%音がなるか?...
d1 $ sometimesBy 0.25 $ sound "bd*16"
25%音がなくなるか?
d1 $ sometimesBy 0.75 (# crush 4) $ sound "bd arpy sn ~"
面白いな...
sometimes = sometimesBy 0.5
often = sometimesBy 0.75
rarely = sometimesBy 0.25
almostNever = sometimesBy 0.1
almostAlways = sometimesBy 0.9
と定義されているよう。
d1 $ rarely (# crush 4) $ sound "bd*8"
こんな使い方
この辺で、一度その2を終えておこう。
コメント
コメントを投稿