В настоящее время в GNU/Linux существует две конкурирующие звуковые подсистемы — OSS (старая) и ALSA (новая). Под OSS здесь подразумевается свободная версия этой кроссплатформенной звуковой подсистемы, которую можно свободно распространять — в отличие от коммерческой версии OSS. OSS издавна входит в состав ядер Linux.
Однако, при разработке ядер версий 2.5.x/2.6.x в качестве стандартной звуковой подсистемы была выбрана сравнительно новая ALSA, имеющая ряд конструктивных преимуществ перед OSS и во многом созданная по мотивам технологически удачных смежных звуковых подсистем ОС Mac OS X — CoreAudio и CoreMidi.
Разработчики OSS продолжают обеспечивать поддержку современных ядер ветки 2.6.x, однако количество приложений, спроектированных для работы именно с ALSA, неуклонно продолжает расти. Также, благодаря существованию OSS-эмуляции в подсистеме ALSA, старые приложения, рассчитанные на использование с OSS (например некоторые игры) можно использовать и с ALSA. Еще стоит отметить, что появилась и эмуляция ALSA в последних версиях OSS.
Помимо звуковых подсистем существуют звуковые серверы. Основная задача звукового сервера — это программное смешивание одновременно звучащих сигналов, издаваемых несколькими приложениями. Типичный пример: необходимость слышать звуковое сопровождение смены статусов присутствия собеседников в сети мгновенного обмена сообщениями во время прослушивания музыки через программный проигрыватель. Поскольку не все звуковые карты умеют смешивать несколько одновременных сигналов, звуковой сервер берёт на себя эту задачу, транслируя звуковому устройству уже смешанный сигнал. В последних версиях звуковой подсистемы ALSA среди ее расширений появился модуль dmix, который позволяет программно смешивать разные звуковые потоки, что уменьшает необходимость в использовании специализированного аудиосервера для обычного пользователя.
Исторически сложилось так, что разработка каждой новой мощной графической оболочки рано или поздно начинает требовать создания собственного звукового сервера. Так, благодаря графической среде Enlightenment появился популярный до сих пор звуковой сервер EsounD (ESD, Enlightened Sound Daemon). В ходе разработки KDE был создан сервер aRts (analog realtime synthesizer). До версии 2.0 в GNOME использовался ESD, после чего произошёл переход не просто на новый звуковой сервер, а на новую модульную мультимедийную инфраструктуру под названием GStreamer, позволяющую не просто смешивать звуки, а буквально строить из модулей как из кирпичиков свою систему передачи мультимедийных данных разного типа — звук, видео, изображения.
В некоторых случаях между звуковыми серверами возникают конфликты. Хрестоматийным является пример, когда приложение, основанное на библиотеках графической оболочки KDE, вместе с собой запускает звуковой сервер aRts, который отнимает у работающего сервера ESD доступ к файлу устройства звуковой карты (/dev/dsp), вследствие чего музыка, воспроизводившаяся в XMMS, стихает.
Поскольку GStreamer является решением, позволяющим подружить один звуковой сервер с другим, существует немалая вероятность того, что в будущем он станет стандартом для различных графических оболочек. Во всяком случае, в настоящее время aRts является официально не поддерживаемым проектом, а в качестве его замены рассматривается именно GStreamer. Ряд приложений для KDE уже использует Gstreamer для вывода звука. К таким приложениям, например, относятся популярные проигрыватели звуковых файлов amaroK и YuK.
Многие проигрыватели звуковых и видеофайлов позволяют пользователю выбирать, через какой звуковой сервер воспроизводить звук. Для этого в случае с каждым проигрывателем необходимо проверить соответствующие параметры, заданные в его диалоге настройки.
Как говорится, танцевать начнем от печки. Для со
временного Linux аудио этой «печкой» является ALSA (Advanced
Linux Sound Architecture, Продвину тая звуковая архитектура
Linux). ALSA связана с ядром Linux и обеспечивает работу со звуком для всех компонентов системы. Но ALSA – не просто драйвер
ядра: она служит программным микшером, эмулирует совместимость для других аудиослоев, создает API для программистов и работает с такой низкой и стабильной латентностью, что способ на конкурировать со своими эквива лентами ASIO (Audio Stream Input/Output) и CoreAudio из Windows и Mac OS X.
ALSA создава лась на замену OSS (Open Sound System). Однако драйвер OSS все же не умер: в ALSA предусмотрена совместимость со старыми приложениями, под держивающими только OSS. Проще всего считать ALSA уровнем драйверов устройств в системе Linux аудио. Вашей звуковой аппаратуре нужен соответствующий модуль ядра, с префиксом snd_, а тот на до загрузить и запустить. И чтобы услышать хоть какой-нибудь звук,
не обойтись без драйвера ядра из ALSA. Вот почему ваш ноутбук так долго оставался «немым» – пока у когото не дошли руки написать для него звуковой драйвер. К счастью, в наше время большинство дистрибутивов Linux настраивают ваши устройства и модули автоматически.
ALSA переводит функциональность звуковой аппаратуры в программный API, которым прочие компоненты системы пользуются для манипуляции звуком. Эта архитек тура создавалась для устранения недостатков OSS (и большинства аудио-драйверов того времени), а самым заметным из них была невозможность работы с аудиоустройством сразу нескольких приложений. Задача программного компонента ALSA – управление запросами к звуковым устройствам, с учетом возможностей этих последних.
Например, если вы хотите играть в какую-нибудь игру еще
и под музыку из Amarok, ALSA нужно принимать оба потока аудио и либо микшировать их программно, либо отсылать их на аппаратный микшер звуковой карты. ALSA умеет управлять работой до 8 устройств одновременно, а иногда и обращается к аппаратным функциям MIDI, хотя это зависит от звукового драйвера вашего оборудования и по мере роста мощности компьютеров теряет актуальность.
В отличие от типичного модуля ядра/драйвера устройства, ALSA предоставляет возможность своей настройки. Здесь то
и проявляется сложность аудиосистемы Linux. Стоит лишь создать собственный файл настройки, и в конфигурации ALSA можно сменить практически все: от способа микширования потоков аудио и выбора аудиовыходов до частоты дискретизации, разрядности отсчетов звука и эффектов реального времени.
Относительная «прозрачность», эффективность и гибкость сделали ALSA стандартом де-факто; ее слой должна пройти любая другая инфраструктура аудио, чтобы добраться до звукового оборудования.
Удаление звукового сервера PulseAudio в Ubuntu
Звуковой сервер PulseAudio изначально задумывался разработчиками как средство управления звуковыми потоками на низком уровне, которое со временем сможет вытеснить устаревший ESD (Enlightenment Sound Daemon) звуковой сервер.
PulseAudio от версии к версии обрастает рядом "новшеств", которые должны приятно удивлять пользователя, но в реальности получается, что новый звуковой сервер удивляет пользователя только неудержимым ростом потребляемой ОЗУ и дополнительными проблемами при воспроизведении звука.
Для повседневных нужд (воспроизведение звуковых файлов, видеороликов и общение через VoIP-телефонию) звуковой сервер PulseAudio не требуется. Удаление PulseAudio поможет освободить немного оперативной памяти и немного разгрузить операционную системы.
Общая идея, которая закладывалась разработчиками PulseAudio в свой продукт, заключалась в "правильном" управлении звуковыми потоками. К примеру, слушаете Вы громко музыку, а Вам звонят по Skype`у. В таком случае "правильный" звуковой сервер приглушит музыку и даст "комфортно" поговорить.
Проблемы у PulseAudio есть. Очень частая проблема, когда звук проигрывается с частыми задержками, на довольно мощных компьютерах. Из встречающихся проблем можно выделить чрезмерное потребление оперативной памяти, приводящее к общей медлительности компьютера или вообще к отсутствию звука в операционной системе.
Для исправления этих проблем предлагается временно удалить звуковой сервер PulseAudio из системы, а когда его время придет установить его заново.
Сразу после пункта удаления PulseAudio отказываются работать мультимедийные клавиши клавиатуры, которые регулируют громкость звука. Эта проблема решатся обновлением пакетов из стороннего репозитория.
PulseAudio от версии к версии обрастает рядом "новшеств", которые должны приятно удивлять пользователя, но в реальности получается, что новый звуковой сервер удивляет пользователя только неудержимым ростом потребляемой ОЗУ и дополнительными проблемами при воспроизведении звука.
Для повседневных нужд (воспроизведение звуковых файлов, видеороликов и общение через VoIP-телефонию) звуковой сервер PulseAudio не требуется. Удаление PulseAudio поможет освободить немного оперативной памяти и немного разгрузить операционную системы.
Зачем нужен PulseAudio и в чем его проблемы?
С помощью PulseAudio становится возможным транслировать звук одного компьютера на колонки других компьютеров, подключенных по сети. Это далеко не полный список.
Бесспорно, задумка разработчиков очень хорошая, но реализация PulseAudio пока далека от идеала.Проблемы у PulseAudio есть. Очень частая проблема, когда звук проигрывается с частыми задержками, на довольно мощных компьютерах. Из встречающихся проблем можно выделить чрезмерное потребление оперативной памяти, приводящее к общей медлительности компьютера или вообще к отсутствию звука в операционной системе.
Для исправления этих проблем предлагается временно удалить звуковой сервер PulseAudio из системы, а когда его время придет установить его заново.
Удаление звукового сервера PulseAudio в Ubuntu
- Удаляем звуковой сервер PulseAudio: Если в списке пакетов на удаление будет находится пакет ubuntu-desktop, то не стоит пугаться. Это мета-пакет, удаление которого не повредит ОС. Проверенно lynx.# sudo apt-get remove pulseaudio gstreamer0.10-pulseaudio# Удаление пакетов# killall pulseaudio# Останавливаем демон сервера
- Подключаем дополнительный репозиторий, с исправленными пакетами для звукового апплета Gnome и OSD-уведомления. Перезагружаем компьютер: # echo "deb http://ppa.launchpad.net/dtl131/ppa/ubuntu `lsb_release -cs` main" | sudo tee -a /etc/apt/sources.list# Добавление дополнительного репозитория# echo "deb-src http://ppa.launchpad.net/dtl131/ppa/ubuntu `lsb_release -cs` main" | sudo tee -a /etc/apt/sources.list# Добавление дополнительного репозитория# sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F76FFEBE && sudo apt-get update# Добавление ключа безопасности и обновление списка пакетов# sudo apt-get install gnome-applets gnome-media gnome-settings-daemon libcanberra0# Обновление пакетов
- Вызываем окно "Выбор мультимедийной системы" из консоли: gstreamer-propertiesВ открывшемся окне везде выбираем ALSA (см. рис.).
Статья составлена из следующих источников:
- http://itshaman.ru/articles/88/remove-sound-server-pulseaudio-in-ubuntu
- http://ru.wikibooks.org/wiki/
- Журнал Linux Format 130
Комментариев нет:
Отправить комментарий