PipeWire (Русский)/Examples (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи PipeWire/Examples. Дата последней синхронизации: 4 января 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Объемный звук

Разделение на 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 стоит название вашей звуковой карты.
Примечание: Каналы, созданные Jack/Pipewire, время от времени меняют свое имя после перезагрузки. Например HDA\ ATI\ SB:playback_FL иногда становится Built-in\ Audio\ Analog\ Surround\ 4.0:playback_FL. Как временное решение, вы можете создать второй набор команд pw-jack и также добавить его в автозапуск.

Если вы хотите управлять громкостью каждого устройства по отдельности, используйте утилиты alsa (напр. amixer). Так же можете взять для примера скрипт, упрощающий процесс.