はじめに
1 台の PC で HDMI,Bluetooth,S/PDIF,などなど複数の音声出力デバイスを接続している場合,通常はどのデバイスから音声を出力するのかいちいちサウンドの設定を開いて設定変更する必要がある.
いちいち設定画面開くのは面倒なので全部の出力デバイスから同じ音声を出力させる.
PulseAudio
PluseAudio は多くのディストリビューションで利用されているサウンドサーバ.Linuxの音声周りの説明はこのページがざっくりとしていて概要がわかりやすい.
今回は PulseAudio のデバイスドライバモジュール module-combine-sink を使って,複数の出力デバイスを束ねる仮想デバイスを作成する.
Modules – PulseAudio
出力デバイスの初期状態はこんな感じ.HDMI と S/PDIF の 2 つが表示されている状態.
ということで,早速設定していく.
モジュールをロードする.
$ pactl load-module module-combine-sink
モジュールをロードできたらサウンド設定に PulseAudio の仮想サウンドデバイスが追加されているので,これを選択する.
これで複数の出力デバイスから同じ音を再生できる状態になる.必要に応じて PulseAudio の起動スクリプト /etc/pulse/default.pa でモジュールをロードさせるといい.
ちなみにモジュールがロードされているかは次のコマンドで確認できる.
$ pactl list modules short | grep combine
30 module-combine-sink
モジュールのアンロードは次のコマンド.
$ pactl unload-module module-combine-sink
おわりに
想像していたよりもかなり簡単に実現出来てしまった.
コメント