概要
TidalcyclesからAbleton LiveにMIDI信号を送るための事前設定をまとめました。この設定をすると、TidalcyclesからAbleton Liveのシンセを発音させたり、MIDI CCでエフェクトのパラメータを制御したりできるようになります。
著者環境
OS:Mac OSX High Sierra 10.13.6
Tidalcycles 1.7.2
Supercollider 3.10.3
Ableton Live 10
設定手順
Macのユーティリティから、Audio MIDI設定を開く。
Audio MIDI設定>ウインドウ>MIDIスタジオを表示 から、IAC Driverを選択し、ポートを追加して名前を適当につける。(この画像の場合tidal1と命名)
Supercolliderを起動し、SuperDirt.start実行後、画像のようにコードを追加し、「MIDIClient.init;」をCommand+Enterで実行する。このとき、.newByName(“IAC Driver”, “tidal1”)の箇所には、先程MIDIスタジオで設定したポート名をつける。実行後にエラーが出ないことを確認する。
MIDIClient.init;
(
~midiOut = MIDIOut.newByName("IAC Driver", "tidal1");
~dirt.soundLibrary.addMIDI(\midi, ~midiOut);
);
Ableton Liveを開き、環境設定>Link MIDI>MIDI Portsで、Input: IAC Driver(tidal1)のトラックとリモートをオンにする。
Ableton Liveの通常画面で、MIDIトラックを挿入し、MIDI入力を選択する部分をIAC Driver(tidal1)に設定する。
Tidalcyclesを開始する。Atomなどで、例えば以下のTidalcyclesのパターンを実行してみて、Ableton liveの右上の四角(下記画像参照)に反応があることを確認する。反応があれば、MIDIはAbletonに入力されているはず。
d1 $ n "0 1 2 3" # s "midi"
あとはDrum Rackにサンプルを追加して遊ぶもよし、シンセを使って鳴らすもよし、エフェクトをCCで制御するもよし、と可能性が広がりますね。
TidalcyclesでのMIDIの取扱い
Tidalcyclesでどう記載したら意図したMIDIが送れるか、については公式サイトを読んでください。
https://blog.tidalcycles.org/category/how-to/
noteの扱い、MIDI Channelの設定、CCの扱いなどが記載されています。
参考まで、私が作ったコードを記載しておきます。
midiで使えそうなのが、stut,ply,rev,fast,offなどのパターンを変更する機能です。また、gainで音量を変えることもできました。
一方、使えなくて不便なのが、speed,hurry,slice,loopAtなどのsample自体を変更する機能です。speed”-1″やpanを使えないので注意してください。
また、Tidalで# n”0″とか# n”c5″とか記載したときに、それがAbleton Liveではどの音に当たるか、をまとめました。ややこしいです。
Tidalcycles | Tidalcycles | midi note number | Ableton Live DrumRack |
# n “0” | # n “c5” | 60(真ん中のド) | C3 |
# n “-12” | # n “c4” | 48 | C2 |
#n “-24” | # n “c3” | 36 | C1 |
# n “-36” | # n “c2” | 24 | C0 |
# n “-48” | # n “c1” | 12 | C-1 |
# n “-60” | # n “c0” | 0 | C-2 |
Ableton liveのインストゥルメントは、Drum RackはC1、 ImpulseはC3から始まることが多いように見えました。ここを意識すれば、「なんかMIDIは通信できてるけど音が出ない」に対処できると思います。
おまけ
SuperDirt.start;を毎回実行するのは面倒ですよね。
以下サイトのようにSupercolliderのstartupfileを設定して、Supercollider起動時にSuperDirt.startを自動実行するようにできます。このサイト記載のs.waitForBoot{}の中にMIDIClient.initを入れたら、MIDI設定も自動実行できました。
http://verytired.hateblo.jp/entry/2019/02/13/114506
参考サイト
https://webmidiaudio.com/npage503.html