Как я могу определить, по умолчанию я использую Alsa или Pulse-Audio? (Переключение на i3-wm)

52

Возможно, я не понимаю основную концепцию, и в этом случае поправьте меня, если я ошибаюсь.

Ubuntu поставляется с двумя различными серверами рендеринга аудио, Pulse и Alsa. Является ли Alsa промежуточным слоем для пульсации? По сути, мне нужно знать, какой из них я использую.

Мне нужно знать, что я пытаюсь перейти с единицы на i3-wm. При настройке i3 я обнаружил, что у меня нет звука, и наткнулся на эту ветку . Он определяет различные параметры для привязки клавиш увеличения и уменьшения громкости моего ноутбука к их функциональности, и после того, как я возился с некоторыми из этих опций, я получил очень резкий звук, поэтому (я полагаю) мне нужно знать, что я на самом деле использую.

Пол Нельсон Бейкер
источник

Ответы:

83

Ubuntu использует ALSA и Pulseaudio для управления вводом и выводом звука.

ALSA

ALSA служит системой на основе ядра для подключения вашего звукового оборудования к операционной системе. Все звуковые карты в вашей системе будут управляться с помощью драйверов и настроек карты. Большая часть этого делается под капотом, и пользователям не нужно вмешиваться.

Кроме того, ALSA предлагает библиотеки и инструменты для управления нашей звуковой системой. Инструмент, с которым может столкнуться большинство из нас, может быть alsamixer, полуграфическим терминальным приложением для контроля громкости звука и отключения звука всех карт и профилей в нашей системе.

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

Пульс Аудио

Помимо базы ALSA, звуковой сервер PulseAudio предоставляет дополнительные инструменты для лучшего управления нашей звуковой системой. Это делается с помощью модулей для определения уровней громкости, профилей звуковых карт, выходных приемников или источников входного сигнала и многого другого для легкого доступа из большинства приложений Ubuntu.

Как и ALSA, PulseAudio также предназначен для работы с минимальным количеством взаимодействий с пользователем. Всякий раз, когда нам нужно изменить громкость, баланс или устройства ввода / вывода, это модуль или приложение PulseAudio, которое мы или наше приложение вызываем.

Профессиональной альтернативой PulseAudio является аудиосервер JACK с большим количеством опций для взаимодействия с нашим звуковым оборудованием и лучшей поддержкой с низкой задержкой. Только немногие приложения для создания музыки ожидают запуска JACK, что можно сделать параллельно с PulseAudio.

Интеграция приложения / рабочего стола

Звуковая система Ubuntu может далее управляться из приложений, которые запускаются с рабочего стола Unity / GNOME, таких как апплет управления громкостью.

Где любое приложение использует управление звуком, будет зависеть от разработчиков приложения. Некоторые приложения будут использовать только ALSA, некоторым нужен PulseAudio, другим нужен JACK.

Поэтому всякий раз, когда мы устанавливаем другой менеджер рабочего стола поверх Ubuntu, мы можем потерять специальные приложения для рабочего стола для управления звуком, но, тем не менее, ALSA и PulseAudio будут работать в фоновом режиме для управления звуком.

Возможно, нам придется установить дополнительные пакеты, такие как, например, pavucontrol Установить павуконтроль , приложение управления громкостью на основе pulseaudio GTK.

Работает ли ALSA или PulseAudio?

И ALSA, и PulseAudio поставляются с приложениями командной строки для распечатки состояния нашей звуковой системы.

  • PulseAudio:

    pactl list
    
  • ALSA:

    aplay -l
    

И то и другое выдаст ошибку, если звуковая система не работает. ALSA будет загружена с ядром, PulseAudio будет запущен позже. Если это не так, мы можем запустить PulseAudio вручную с терминала:

pulseaudio [options]  ## option -D starts the daemon

В случае, если у нас есть проблемы со звуком, я рекомендую прочитать пост, написанный Дэвидом Хеннингссоном, о вещах, которые мы не должны делать, потому что мы пойдем дальше для устранения нашей проблемы со звуком .

Takkat
источник
1
@ Таккать удивительное объяснение, спасибо большое. Я довольно долго пытался понять основы аудиосистемы в Linux и Ubuntu.
AlexN
В моей системе raspberry pi «pactl list» возвращает «Отказ в соединении», но «pactl --server 127.0.0.1 list» работает. экспорт переменной окружения "PULSE_SERVER = 127.0.0.1" позволяет правильно подключать клиенты pulseaudio. Есть идеи, чего мне не хватает? Это на малиновом пи.
Жоао Коста