PipeWire (Русский)/Examples (Русский)
Объемный звук
Разделение на front/rear
Если PipeWire используется как замена PulseAudio или JACK, вы можете использовать этот способ разделения каналов. Используя его, можно одновременно использовать раздельные каналы для колонок и наушников.
Присоедините колонки к line-out выходу, а наушники к порту на задней панели. В pavucontrol
переключите звуковую карту на использование как Analog Surround 4.0. Используйте следующие команды чтобы создать новые звуковые потоки для колонок и наушников, привяжите колонки к передним каналам, а наушники к задним:
pactl load-module module-null-sink sink_name=speakers object.linger=1 media.class=Audio/Sink channel_map=FL,FR pactl load-module module-null-sink sink_name=headphones object.linger=1 media.class=Audio/Sink channel_map=RL,RR
Параметр object.linger=1
сохраняет каналы активными даже после отключения устройств. Так же вы можете использовать имя канала sink_name
каким желаете нужным.
Чтобы выгрузить модуль, используйте pw-cli destroy ID
, где ID
можно узнать командой pactl load-module
. Выгрузка отдельных модулей через на данный момент не поддерживается , но можно выгрузить все модули командой .
Используя , присоедините созданные каналы к портам звуковой карты. Найти нужные имена каналов можно командой jack_lsp -c
.
pw-jack jack_connect speakers:monitor_0 HDA\ ATI\ SB:playback_FL pw-jack jack_connect speakers:monitor_1 HDA\ ATI\ SB:playback_FR pw-jack jack_connect headphones:monitor_0 HDA\ ATI\ SB:playback_RL pw-jack jack_connect headphones:monitor_1 HDA\ ATI\ SB:playback_RR
HDA\ ATI\ SB
стоит название вашей звуковой карты.Если вы хотите управлять громкостью каждого устройства по отдельности, используйте утилиты alsa (напр. amixer). Так же можете взять для примера скрипт, упрощающий процесс.