мир IT технологий
Софт
Железо
Интернет
Портатив
Связь и коммуникации
Мобильные телефоны
Meta - Новости
Загрузка...
Пишем грамотно!
все материалы 

PulseAudio - дополнение к звуковой среде Linux

Nathan Willis, перевод Надежды Богаповой, «proIT» // 07.11.2007
PulseAudio - дополнение к звуковой среде Linux

PulseAudio, выбранный в качестве стандартной установки в двух главных дистрибутивах Linux: Fedora и Ubuntu, позволяет максимально эффективно настроить звуковую среду

 Звуковой сервер PulseAudio - относительно новое дополнение к звуковой среде Linux. Однако, поскольку именно PulseAudio был выбран в качестве стандартной установки в редакциях как минимум двух главных дистрибутивов (Fedora и Ubuntu), мы решили внимательно изучить его возможности.

Начать можно с того, что выбор звуковых систем в Linux может слегка сбить с толку неподготовленного пользователя. Например, такие проекты, как ALSA, OSS, ESD, aRts, JACK и GStreamer, описываются пространной терминологией, к тому же, весьма схожим образом, вследствие чего создается впечатление, что названия пакетов представляют собой различные варианты случайных комбинаций: alsaplayer-esd, libesd-alsa, alsa-oss, alsaplayer-jack, gstreamer-alsa, gstreamer-esd, и так далее. И довольно трудно вообразить, как эти куски сочетаются друг с другом. Как вам такая фраза из описания пакета для libasound2-плагинов в Ubuntu: «Плагин jack из библиотеки ALSA позволяет библиотеке ALSA проигрывать или собирать данные посредством JACK. При этом последнее не нужно путать с jackd output драйвера ´alsa´, входящий в jackd пакет, который позволяет демону JACK играть обратно через библиотеку ALSA." Да уж, и как только можно в ЭТОМ не запутаться?


Как во всем этом разобраться?

Таким образом, имеем чрезвычайно благодатную почву для путаницы, к многочисленным причинам которой относится и нехватка дружественной для пользователя (не для разработчика!) документации, и частичное взаимное наложение целей у некоторых проектов.

Например, проект Advanced Linux Sound Architecture (ALSA) – продвинутая звуковая архитектура для Линукса – включает несколько четких компонентов. Набор аппаратных драйверов ядра для звуковых карт один, а библиотека, которая экспонирует ALSA интерфейс для программного обеспечения – другая. Вам нужны аппаратные драйверы, чтобы звуковая плата таки произвела звук, а специфическое приложение не может использовать библиотеку. Досадно.

Или рассмотрим звуковую библиотеку KDE aRts. Она включает звуковой сервер: низкоуровневый демон (daemon - скрытый от пользователя процесс, часто выполняемый в фоновом режиме, вызываемый при выполнении какой-либо функции либо в конкретный момент времени), который принимает звук от приложений и передает его аппаратному драйверу, а также высокоуровневые функции подобно кодированию и декодированию различных файловых и потоковых форматов. Чуть попроще обстоят дела у GNOME. Enlightened Sound Daemon (ESD) - звуковой сервер, и отдельная библиотека (GStreamer) управляет процессами кодер-декодер.

Однако больше всего пользователей сбивает с толку огромное количество аудио-проектов, предлагающих, к тому же, свои собственные API, включая библиотеку ALSA, aRts, ESD и GStreamer. И, как мы увидели, функции каждой пары среди них взаимно пересекаются. Кроме того, мы имеем SDL и OPENAL для игр, Open Sound System (OSS) для старших универсальных приложений, и JACK для профессионального уровня, операций низкого времени ожидания.

Наконец, несколько приложений не зависят ни от каких внешних библиотек для звуковых функциональностей, но делают это внутренним образом. Из них самые примечательные – полнофункциональные воспроизводящие медиа-приложения, как например Xine и MPlayer. Они часто управляют всем: от декодирования формата до многоканального демультиплексирования (разуплотнения каналов связи) непосредственно в рамках приложения.

