Вывод звука из разных приложений отдельно в передние и задние каналы (pulseaudio)

Задачи:

  1. Обеспечить возможность раздельного вывода звука от одних приложений в передние каналы, от других - в задние
  2. Установить начальные уровни громкости
  3. Установить по умолчанию вывод звука в передние каналы


Необходимо убедиться, что звуковая карта поддерживает вывод звука по четырём каналам
и выставить в pavucontrol вывод в четыре канала:
Запускаем paman и определяем основной Sink, имя которого сформировал udev:

От root добавить к файлу "/etc/pulse/default.pa" следующие строки:
В качестве параметра "master" указываем имя Sink-а определённого выше (например - alsa_output.pci-0000_00_1b.0.analog-surround-40):

# Создаём два синка для передних и задних каналов
load-module module-remap-sink sink_name=speakers master=alsa_output.pci-0000_00_1b.0.analog-surround-40 channels=2 master_channel_map=front-left,front-right channel_map=front-left,front-right remix=no
load-module module-remap-sink sink_name=headphones master=alsa_output.pci-0000_00_1b.0.analog-surround-40 channels=2 master_channel_map=rear-left,rear-right channel_map=front-left,front-right remix=no

# Меняем описание. Именно эти имена будут выводится в программах
update-sink-proplist speakers device.description="Speakers (Internal card Front channels)"
update-sink-proplist headphones device.description="Headphones (Internal card Rear channels)"

# Установка уровней громкости для родительского и headerphones синков
set-sink-volume 0 100000
set-sink-volume headphones 65536

# Синк по умолчанию - Колонки (передние каналы)
set-default-sink speakers

В файле "/etc/pulse/daemon.conf" раскоментируем (или добавляем) строку:

flat-volumes = no

Перезапускаем pulseaudio:
От пользователя выполнить "pulseaudio -k". В моём случае, после этой команды pulseaudio завершается и запускается сам, подхватывая новые параметры (что или кто его запускает - не знаю).

Запускаем какое-либо звуковое приложение и в pavucontrol убеждаемся, что звук выводится
в передние каналы, установленные по умолчанию:
Для указания вывода на задние каналы, нажимаем кнопку и выбираем необходимые каналы.

Система запоминает сделанный выбор, какое приложение куда должно выводить.
Если выводить в родительский Sink, звук выводится одновременно и в передние и в задние каналы.

Что получил после этих манипуляций?

  • Все звуки, приложений не переназначенных вручную, выводятся в передние каналы.
  • Громкость передних каналов регулируется в kmix регулятором Front (он-же выбран основным).
  • Звуки от телефонных приложений выводятся на гарнитуру (указывается вручную в pavucontrol).
  • Громкость на гарнитуру не зависит от громкости колонок и устанавливается при запуске системы.
  • Сигнал входящего вызова Skype выводится во все каналы (и передние и задние). Громкость регулируется в pavucontrol - "Системные звуки".
  • Громкость по всем каналам завышена процентов на 50 (многие жалуются на низкий уровень громкости в Linux :-) ).
Наверх