ALSA PCMデバイスとしてJACK Audio Connection Kitを使用
「ALSAには対応しているがJACKには対応していない」というアプリケーションからでも、JACK経由でのPCM音声のやりとりが可能になる。
このALSAプラグインはオプション扱いで、alsa-libには含まれず、「alsa-plugins」の中に入っていて、Debianでは「libasound2-plugins」、Gentoo Linuxでは「alsa-plugins」(USE=jack)をインストールする。Ubuntuでは事情により「libasound2-plugins」から外されている。パッケージ検索結果から各バージョンごとのページに移動するとその事情について書かれているが、ビルドは自分で行う必要がありそう。
以下は、このプラグインを使用するための設定例。[ホームディレクトリ]/.asoundrcが既に存在する場合は追加し、無ければ作成する。
ファイル名: ~/.asoundrc
pcm.pjack { type plug slave.pcm pcm.jack } pcm.jack { type jack playback_ports { 0 alsa_pcm:playback_1 1 alsa_pcm:playback_2 } capture_ports { 0 alsa_pcm:capture_1 1 alsa_pcm:capture_2 } }
この設定を追加後、jackdデーモンを起動した状態でALSAのPCMデバイス名を「pjack」に指定して*1実行すればよい。
例として、SDL(ALSA向けにビルドされている必要がある)を使用したアプリケーションでは
$ AUDIODEV=pjack [SDLアプリケーション]
のような形で実行する。
*1:直接「type jack」なPCM(例では「pcm.jack」)を開いてもダメ