Wine の音声を、PulseAudio を経由せずに、ALSA の、JACK 用出力モジュールを用いて、JACK Audio Connection Kit に出力する
1. 以下の、ALSA の、JACK 用 PCM 出力モジュールがあるか、確認
● x86_64 のパッケージ
/usr/lib/x86_64-linux-gnu/alsa-lib/libasound_module_pcm_jack.so
>> 上記ファイルが無ければ、libasound2-plugins をインストールする
● x86 のパッケージ
/usr/lib/i386-linux-gnu/alsa-lib/libasound_module_pcm_jack.so
>> 上記ファイルが無ければ、libasound2-plugins:i386 をインストールする
※Ubuntu Studio 22.04 LTS には、デフォルトでインストールされていたと思う
2.ALSA が、JACK の出力を使用するための定義を、~/.asoundrc という、ALSA の設定ファイルに記述する
# ~/.asoundrc というファイルが無ければ、~/ に、.asoundrc という名前のファイルを作成する
>> ~/.asoundrc に、次の内容を記述する
pcm.jackplug {
type plug
slave.pcm "jack"
}
pcm.jack {
type jack
playback_ports {
0 system:playback_1
1 system:playback_2
}
}
3.Wine から、JACK へ出力するために、Wine のレジストリを設定する
# Wine のレジストリエディターを開く
wine regedit
# Wine で、ALSA のサウンド出力ドライバを使用する設定
>> HKEY_CURRENT_USER\Software\Wine\Drivers に、新規 > 文字列値 を追加、Audio という名前の項目を作成する
>> Audio という名前で、REG_SZ という型の項目が出来たら、それをダブルクリックするか、右クリックから変更を選択
>> データの欄に、alsa と記述
# ALSA の出力先を、~/.asoundrc で記述した、JACK の出力( jackplug )にする設定
>> HKEY_CURRENT_USER\Software\Wine\Drivers\winealsa.drv というキーがあるか確認、無ければ作成する
>> HKEY_CURRENT_USER\Software\Wine\Drivers\winealsa.drv というキーが出来たら、そこに、ALSAOutputDevices という項目を、複数文字列値で作成
>> HKEY_CURRENT_USER\Software\Wine\Drivers\winealsa.drv に、ALSAOutputDevices という名前で、REG_MULTISZ という型の項目が出来たら、その項目のデータを、jackplug に変更する
>> レジストリエディタを終了する
# ALSA と、Wine の設定を反映させるために、再起動
# JACK Audio Connection Kit( QjackCtl )を起動し、JACK を開始する
4.Wine の設定で、オーディオ出力先を設定する
# Wine 設定を開く
wine winecfg
>> Wine 設定 の、オーディオ タブで、選択されたドライバー:winealsa.drv と表示されているのを確認
>> 出力デバイス: を、Out:jackplug にして、音をテスト をクリックし、音が出ることを確認し、Wine 設定 を閉じる
5.Wine アプリケーションで動作確認
#ここでは、foobar2000 で、音楽再生
>> foobar2000 の File >> Preferences >> Output >> Device で、Default : Out: jackplug を選択し、OK をクリック
>>楽曲を再生
>> JACK Audio Connection Kit( QjackCtl )の、グラフで、alsa-jack.jackP.3157.48 (数字は異なるかも)というような出力デバイスが表示され、system の、playback ポートと接続されているのを確認する
以上