Легче всего объяснить, как PulseAudio встроен в систему GNOME, так как окружение рабочего стола поделено между индивидуальными задачами. Приложение, подобное Rhythmbox, поддерживается GStreamer, когда происходит декодирование звуковых файлов из сжатой формы в «сырой» звук. GStreamer в свою очередь передает звук прямо к ESD, и ESD доставляет его к аппаратному драйверу ALSA.

В этой ситуации PulseAudio замещает ESD без воздействия на остальные части конвейера. Однако другой плеер мог бы поддерживаться пользовательской библиотекой ALSA, которая не относится к предыдущему примеру. Здесь вы можете вставить PulseAudio в конвейер, также прямо над уровнем ядер аппаратных драйверов. Это добавляет лишний слой, зато дает возможность ощутить максимум преимуществ от всей аудио-передачи через тот же звуковой сервер.

И вот в чем фишка: мы знаем, что одни приложения используют пользовательский ALSA API, другие – aRts, третьи – JACK, четвертые управляют звуком изнутри. Но если вы можете перенаправить весь звук через одну программу обработки, вы получаете больше контроля, меньше конфликтов и меньше неожиданностей.


Звучит просто

Чтобы побыстрее начать работу с PulseAudio на своей системе, сперва нужно убедиться, поддерживает ли ваш вариант ОС пакеты. Несмотря на то, что следующие редакции Fedora и Ubuntu будут использовать PulseAudio по умолчанию, они и другие варианты ОС также создают пакеты, доступные для текущих редакций. Веб-сайт, посвященный PulseAudio, включает список ОС на базе Линукс, которые обеспечивают пакеты, в том числе дистрибутивы Mandriva и openSUSE.

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

Веб-страница PulseAudio под названием The Perfect Setup содержит пошаговые инструкции, но, возможно, вам захочется найти руководство именно для вашей ОС (если он поддерживает пакеты). Ubuntu пока еще не предоставляет свои собственные инструкции, поэтому автору для своего Ubuntu Feisty box пришлось прибегнуть к инструкциям Debian HOWTO, вывешенным на форуме debian.net.

Я начал с установки всех связанных с PulseAudio пакетов, доступных через Synaptic. Есть отдельные пакеты для присоединения PulseAudio к звуковым структурам, таким как GStreamer, ALSA, и JACK. Самый главный среди них - pulseaudio-esound-compat; он заменяет ESD-пакет полностью, создавая фиктивные /usr/bin/esd, что фактически является символической связкой с PulseAudio. Это дает возможность обмануть все приложения, которые ожидают ESD, и они используют PulseAudio автоматически.

Важное предостережение: PulseAudio создает свою собственную группу, и все желающие использовать PulseAudio должны войти в ее состав. Так как большинство пользователей не обременяют себя размышлениями о группах или коллективных допусках, этот шаг можно легко упустить из виду. Под Ubuntu вы изменяете членство в группе, заходя в Систему -> Администрация -> Потребители и Группы. Это запускает менеджер Пользовательских настроечных параметров; здесь нужно кликнуть на кнопку Manage Groups и открыть окно Properties для pulse, pulse-access и pulse-rt отдельно для того, чтобы добавить себя.

Сделав это, я копировал типовой файл /etc/asound.conf из пособия Debian. Это установочный файл ALSA, но это создано не для вас, потому что в большинстве случаев приложения ALSA будут прекрасно работать и без этого. Но вам нужно создать этот файл для того, чтобы специфицировать приложения ALSA таким образом, дабы они использовали PulseAudio в качестве своего типового вывода.


Ощути звук!

Использование PulseAudio в качестве допускающей вмешательство замены ESD и установка ALSA для использования PulseAudio через /etc/asound.conf даст отчет о 90% звуковых потребностей регулярной сессии Linux для ПК.

Для остальных приложений, включая странные (oddballs), которые управляют всем звуком изнутри, специфические инструкции на сайте PulseAudio являются неоценимым ресурсом. Например, большинство приложений KDE используют aRts, но вы можете установить aRts, чтобы использовать ESD, который затем перенаправляется автоматически на PulseAudio. Amarok, XMMS и некоторые другие медиа-плееры позволяют выбрать серверное средство из возможных преференций приложения.

