yoppa.org


Blog

Tidalでライブコーディング! – 応用編 : SuperColliderとの連携

注意!! : TidalCycles 0.8からSuperDirtが標準となり、SuperColliderとの連携も大幅に簡略化されました。新しいバージョンでの連携方法は下記を参照してください。

前回の「Tidalでライブコーディング! – 実践編」に引き続いて、応用編です。

Tidalは、基本はDirtというサンプルファイルを再生する専用のプログラムでサンプルを再生しています。しかし、TidalにはOSC (Open Sound Control) を送出する機能があります。このOSC機能を利用することで、SuperColliderやMax/MSP、Pdなど様々な外部の音源を使用してTidalで作成したパターンを再生することが可能です。

今回は、TidalをSuperColliderを連携してみます。

基本: 簡単なサンプル

まずは簡単なサンプルで試してみます。Sin波を生成する楽器をSuperCollider側に作成します。

ここで1つ注意すべき点は、Tidalから演奏する楽器は一度鳴らし始めると自動的に停止することはありません。ですので、あらかじめエンベロープを設定しておき、一定の時間で音が終了するよう、doneAction:2を設定したエンベロープを適用しておく必要があります。

SynthDefの作成が完了したら、SuperColliderをBootして、作成したSynthDefを実行しておきます。

これに対応するTidal側のプログラムを作成します。まず、SuperColliderで作成した楽器と連携する準備をします。まず楽器 “scsine” を定義して、引数の初期値を設定しています。その上で、SuperColliderに渡すTidal側の変数を定義します。

あとは、変数を使用してパターンを作成していきます。

応用: 2つの楽器を定義して演奏

少し複雑なサンプルをみてみましょう。まず2つの楽器 “schh” と “scbass” を用意します。

この楽器を演奏するためのTidal側のプログラムは以下のようになります。