理性と感性の交差点

UbuntuとMacで音楽制作したときのメモ

Ardourにコントロールサーフェスを接続する(1)~準備~

概要

Ardourは一般的なDAWと同様にコントロールサーフェスを使用できます。 DAWユーザーの方はコントロールサーフェスをお使いの方が多いと思います。 またコントロールサーフェスの多くは一般的なDAWと簡単に接続できます。 しかし「Ardour対応」なんて謳われているコントロールサーフェスはほぼ 無く(私は見たことがない)、またArdourもコントロールサーフェスの接続に 少し癖があるようなので解説しておきます。別の方法もあるかもしれませんが あくまで私用のメモとして。

ここでは私が所有するKORG nanokontrol2を接続する例を紹介します。

ただ接続しただけだと使えない...

では、いざコントロールサーフェスを接続して、Ardourを起動します。

Ardourの「編集」→「環境設定」で設定画面を開き、左側のメニューに 「コントロールサーフェス」があるので開きます。「Generic MIDI」を 選択すると「プロトコル設定を表示」ボタンがアクティブになります。 ここを押すと「Incoming MIDI on:」とコントロールサーフェスの選択が できるのですが...

f:id:jjjtanaka:20200816175111p:plain
コントロールサーフェスの設定画面
f:id:jjjtanaka:20200816175212p:plain
プロトコル設定(nanokontrol2が表示されない)

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」を、 それぞれ記載しておきます。

f:id:jjjtanaka:20200816175313p:plain
qjackctlの設定→オプション

こうすることで、qjackctlでjackを起動すると自動的にALSAtoJackが起動し 終了時にも自動的に終了されます。

この状態であらためてArdourを起動してみると...、めでたく 「プロトコル設定を表示」→「Incoming MIDI on:」にnanokontrol2が 表示されました。

f:id:jjjtanaka:20200816175341p:plain
プロトコル設定(nanokontrol2が表示された)