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サイクル使ってパターンを再生
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なんだけど、#は|=|の意味だとか、わからないこと言い始めたので、ここで一回終わり
コメント
コメントを投稿