Linuxで2つ以上の出力デバイスから同じ音声を出力する方法

はじめに

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

おわりに

想像していたよりもかなり簡単に実現出来てしまった.

コメント

タイトルとURLをコピーしました