Linux PulseAudio

Настройка звука: PulseAudio

Просто использовать ALSA напрямую иногда неудобно. PulseAudio — это такой уровень абстракции над ALSA и/или OSS. Для нас PulseAudio интрересен главным образом тем, что он позволяет переключать звуковые карты на лету без перезапуска приложений, чего ALSA не умеет. Кроме того, не все программы нормально работают из коробки при отсутствии PulseAudio, например, тот же Cmus.

Дополнение: См также новость Причина прекращения поддержки звуковой системы ALSA в Firefox на opennet.ru.

Установка PulseAudio:
sudo pacman -S pulseaudio pulseaudio-alsa

Запустить / остановить PulseAudio:
pulseaudio --start
pulseaudio --kill

Чтобы PulseAudio увидел все приложения и внешние звуковые карты, их может потребоваться перезапустить и переподключить соответственно. Для автозапуска я прописал PulseAudio в конфиг i3.

Список звуковых карт:
pactl list cards short

Список синков:
pactl list sinks short

Установить синк по умолчанию:
pacmd set-default-sink NAME

Получение общей информации, в том числе sink и source по умолчанию:
pactl info

Изменение громкости синка:
pactl set-sink-volume NAME

Информация о том, какие приложения в какие синки пишут:
pacmd list-sink-inputs

Заставить приложения писать в другой синк:
pactl move-sink-input 1 NAME

Показать список источников (микрофонов):
pactl list sources short

Установить источник по умолчанию:
pactl set-default-source NAME

На Reddit мне подкинули скрипт для быстрого переключения звуковых карт, автоматизирующий все описанные выше действия. Также я установил pavucontrol. С его помощью можно делать mute и unmute, регулировать громкость микрофона, и так далее — все это через удобный GUI.
https://www.reddit.com/r/archlinux/comments/56hc38/default_sound_card_changed_but_applications_need/

Комментарии