Ardourにコントロールサーフェスを接続する(1)~準備~
概要
Ardourは一般的なDAWと同様にコントロールサーフェスを使用できます。 DAWユーザーの方はコントロールサーフェスをお使いの方が多いと思います。 またコントロールサーフェスの多くは一般的なDAWと簡単に接続できます。 しかし「Ardour対応」なんて謳われているコントロールサーフェスはほぼ 無く(私は見たことがない)、またArdourもコントロールサーフェスの接続に 少し癖があるようなので解説しておきます。別の方法もあるかもしれませんが あくまで私用のメモとして。
ここでは私が所有するKORG nanokontrol2を接続する例を紹介します。
ただ接続しただけだと使えない...
では、いざコントロールサーフェスを接続して、Ardourを起動します。
Ardourの「編集」→「環境設定」で設定画面を開き、左側のメニューに 「コントロールサーフェス」があるので開きます。「Generic MIDI」を 選択すると「プロトコル設定を表示」ボタンがアクティブになります。 ここを押すと「Incoming MIDI on:」とコントロールサーフェスの選択が できるのですが...
KORG nanokontrol2は選択肢に表示されません。
ふむふむ、「MIDI capture1」という選択肢はあるのでJACKやALSAで ここに接続してやればよいのだな、と思いqjackctlの画面など弄って みますが、それも容易ではないようです。
ALSAtoJack
いろいろ調べていると下記を見つけました。
どうやらALSAtoJackというサービスを使えばよいようです。
詳しいことは置いておいて、a2j_controlというコマンドをそれなりに 叩けば、Jackで認識されてないMIDI機器がJack上で使えるようになる、 ということです。
ただしArdourを起動するたびにコマンドを叩くのは面倒です。そこで 以下のスクリプトを用意し、jackの起動にあわせて実行されるように 組み込んでみます。
スクリプト
私は以下のスクリプト2本を組みました。組むというほどじゃないけど。
a2j_start.sh:
#!/bin/sh
a2j_control ehw
a2j_control start
a2j_stop.sh:
#!/bin/sh
a2j_control stop
これだけ。これを~/binなどに保存しておきます。
jackへの組み込み
私はjackの起動をシステムに任せずにqjackctlから起動されていますので qjackctlの設定に上記スクリプトを組込むことにしています。
qjackctlの「設定」→「オプション」タブの 「スタートアップ後にスクリプトを実行」に「a2j_start.sh」を、 「シャットダウン時にスクリプトを実行」に「a2j_stop.sh」を、 それぞれ記載しておきます。
こうすることで、qjackctlでjackを起動すると自動的にALSAtoJackが起動し 終了時にも自動的に終了されます。
この状態であらためてArdourを起動してみると...、めでたく 「プロトコル設定を表示」→「Incoming MIDI on:」にnanokontrol2が 表示されました。