До недавнего времени наиболее популярные аудиоплееры под Linux представляли собой клоны аналогичных программ из других платформ. Такие плееры, как XMMS, Beep Media Player, - это клоны с культового Winamp. Потом Apple изобрела iTunes, и под Linux появились популярные аналоги в виде Amarock, JuC и др. Что же касается аудиоплеера, который олицетворял бы собою настоящий unix-way, то таковыми можно было считать разве что консольные проигрыватели типа mpg123. Но вот человек по имени Уорен Дюкс (Warren Dukes) создал действительно аутентичный юниксовый плеер, который называется Music Player Daemon (MPD, www.musicpd.org).
MPD реализует классическую для unix-систем архитектуру приложения "клиент-сервер". MPD является именно сервером, который запускается как системный демон и который отвечает исключительно за воспроизведение музыки и работу с плейлистами. Демон (daemon) в системах класса UNIX - это программа, работающая в фоновом режиме без прямого общения с пользователем. Управление же этим демоном осуществляется при помощи клиента, который является отдельной программой. Такая архитектура полностью соответствует двум основным принципам философии Unix: нужно писать программы, которые делают одну вещь и делают её хорошо; нужно писать программы, которые бы работали друг с другом.
Вот основные функциональные возможности "музыкального демона" MPD:
- поддержка, при наличии в системе соответствующих библиотек, форматов Ogg Vorbis, FLAC, OggFLAC, MP2, MP3, MP4/AAC, MOD, Musepack и WAV;
- потоковое HTTP воспроизведение FLAC, OggFLAC, MP3 и Ogg Vorbis;
- поддержка буфера при проигрывании (предотвращает пропуски при высокой загруженности или большом времени отклика сети);
- поддержка плавного наложения/плавного перехода (Crossfading);
- поддержка широкого диапазона аудиоустройств (OSS, ALSA, Sun, esd, ARts, PulseAudio и др.).
У такого "демонического" решения есть свои плюсы, ну и, соответственно, минусы. MPD не тянет за собой воз пользовательских графических интерфейсов и модулей. Поэтому его системные требования минимальны, меньше даже, чем у консольного mpg123. Плеер-демон обеспечивает очень высокую стабильность проигрывания. Вы переключились из одной консоли в другую - музыка не останавливается. Вы перелогинились другим пользователем - музыка не останавливается. Вы подняли графический X-сервер и запускаете тяжеловесные приложения - музыка не останавливается. Вы снова вышли в голую консоль - а музыка не останавливается. И эта музыка будет вечной, пока вы не перезапустите MPD.
Недостатком можно считать некоторую громоздкость при обновлении музыкальной базы, что делает неудобным прослушивание единичных файлов и CD-дисков.
Так как управление и работа с этим музыкальным демоном отличается от работы с привычными аудиоплеерами, то остановимся на этом более подробно.
MPD, хотя на данный момент выпущена только версия 0.13, уже входит в состав большинства дистрибутивов. Установив его из дистрибутива или репозитория в сети, не забудьте дополнительно установить клиент. Но о клиентах поговорим чуть позже.
После установки надо отредактировать конфигурационный файл /etc/mpd.conf. В этом конфиге все параметры довольно подробно описаны и прокомментированы. Здесь прописываются папки для баз данных и плейлистов демона, звуковая система, настройки микшера, кодировка файловой системы, размер буфера, параметры http-proxy. Но по своему опыту скажу, что для однопользовательского использования на домашнем компьютере достаточно просто раскоментировать драйвер звуковой системы - ALSA или OSS. Всё остальное можно оставить по умолчанию.
Теперь осталось создать ссылки на каталоги с музыкой в специальной папке - по умолчанию это /var/lib/mpd/music - и дать команду демону:
#mpd -creat-db
MPD прошуршит по указанным папкам и создаст свою базу вспомогательной информации о музыкальных файлах, которую и будет использовать при проигрывании музыки. Вот здесь то и прячется основное неудобство при прослушивании одиночных файлов или при прослушивании CD. Не очень это удобно, когда, запустив компакт-диск с музыкой, нужно ещё и делать симлинки на каталоги этого диска и обновлять базу данных, а потом всё это удалять. Поэтому MPD хорош именно для прослушивания больших коллекций музыки на жёстком диске. Сервер есть сервер. Хотя, было бы желание - и процесс с компакт-дисками вполне можно автоматизировать.
Но поделюсь своими наблюдениями. У меня для проигрывания видео установлен mplayer. Он, кроме видео, вполне подходит и для прослушивания единичных аудиофайлов и музыки на сменных носителях. Поэтому связка MPD + mplayer решает все мои задачи с видео и аудио.
Теперь переходим к клиентам, так как все остальные операции теперь делаются при помощи этих программ. Клиентов для MPD не много, а очень много. Только самых популярных я насчитал штук пятнадцать. Тут есть и консольные клиенты, есть с графическим интерфейсом, есть клиенты с веб-интерфейсом. Обозреть всё это многообразие нет никакой возможности, поэтому для примера расскажу про свой любимый ncmpc.
Ncmpc (ncurses music player client) - это консольный клиент с очень стильным псевдографическим ncurses-интерфейсом. Управление здесь покажется знакомым тем людям, которые любят vim: с помощью клавиш j/k ведется навигация по папкам, плейлистам и помощи. Он имеет несколько окон, переключаться между которыми можно по клавишам F1 - F6. Первое окно - это помощь, где описаны все клавиши управления этим клиентом. Второе окно - это экран плейлистов. В третьем окне находятся сами каталоги музыки, в которых через пробел можно помечать файлы для плейлистов, сохранять и удалять эти плейлисты. Четвёртое и пятое окна вспомогательные - здесь информация о песнях и поиск. Ну а шестое окошко представляет собой стилизованные часики для красоты. Для обновления баз данных MPD нажимаем Ctrl+U. В окне каталогов составляем нужные файлы, а через окно плейлистов их запускаем. После чего клиент можно спокойно закрыть, чтобы не путался в системной памяти и на рабочем столе.
Из клиентов с графическим интерфейсом сейчас наиболее популярна Sonata. Есть и расширение для "Огненной Лисы" foxytunes, которое позволит управлять музыкальным демоном прямо из браузера. Ну и есть, конечно же, клиенты с веб-интерфейсом, написанные на PHP, которые можно запускать через localhost.
Кстати, есть версия MPD и для Windows. Только вот не знаю, как она там работает - не проверял.
Михаил АСТАПЧИК
Горячие темы