GNU / Linux для начинающих: как работает звук

Одна из вещей, которая меня смущала в GNU / Linux при переходе от использования Windows в качестве основной ОС к GNU / Linux, заключалась в том, как работает звук.

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

Звук в GNU / Linux прошел долгий путь и в настоящее время работает довольно хорошо, когда дело касается простоты, к которой привыкли пользователи, переходящие с Windows; но все же есть некоторые нюансы и термины, с которыми новые пользователи могут не быть знакомы.

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

Аудио в Linux

На изображении ниже показано, как работает звук в GNU / Linux, которое будет расширено:

Linux аудиоШмуэль Чаба Отто Траян, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=31418026

ALSA

ALSA означает «Расширенная звуковая архитектура Linux» и является основой всего звука в современных дистрибутивах GNU / Linux. Короче говоря, ALSA — это среда, через которую обмениваются данными звуковые драйверы, или сама по себе вы могли бы назвать ее самим звуковым драйвером; вроде.

Была еще одна похожая система под названием OSS (Open Sound System), которую некоторые люди до сих пор предпочитают, но она в основном выведена из употребления и теперь используется редко.

ALSA в настоящее время является основой всего звука в системе GNU / Linux. Ядро (сам Linux) взаимодействует с ALSA, который затем, в свою очередь, связывается с аудиосервером, таким как PulseAudio, который затем связывается с приложениями в системе. Вы по-прежнему можете воспроизводить звук без сервера, такого как PulseAudio, но теряете большую часть функциональности и настроек; а также другие функции, о которых мы поговорим в ближайшее время.

Звуковые серверы

PulseAudio

PulseAudio входит практически во все основные предустановленные операционные системы GNU / Linux. Например, Ubuntu, Opensuse, Manjaro, Mageia, Linux Mint и т. Д. Используют PulseAudio.

Я вообще не люблю ссылаться на Википедию, но отличное объяснение PulseAudio можно найти там лучшими словами, чем я мог бы использовать …

«PulseAudio действует как звуковой сервер, где создается фоновый процесс, принимающий звуковой ввод от одного или нескольких источников (процессов, устройств захвата и т. Д.). Затем фоновый процесс перенаправляет упомянутые источники звука на один или несколько приемников (звуковые карты, удаленные сетевые серверы PulseAudio или другие процессы) ».

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

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

Еще одна особенность PulseAudio — это возможность независимо регулировать громкость для отдельных приложений. Вы можете ВКЛЮЧИТЬ Youtube в своем браузере и ВКЛЮЧИТЬ spotify, например, без необходимости регулировать громкость как отдельную единицу.

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

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

ДЖЕК

JACK расшифровывается как JACK Audio Connection Kit. JACK — еще один звуковой сервер, похожий на PulseAudio, но чаще используется ди-джеями и профессионалами в области звука. Он немного более технический, однако он поддерживает такие вещи, как меньшая задержка между устройствами, и очень полезен для соединения нескольких устройств (например, аппаратных микшеров, вертушек, динамиков и т. Д. Для профессионального использования). Большинству людей никогда не понадобится использовать JACK. PulseAudio работает нормально, если вам не нужен JACK для чего-то конкретного.

Вывод

Аудио в GNU / Linux «звучит» сложнее, чем оно есть на самом деле (посмотрите, что я там сделал), и, надеюсь, эта статья поможет сделать вещи немного более понятными, когда вы просматриваете Интернет и видите такие имена, как ALSA или PulseAudio, брошен!

Наслаждайтесь!