Единственные главные аутсайдеры в настоящее время – это аудио-редактор Audacity и видеплеер MPlayer. Оба требуют код доставки дистрибутива cо своих соответствующих страниц. И что более важно, из-за особенностей управления Audacity звуковым устройством вы должны будете прекратить работу PulseAudio прежде чем использовать Audacity. Работа над изменениями проводится, но устойчивый базовый код пока не поменялся.

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

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

Проект также рекомендует ознакомиться с GUI-инструментами от Lennart Poettering. Они включают специфичный для PulseAudio регулятор и измерение громкости звука, а также селекторы устройств, чрезвычайно похожие на стандартные инструменты от GNOME или KDE, каждый из которых может быть доступен через панельный апплет. Есть также еще более напичканное фичами приложение PulseAudio Manager, которое позволяет соединять и разъединять устройства и модули на ходу.

Автор советует не пугаться всех сложностей, заложенных в PulseAudio. Над проектом прилично поработали, чтобы сделать общие задания достаточно простыми, не требующими никаких запредельных знаний. Но, следует заметить, все остается в рамках традиций моды на open source, и если есть желание сделать больше, пожалуйста, все необходимое прямо перед вами.

Комментарии
НОВОСТИ РАЗДЕЛА
18:49 XEROX представила новую технологию по защите бумажных документов от подделок
13:22 Украинский бизнес отказывается от пиратского программного обеспечения
16:24 IBM повышает доступность средств виртуализации
14:19 «Megapolis.Документооборот»: новые возможности
12:12 Intel будет модернизировать Нигерию
Статьи
Рынок ПО как большая песочница

Рынок ПО как большая песочница

Анна Боднарчук, директор супермаркета лицензионного ПО «Софткей-Украина» // 06 ноября 2007
В Украине сформировался разветвленный рынок программного обеспечения. Что движет на нем вендорами и дистрибуторами?
В пиратстве виноваты ИТ-шники

В компьютерном пиратстве ищут крайних

// 16 октября 2007
Руководители российских компаний перекладывают ответственность за использование нелицензионного программного обеспечения на системных администраторов

«Квазар-Микро»: создать триумвират

Герман Богапов, «proIT» // 21 сентября 2007
Для решения проблемы качественного образования ИТ-специалистов необходимо объединить усилия государства, вендоров и ИТ-компаний
Обзоры раздела

Онлайновые антивирусы

Андрей Крупин, Компьютерра-online // 11 июня 2007
Вряд ли стоит оспаривать необходимость антивирусной защиты компьютера - слишком уж велик риск подхватить в Сети какую-нибудь заразу. Разработчики антивирусов используют сложившуюся ситуацию на все...

Недорогие цифровики: результаты тестов

The New York Times, сокращенный перевод - Валентин Меньшов, Газета.Ru // 07 мая 2007
Газета «The New York Times», ежегодно публикующая тесты цифровых фотоаппаратов, которые стоят не дороже $300, сравнила между собой 11 моделей, выпущенных в 2006 году.

Программные средства Intel для разработчиков ПО на базе двухъядерных процессоров

proIT // 16 апреля 2007
Корпорация Intel объявила о выпуске новых версий программных средств Intel Thread Checker, Intel Thread Profiler, Intel VTune и Intel Threading Building Blocks.

Бесплатная альтернатива

Андрей Крупин, Компьютерра // 11 апреля 2007
Компьютерные пользователи - кладезь стереотипов. WinAmp, WinRar, FAR, The Bat, Nero, Photoshop, Office... После каждой переустановки Windows программы из заученного навсегда списка заново...

Widgets (Виджеты) Opera

Юрий Меркулов, iXBT // 29 сентября 2006
Обзор возможностей приложений, подключаемых к браузеру.
bigmir)net TOP 100 Система Orphus Технопарк
Copyright © 2006 - proIT.com.ua
При полном или частичном воспроизведении ссылка на proIT.com.ua обязательна (для интернет-ресурсов гиперссылка).