見出し画像

TidalCycles リズムを構築する

久々にTidalCycles (以下: Tidal) を触るので、今一度基本的な文法を復習しようと思います。起動方法は省略します。

1. いわゆるテクノの4つ打ち

d1
 $ sound "bd bd bd bd"

d1 silence

hush

d1 - これは「リズム(シーケンス)のレイヤー」というイメージです。Tidal では、d1 ~d9 まで、最大9つのリズムを記述して、各々を詳細にコントロールすることができます。また、d1 から $ ... とどんどんコードが増えて行きますが、レイヤーを構成する塊が 1 行以上改行しないように注意します。

$ sound "bd bd bd bd"  - ここでメインのリズムを記述しています。"bd" は音色です。( bd - Bass Drum)これは、HHSuperCollider の 参照している[ Dirt-Samples ] フォルダー内の [ bd ]フォルダーの、一番上の音源を再生しています。例えば、[Dirt-Sample]に自分の音源を入れれば、より作り込んだ音色で演奏ができます。

d1 silence - これで [ d1 ] レイヤーの演奏が停止されます。ライブパフォーマンスを考える際に、d1 は キック d2 は ハットみたいに棲み分けて、各レイヤーを再生・停止することで変化を表現することが可能です。

hush - [d1] [d2] [d3] ... と複数のレイヤーを同時に演奏している際、この一行を実行することで、全てのレイヤーが停止されます。

d1
 $ sound "bd*4"

最初のコードを [ * ] を使うことで上のようにまとめることができます。簡単に言えば繰り返しです。

d1
 $ s "bd*128"

こんなこともできます。$ sound は、$ s と省略できます。

少し込み入った話ですが、Tidal は、SuperCollider で音響生成をしていますが、例えばDAW上に立ち上げたプラグインにMIDIデータを送ったり、MIDI CC を扱うこともできます。しかし、僕が試した限りですが、MIDI (特にMIDI CC)を扱う場合、ノート単位で作り込むと全く音が出なくなりしました。対して上のコードは音響の生成を行なっているので、多くのノートを扱いますが、正確に処理されます。

2. レイヤーを追加する

d1
 $ s "bd*4"

d2
 $ s "~ hc ~ hc ~ hc ~ hc"

先ほどの、バスドラに、裏拍をとるハイハットを加えました。[ ~ ] は休符を意味しています。

d1
 $ s "bd*4"


d2
 $ s "[~ hc]*4"

[ ] で囲まれたところは、一つの塊、ブロック、として扱えるため * と組み合わせてこのように書き換えられます。

3. Tidal でリズムを構築する 僕の捉え方

Tidal は、1つのループを Cycle (サイクル)として取扱い、サイクル内のノート数に応じて そのサイクルを分割します。

d1
 $ s "bd bd bd"

d2
 $ s "hc hc hc hc hc"

サイクルを 1小節 と考えた方が分かりやすいと思います。

まず d1 レイヤーで [ bd ] が 3 つ。ということは、一つのサイクルが3分割されるので、3分音符と同じです。

d2 では、[ hc ]が、5つ = 5分音符。なのでこれは 3分と5分が共存する、簡単なポリリズムになり思います。(3分音符 - 5分音符 という表現は適切ではないですが、僕はそのように解釈しています。)

d1
 $ s "bd*3 [hc*4 ~ ]"

先ほど出てきたように [ ] で囲った部分は一つのノートとしてカウントされるので、ここでは ここでは bd*3 と [] の中とで、大きく2分割されています。

では、bd 一つあたりは何分音符でしょうか?

まず、大きなブロック( bd , [ ] )が二つあるので / 2 。その中を * でさらに3分割するので、/ 3 。よって、6分音符です。

次に hc はどうでしょうか?

まず bd と同じく、大きく2分割された中で、hc*4~ で2分割されています。さらにその中で4回繰り返しがある。= 1 cycle / 2 / 2 / 4 = 16分音符です。

もちろん人によって解釈が変わりますが、つまりは、音価を自在に構築することができるのです!

DAW内では、「ここからここまでが8分で ... 次にクラップが3分の速さで 3回 ... 最後に 19分の速さで ハイハットが 10回鳴って はじめに戻る」みたいなことを正確に打ち込むことは不可能、もしくは相当時間がかかります。

コードを書くと体感としてわかると思いますが、コードを足し続けて行くと、全く想定外のリズムを構築できます。

4. まとめ

市販のシーケンサーや、DAWソフトウェエアとは、全く違う捉え方がで、直感的にリズムを組み立てることができるのが、一番の面白いと思います。