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
を読めとある

パターンを作ってくれるようだが、きちんと読まないとよくわからん。

使いこなすにはちょっとしらべなきゃ、っぽいので、次へ

テンポ

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を終えておこう。






コメント

人気の投稿