PulseAudioで特定のアプリケーションからの音声出力だけを分離する
https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#module-loopback 以下のコマンドで仮想出力デバイスDummyOutput0と、そのループバックLoopback from Monitor of DummyOutput0が追加される。 pacmd load-module module-null-sink sink_name=DummyOutput0 sink_properties=device.description=DummyOutput0 pacmd load-module module-loopback source=DummyOutput0.monitor source_dont_move=true pavucontrolまたはPulseAudio Volume ControlのPlaybackから 目的のアプリケーションの出力先をDummyOutput0にする。 また、Loopback from Monitor of DummyOutput0の出力先を 希望のスピーカーにすることで音声出力を分離しつつ同時に視聴できる。 source_dont_move=trueは、デフォルトの入力デバイス変更時にLoopbackの入力デバイスも変更されてしまうのを防ぐオプション。 pavucontrolからも変更できなくなる。 仮想出力デバイスとループバックを削除するには、以下のコマンドを実行する。 pacmd unload-module module-loopback pacmd unload-module module-null-sink ログイン時に自動作成する ログイン時自動作成 /etc/pulse/default.pa # Custom load-module module-null-sink sink_name=DummyOutputApp sink_properties=device.description="DummyOutputApp" load-module module-loopback source=DummyOutputApp.monitor source_dont_move=true load-module module-null-sink sink_name=DummyOutputVoiceChat sink_properties=device.description="DummyOutputVoiceChat" load-module module-loopback source=DummyOutputVoiceChat.monitor source_dont_move=true load-module module-null-sink sink_name=DummyOutputGeneral0 sink_properties=device.description="DummyOutputGeneral0" load-module module-loopback source=DummyOutputGeneral0.monitor source_dont_move=true load-module module-null-sink sink_name=DummyOutputGeneral1 sink_properties=device.description="DummyOutputGeneral1" load-module module-loopback source=DummyOutputGeneral1.monitor source_dont_move=true ログイン時自動作成 PulseAudioの再起動 pulseaudio --kill pulseaudio --start デバイス接続時の入出力デバイス自動切り替えを無効化する https://askubuntu.com/questions/1061414/how-to-disable-pulseaudio-automatic-device-switch 新しい出力デバイスが検出されたとき、デフォルト出力デバイスが切り替わるのを防ぐ。 ...