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
. Выгрузка отдельных модулей через pactl unload-module
на данный момент не поддерживается [1], но можно выгрузить все module-null-sink
модули командой pactl unload-module module-null-sink
.
Используя jack_connect
, присоедините созданные каналы к портам звуковой карты. Найти нужные имена каналов можно командой 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
стоит название вашей звуковой карты.HDA\ ATI\ SB:playback_FL
иногда становится Built-in\ Audio\ Analog\ Surround\ 4.0:playback_FL
. Как временное решение, вы можете создать второй набор команд pw-jack
и также добавить его в автозапуск.Если вы хотите управлять громкостью каждого устройства по отдельности, используйте утилиты alsa (напр. amixer). Так же можете взять для примера скрипт, упрощающий процесс.