Магия pipewire. Настройка качественного звука в Linux
Широкого известно, что, в отличие от ОС компании Microsoft, системы на базе ядра Linux являются более гибкими и позволяют пользователю изменять многие критически важные компоненты системы по своему вкусу. В этом небольшом материале мы познакомимся с актуальными решениями ввода и вывода звука в Linux, а также выполним последовательную настройку для достижения качественного звучания.
В настоящее время актуальными системами реализации звука в Linux принято считать:
- ALSA — это одна из старейших звуковых подсистем ядра Linux, которая по своей сути является встроенным звуковым драйвером на уровне ядра Linux. Обеспечивает минимальные задержки, но очень капризна при работе c современными беспроводными устройствами и с несколькими звуковыми потоками.
- PulseAudio — звуковой сервер/ретранслятор расположенный между ядром системы и физическими устройствами ввода и вывода звука. Позволяет управлять множеством звуковых потоков, изменять их частоту, работать с беспроводными устройствами. В общем, лишён почти всех недостатков ALSA, но прилично искажает изначальный сигнал и имеет весомые задержки.
- Pipewire — современная реализация звукового сервера/ретранслятора, что по принципу работы полностью аналогичен PulseAudio. Лишён почти всех недостатков Pulseaudio и имеет обширную совместимость с множеством устройств прямо из коробки.
Разбирать более подробно или затрагивать ещё какие-либо системы реализации звука в Linux не имеет большого смысла, если вы не являетесь музыкантом и не занимаетесь записью множества звуковых потоков через профессиональные интерфейсы. Так что не будем тянуть кота за хвост и перейдём к установке и настройки самого современно и качественного звукового сервера в Linux - pipewire.
Система автора
Подготовка
Прежде чем приступать к установке и настройки ретранслятора, необходимо правильно отрегулировать ALSA.
Выполним установку ALSA и вспомогательных пакетов:
sudo pacman -S alsa alsa-utils alsa-firmware alsa-card-profiles alsa-plugins
- ALSA — звуковой драйвер ядра (обычно присутствует).
- Alsa-utils — консольный микшер (alsamixer).
- Alsa-firmware — драйверы для различных звуковых карт.
- Alsa-card-profiles — готовые профили.
- Alsa-plugins — различные алгоритмы шумодава и прочее ПО.
После окончания установки вводим в терминале команду alsa-utils для вызова консольного микшера.
В окне псевдографического микшера, вид которого будет отличаться в зависимости от звуковой карты и подключённых устройств, всё довольно просто:
- Клавиша F6 это выбор звуковой карты.
- Клавиша F3 переключает на настройки устройств ввода (микрофон).
- Клавиша F4 отображает настройку устройств вывода (колонки).
- Для включения или выключить регуляторов служит клавиша M.
- Регулировка значений выполняется с помощью стрелок.
Здесь каждый сам решает, что и как подкрутить. Тем не менее, если шкала Master (общая громкость) стоит не на 100, то будет логично с помощью стрелок на клавиатуре (вверх) её задрать на максимум. Всё остальные настройки - по собственному усмотрению.
Сохраняем изменения командой в терминале:
sudo alsactl store
В принципе, если вам необходим только вывод звука в один канал и у вас нет беспроводных устройств, то на этом можно было бы и завершить весь этот скучный гайд. Однако если вы любите играть в игры одновременно слушая музыку и общаясь по беспроводной гарнитуре с напарником, то без pipewire вам не обойтись.
Установка и настройка Pipewire
Выполним базовую установку Pipewire и вспомогательных пакетов:
sudo pacman -S pipewire pipewire-alsa pipewire-pulse pipewire-jack pavucontrol
- Pipewire — радиосервер.
- Pipewire-alsa — модуль расширения для перехвата запросов ALSA в pipewire.
- Pipewire-pulse — модуль расширения для перехвата запросов PulseAudio в pipewire.
- Pipewire-jack — модуль расширения для перехвата запросов jack в pipewire (уменьшение задержки).
- Pavucontrol— удобный графический микшер.
Активируем демона:
systemctl --user enable --now pipewire.service pipewire.socket pipewire-pulse.service wireplumber.service
Запустим красивый графический микшер pavucontrol командой в терминале:
pavucontrol
Выберем нашу звуковую карту и выставляем режим: "Аналоговый стерео дуплекс". Он позволяет задействовать одновременно устройство ввода и вывода. В других вкладкам редактируем громкость наших устройств до желаемого уровня.
Windows vs Linux
Сравним ради интереса звучание Windows и Linux в S.T.A.L.K.E.R.: Тень Чернобыля при 16 Бит 48 кГц.
Несмотря на сжатие YouTube, разница в качестве очевидна.
Заключение
Вот, собственно, и всё. Посредством новейшего ретранслятора pipewire и удобного графического микшера pavucontrol мы всего за пару кликов обеспечили поддержку беспроводных гарнитур, качественный звук, минимальные задержки и удобное регулирование. Конечно, можно было бы заморочиться и установить битрейт повыше, кодек получше, ядро с уймой патчей, но это нужно лишь аудиофилам. Уважайте свободу, используйте Linux и ни в коем случае не предавайте себя.
24 комментария
Добавить комментарий
Любой USB dac под Linux и Windows звучит одинаково, если нет каких то проблем в ОС с прерываниями и плохими драйверами. Что не скажешь про встроенные realtek.
(Кстати, я использую для вечернего кино Лимитер, хотя по уму для этой цели существует Компрессор, но настроить его мне пока не удалось. Тоже тема для ГАЙДОВ)
Установите Helvum и вы сможете менять каналы и прохождение звукового потока на прямую через удобный графический интерфейс.
Лучше бы написал статью для аудиофилов со сборкой аудиофильского реалтайм ядра. А то вся статья сводится к банальной установке pipewire.
ЗЫ было бы полезно, если бы автор привёл разжёванный пример настройки pipewire в части конфигурирования аудиоустройств в плане настроек частоты, битности, ресемплера и тому подобного.
Но не в таком виде!
Поскольку как уже отметили, здесь просто показана установка пакетов, которые уже из коробки стоят во всех современных дистрах.
Название статьи опять же за качественный звук, если так, то меня интересует формат подачи звука а-ля асио или васапи эксклюзив (т.е условный автомат частоты, и отсутствие вмешательства в сигнал, монопольный вывод) как это сделано в винде.
Да в лине есть аналог асио, это насколько я знаю, есть альса, но каких то внятных замеров а-ля луп режим, или с двух разных карт вход-выход, с графиками, с блек джеком и куртизанками, я не видел нигде, а очень, знаете ли хотелось бы!
Ибо в свое время некоторые производители ПО грешили махинациями, как то вмешательства в сигнал различными приблудами а-ля Nahimic (3д паранормирование в реальном времени, на уровне системы, весьма всратое, прошу заметить), или например обещание автомата частоты, но на деле на графиках имд начинает показывать каки то карусели, явно намекая на передискретизацию, или например всрато настроенный цифровой фильтр, когда при 0 dBFS (100% микшера) идет клип, и надо держать не выше уровня -3 dBFS (80% микшера) и прочие веселые вещи, которые можно отловить ПО, и которые на слух, сложно заметить, но на уровне ощущений будет постоянно гореть апож, от непонимания почему что то звучит не так (ибо не все звукари от роду).
Я, если не поленюсь, ещё выпущу продолжение.
От pipewire ничего хорошего не жду, но руки до него не дошли пока.
спасибо за статью.
Хотите что-то популяризовать — делайте гуй, в котором будет достаточно как в винде — нажать «далее, далее, далее, завершить».
И только тогда к вам народ потянется.
Да, вписать пару команд в консоли — это для простого обывателя «сложна, сложна».
Ломать голову и изучать консоль, народ в эпоху пальцетыка на андроид и огрызке, просто не будет.
Гайд написан линуксойдом для людей, которым это надо. Это вы влезли с очередными «консольными войнами».
Возможно, конечно, за год что-то доработали, но год назад были определённые косяки в pipewire.
Впрочем, вероятно, это касается более узкоспециализированного применения, для «бытовых» нужд (прослушивания музыки, просмотра видео) он, возможно, уже достаточно стабилен.
Добавить комментарий