PulseAudioで特定のアプリケーションからの音声出力だけを分離する
以下のコマンドで仮想出力デバイスDummyOutput0
と、そのループバックLoopback from Monitor of DummyOutput0
が追加される。
pacmd load-module module-null-sink sink_name=DummyOutput0 sink_properties=device.description=DummyOutput0pacmd 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-loopbackpacmd unload-module module-null-sink
ログイン時に自動作成する
ログイン時自動作成 /etc/pulse/default.pa
# Customload-module module-null-sink sink_name=DummyOutputApp sink_properties=device.description="DummyOutputApp"load-module module-loopback source=DummyOutputApp.monitor source_dont_move=trueload-module module-null-sink sink_name=DummyOutputVoiceChat sink_properties=device.description="DummyOutputVoiceChat"load-module module-loopback source=DummyOutputVoiceChat.monitor source_dont_move=trueload-module module-null-sink sink_name=DummyOutputGeneral0 sink_properties=device.description="DummyOutputGeneral0"load-module module-loopback source=DummyOutputGeneral0.monitor source_dont_move=trueload-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 --killpulseaudio --start
デバイス接続時の入出力デバイス自動切り替えを無効化する
新しい出力デバイスが検出されたとき、デフォルト出力デバイスが切り替わるのを防ぐ。
自動切り換え無効化 /etc/pulse/default.pa
load-module module-switch-on-port-available
、load-module module-switch-on-connect
をコメントアウトする。
### Should be after module-*-restore but before module-*-detect#load-module module-switch-on-port-available### Use hot-plugged devices like Bluetooth or USB automatically (LP: #1702794)#.ifexists module-switch-on-connect.so#load-module module-switch-on-connect#.endif
自動切り換え無効化 PulseAudioの再起動
pulseaudio --killpulseaudio --start
電源メニューから音声デバイスを切り替えられるようにするGnome Shell Extension
- https://extensions.gnome.org/extension/906/sound-output-device-chooser/
- https://github.com/kgshank/gse-sound-output-device-chooser
PulseAudioを再起動するとデバイス一覧に古い項目が残り、選択するとGnome Desktopがフリーズするバグがある。 PulseAudio再起動後はAlt+F2でrコマンドを実行することで拡張機能がリロードされ、この問題を回避できる。