るいもの戯れ言

前回の記事で、a2jmididを使ってブリッジしないと、jackでMIDIが利用できないと書いたが、私の勘違いだったようだ。qjackctlでalsaを使う設定をする時なのだが、

インターフェースのところに、MIDIだとMIDIデバイス(UM-1)を指定したくなるのだが、これではダメで、aplay -lで表示されるデバイスを指定する必要がある。


$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 2: PCH [HDA Intel PCH], デバイス 0: ALC887-VD Analog [ALC887-VD Analog]
  サブデバイス: 0/1
  サブデバイス #0: subdevice #0
カード 2: PCH [HDA Intel PCH], デバイス 1: ALC887-VD Digital [ALC887-VD Digital]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0

大事なのは、MIDIドライバーと書かれた項目で、ここにseq/rawを指定する必要がある。このseq/rawの違いは、ここの"Currently the two MIDI routing systems coexist, and this leads to some confusion."の部分が詳しい。かいつまむと、ALSA API経由でMIDI使うことが無いのなら、rawでok(rawだと、jackがデバイスを排他オープンするので、ALSA経由で利用できなくなる)。そうでなければseqを選ぶ。互換性的にはseqを指定しておく方が良さそう。こうしておけば、接続設定の中でMIDIのタブに表示されるようになるので、a2jmididは不要になる。