Linuxでのオーディオ関連の事

環境
  • Ubuntu Studio 21.04
  • Jack ではなく PluseAudio を利用
設定ファイルと書き方

最初に既存の設定ファイルを .include で読み込む

私は ~/.config/pulse/default.pa に下記のようにして使っている

.include /etc/pulse/default.pa

load-module module-equalizer-sink
load-module module-dbus-protocol
load-module module-combine-sink
set-default-sink combined

module-combine-sink で複数の音声デバイスから出力している。 module-equalizer-sink でイコライザーを有効にしている。

音を出す時には pavcontrol で [アプリ]->[module-equalizer-sink で作られたイコライザー]->[module-combine-sink で作られた combined デバイス] という流れを作ると音が出る。

この部分は後からマルチデバイスな感じに変更した

デバッグ

状況確認は pactl を使う

下記を繰り返すが、Youtube などブラウザで確認する場合、pulseaudio が起動した後、ブラウザを起動する必要がある。

pulseaudio -k
vi ~/.config/pulse/default.pa
pulseaudio -vvvvv

あるいは ~/.config/pulse/daemon.conf のログレベルを変更する事で出力増やすことができる。

log-level = info
log-target = syslog

レベルは debug, info, notice, warn, err, fail, crit が指定可能。

音量の調節などは pavucontrol が便利。 イコライザーは qpaeq 。

nohup pavucontrol &
qpaeq &

また pulseaudio --dump-conf をすると daemon.conf でのエラーが確認できる。

参考

arch linux のサイトでユースケースがまとまっている

PulseAudio PulseAudio/サンプル PulseAudio/トラブルシューティング

また下記を試したい

バイノーラルヘッドフォン

PulseAudio のモジュールについて深くまとまっていた

freedesktop.org Device Driver Modules

Ubuntu の pulse-daemon.conf の設定方法

pulse-daemon.conf.5.gz ウーファーの設定の際に参考にした。

下記のパスで daemon.conf が設定可能なようだ

~/.config/pulse/daemon.conf
~/.config/pulse/daemon.conf.d/*.conf
/etc/pulse/daemon.conf
/etc/pulse/daemon.conf.d/*.conf
Linux における Skype と Pulseaudio を用いたスプリット/ミキシング

Skype は使っていないが、最後の

pacmd load-module module-combine-sink sink_name=combined slaves=alsa_output.pci-0000_00_1b.0.analog-stereo,MySink

この発想には助けられた。

load-module module-combine-sink

これだけでも物理デバイスの combine はできる。が、なぜか仮想的な sink だと combine されなかった。 明示的に sink を指定して combine すると、両方から音が出て、更に、それぞれのボリュームを操作できるようになった。