TidalCycles触ってみる その1

音が出たので、チュートリアルへ

https://tidalcycles.org/patterns.html
それぞれは、Command+Enterで更新されていく。

基本

d1 $ sound "bd bd"
d1 $ s "bd bbd"

TidalはSuperDirtのd1-d9のシンセと接続される。
"bd"という音が1サイクルに1度再生される。
soundでもsでも同じ

d1 silence

d1の音が止まる。

d2 $ sound "sd"

d2シンセで"sd"という音が再生される。

hush

全てのシンセの音を止める。

solo $ d1 $ sound "bd"

d1のみを演奏。soloの解除は今の所見当たらない。

d1 $ sound "bd:1"
d1 $ sound "bd" # n "1"

SuperColliderで、
Quarks.gui; Dirt-Sample, Local path Open Folder....
とすると、サンプルが設置されているフォルダが表示される。
bdはフォルダ名で、その中に複数のwavファイルが存在している。
:1は1番目のファイル、ということになる。ファイル名で順番決めてるのかな...
0からスタートで、ファイルがなかった場合は、剰余が適応される。

デフォルトサンプル

https://github.com/tidalcycles/Dirt-Samples

808xx
BD: BassDrum, CY: Cymbal, HC: HiConga, HT: HiTom, LC: LowConga, LT: LowTom, MC: MidConga, MT: MidTom, OH: Open HiHat, SD: SnareDrum

808
CB: Cowbell, CH: Closed HiHat, CL: Claves, CP: HandClap, MA: Maracas, RS: RimShot

何があるかみとかないとね

Cycle基本

d1 $ sound "bd sd:1"
d2 $ sound "hh hh hh hh"

Cycleはループの基本となる小節みたいなものと考えればいいようだ。ずっとループ再生される。ポリリズムが簡単に記述できる。

cps(140/120)

Cycle per seconds

パターン基本

d1 $ sound "bd [sd sd]"

[]で括ることによって、どんどん分割することができる

d1 $ sound "[bd bd bd bd, sd cp sd cp]"

レイヤー化可能

d1 $ sound "bd <arpy:1 arpy:2 arpy:3>"

サイクル毎に鳴らす音を変えることが可能

d1 $ sound "bd*2"

繰り返しを意味する。d1 $ sound "bd bd"と同じ。でも、ちょっと意味を考えた方がよさそうだ。
d1 $ sound "bd*3 bd*4"
d1 $ sound "bd bd bd bd bd bd bd"
は異なる。

d1 $ sound "bd/2"

2サイクルに1回しか再生しない。これはうまく使うと面白そう。
d1 $ sound "bd bd/2 bd bd"
とかできるわけだ。

組み合わせ

d1 $ sound "[bd sn sn*3]/2 [bd sn*3 bd*4]/3"
とかいろいろできるようだけど、どう組み合わされてるかよく考えないと、簡単にこんがらがりそう。

関数によるパターンの変更

d1 $ rev (sound "bd*2 [bd [sn sn*2 sn] sn]")

逆再生。もちろん、演奏データの。

d1 $ every 4 (rev) (sound "bd*2 [bd [sn sn*2 sn] sn]")

everyは4回に一回、パターンをrevせよ、という風に利用できる。

d1 $ slow 4 $ sound "bd*2 [bd [sn sn*2 sn] sn]"
d1 $ fast 4 $ sound "bd*2 [bd [sn sn*2 sn] sn]"

速くしたり、遅くしたりする。サイクルの考え方は、どうなってるかな...
slowにすると、例えばこの例だと4サイクル使ってパターンを再生
fastにすると、1サイクルの中で4回繰り返してるな。

d1 $ every 4 (fast 4) $ sound "bd*2 [bd [sn sn*2 sn] sn]"

ここまでで、everyがとれる関数はrev, slow x, fast xということがわかる。
$ sound "bd*2 [bd [sn sn*2 sn] sn]
(sound "bd*2 [bd [sn sn*2 sn] sn])
どちらでも、同じことになった。まだ、()と$の違いよくわからないな。

d1 $ sound (every 4 (fast 4) "bd*2 [bd [sn sn*2 sn] sn]")
でも一緒なのか。復習必要そうだ...

使える関数一覧

https://tidalcycles.org/functions.html
palindrome, brak, degrade, degradeBy, fast, fit, iter, jux, juxBy, linger, Beat rotation, rev, scramble, shuffle, slow, smash, spread, toScale, trunc, zoom,
等あるらしい。ここをどれだけ攻略できるかで、やれること変わりそう!

Sample Transformersも存在している。

エフェクト基本

d1 $ sound "bd*4" # crush "4"

#を使って、エフェクトをかけられる。

d1 $ sound "bd*4" # crush "4" # speed "2"

エフェクトをチェインもできる

d1 $ sound "bd*4" # gain "1 0.8 0.5 0.7"

エフェクトパラメーターはパターンなのであったぁ...

d1 $ sound "bd*4 sd*4" # crush "4 1 2 1" # gain (every 4 (rev) $ "1 0.9 0.7 0.3 0.1 0.8 0.5 0.7")

パターンはサイクル基本でかかってくるね。

d1 $ gain "1 0.8 0.5 0.7" # sound "bd"
d1 $ sound "bd" # gain "1 0.8 0.5 0.7"

順番を変えられるようだが、効果が変わるよ。要注意!上は4回なるけど、下は1回

次、Modifying effect valuesなんだけど、#は|=|の意味だとか、わからないこと言い始めたので、ここで一回終わり

コメント

人気の投稿