Большая часть программ, о которых говорилось выше, без проблем воспроизводят музыкальные файлы и диски, однако удобнее использовать специальные приложения и утилиты для этих целей. Здесь, как и в случае с видео, выбор очень широк. Поиск в репозитарии по запросу sudo apt-cache search sound выдаст большое количество приложений. Так, на слабых компьютерах (начиная от процессора i486) для воспроизведения MP3 можно использовать консольную утилиту mpg123 (http://www.mpg123.org/) или ее аналог mpg 321 (http://mpg321.depooter.org/project/). Достаточно перейти в каталог, в котором находятся такие файлы, и выполнить команду mpg123 ./*.mp3. Все файлы, находящиеся в нем, будут воспроизведены. Несмотря на кажущуюся простоту, это мощные утилиты. Кстати, многие проигрыватели, в том числе и Winamp, используют mpg123 для воспроизведения MP3-файлов. Для файлов Ogg Vorbis есть аналогичная утилита – ogg123. Существуют консольные утилиты, имеющие псевдографический интерфейс. Например, mp3blaster (http://mp3blaster.sourceforge.net/), диалоговая программа с простым интерфейсом (рис. 3.8), умеющая воспроизводить аудиофайлы не только формата MP3, но и Ogg Vorbis, WAV и SID.
Рис. 3.8. Окно mp3blaster
Это один из немногих текстовых аудиопроигрывателей, допускающих полное интерактивное управление в процессе воспроизведения с возможностью создания гибких списков без прерывания процесса проигрывания. Плеер воспроизводит большинство форматов MP3 и имеет полноценный встроенный микшер.
В качестве альтернативы mp3blaster могут выступать playmp3list (сайт http://rucus.ru.ac.za/~urban/projects/playmp3list/) или MOC (Music On Console, http://moc.daper.net/), являющиеся неплохими консольными фронтэндами для mpg123. Проигрывателю PyTone (http://www.luga.de/pytone/) достаточно указать каталог, в котором находятся музыкальные файлы. Он просканирует коллекцию, и пользователь сможет быстро составить плейлист. Поддерживается большое количество горячих клавиш, поэтому пользоваться программой просто, имеется также поиск мелодий, вывод информации в ID3-теге и изменение скорости воспроизведения.
Однако современный пользователь предпочитает программы с графическим интерфейсом, поэтому далее разберем некоторые из них.
Проигрыватель XMMS и его последователи
В 2005 году сайт LinuxQuestions.org организовал опрос «Лучшее приложение по работе со звуком» (http://www.linuxquestions.org/questions/showthread.php?t=409046), в котором аудиопроигрыватель Amarok занял первое место, так как за него проголосовало 41,86 % пользователей. Проигрыватель XMMS, до этого практически бесконкурентно властвовавший на рабочих столах Linux несколько лет, занял второе место с результатом 28,87 %. В следующем 2006 году разрыв между этими проигрывателями стал еще больше – соответственно 57,07 % и 22,37%.
Большая часть пользователей до недавнего времени предпочитала именно XMMS (X Multimedia System) – универсальный аудиопроигрыватель, поддерживающий большое количество форматов в основном за счет их подключения в виде плагинов. За время существования XMMS количество плагинов исчислялось сотнями. Однако пользователей привлекала не только его функциональность. Проект стартовал в ноябре 1997 под руководством Питера Альма и Майкла Альма. В этом же году вышла и первая версия Winamp, который и был взят разработчиками за ориентир, поэтому XMMS внешне похож на Winamp (рис. 3.9).
Рис. 3.9. XMMS: от Winamp не отличить
Самое главное состоит в том, что в XMMS поддерживались некоторые плагины Winamp (в основном визуализации и аудиоэффектов), а также скины. Плейлисты также имели совместимый формат. Однако постепенно стабильно работающий, простой в использовании и функционально богатый проигрыватель стал сдавать позиции. Причин здесь несколько. За годы его существования было написано много кода, часть которого была далеко не лучшим, и со временем ситуация только ухудшалась. Разработчики не хотели ничего менять. В XXI веке особенно бросался в глаза устаревший интерфейс, написанный на библиотеках GTK+ еще первой версии. В итоге последняя версия 1.2.10 датирована 23 февраля 2004 года. На сайте проекта http://www.xmms.org/ одно за другим появляются прощальные сообщения вроде «Bye Bye Gentoo!», «Bye Bye Slackware!». Из репозитариев этих дистрибутивов XMMS исключен (в Ubuntu он пока есть). Такой шаг обычно вызывает бурю протеста, но в итоге можно сделать вывод, что XMMS скорее мертв, чем жив.
Однако как это принято в OpenSource, XMMS не дали так просто исчезнуть. Ему на смену пришло сразу несколько решений. Одним из проектов является его реинкарнация XMMS2 (http://wiki.xmms2.xmms.se/index.php/Main_Page). Разработки велись в течение двух лет, пока публике не был представлен первый предрелиз следующего поколения XMMS. Этот проигрыватель сменил не только расшифровку (X-platform Music Multiplexing System 2): фактически, от XMMS проекту осталось только имя, так как код был переписан заново. При разработке особое внимание было уделено переносимости, разделению и стабильности кода. Одной из особенностей XMMS2 является отделение собственно проигрывателя от пользовательского интерфейса, то есть в нем используется популярная сейчас клиентсерверная архитектура. Такой подход значительно упрощает создание альтернативных пользовательских интерфейсов и позволяет дизайнерам сосредоточиться на своих задачах, а не на воспроизведении файлов. Стало возможным удаленно управлять XMMS2 по сети. Изначально в нем поддерживаются все популярные сегодня форматы: FLAC, MP3, MOD, SID, speex, OGG Vorbis, WMA, MMS и WAV. Как и в других решениях вроде Amarok (о нем будет рассказано далее), в XMMS2 реализовано хранилище метаданных о файлах medialib, в котором можно найти данные с ID3-тегов, адреса и расположение файлов мультимедиа, а также плей-листы, составленные пользователем. Все это применяется при сборе статистики о предпочитаемых мелодиях и составлении коллекций. Список клиентов на странице http://wiki.xmms2.xmms.se/index.php/Clientlist занимает целых три экрана. Здесь есть консольные клиенты, веб-реализации, реализации на библиотеках Qt, GTK и Java, а также несколько плагинов к приложениям.
Есть даже несколько реализаций, позволяющих слушать музыку на мобильном телефоне через Bluetooth. Кроме Java, клиенты написаны с использованием С, C++, Python, Perl, Ruby и PHP. Работают клиенты на компьютерах под управлением Linux, *BSD, OS X, Solaris и Windows. К сожалению, разработки идут относительно медленно. На момент написания данной книги была доступна версия XMMS2 0.2 DrJekyll от 20 мая 2007 года. В репозитариях дистрибутивов XMMS2 встречается пока редко, самостоятельная сборка, учитывая множественные зависимости, рекомендована только для пользователей, обладающих определенными знаниями и терпением.
Другой проект, возникший в 2003 году на основе XMMS, – Beep Media Player (BMP, http://bmp.beep-media-player.org/). Особых отличий от оригинального XMMS в BMP не было. Исключение составлял обновленный интерфейс на GTK+2, поэтому BMP неплохо выглядел на современных рабочих столах. Как и XMMS, BMP напоминал Winamp и поддерживал скины, написанные для Winamp и XMMS, и те же форматы, что и в XMMS, но из-за различий в библиотеках напрямую использовать плагины было невозможно, их было необходимо сначала портировать. Некоторые скомпилированные плагины все же работали, не выдавая ошибки сегментации. После выхода в октябре 2005 года версии 0.9.7.1 мнения разработчиков по поводу дальнейшего развития проекта разошлись. В результате появилось два новых проекта. Большая часть разработчиков остановила работу над оригинальным BMP, чтобы сконцентрировать внимание на продвинутом BMPx, начав борьбу на территории, где уже безраздельно властвовал Amarok (тогда еще amaroK), а Вильям Питкок через несколько дней объявил, что продолжит работу над портированием классического XMMS под GTK+2. Его новый проект стал называться Audacious.
Долой минимализм – именно такой подход у разработчиков BMPx (Beep Media Player eXperimental, http://bmpx.beep-media-player.org). В нем есть все, что должен иметь современный проигрыватель. В первую очередь это понятный интерфейс, визуально разделенный на четыре части и позволяющий быстро отбирать нужные композиции (рис. 3.10).
Рис. 3.10. Интерфейс BMPx
Многие технологии, сервисы (MusicBrainz, Last.fm, HAL, DBus, Unicod) и спецификации поддерживаются изначально, поэтому BMPx хорошо интегрируется практически в любую среду, как программную, так и аппаратную, например, работает с различными приложениями вроде gDesklet, IM-клиентом Pidgin (ранее Gaim), IRC-клиентами X-Chat 2 и irssi. Для вывода звука использован GStreamer, поэтому проигрыватель воспроизводит музыку в поддерживаемых им форматах – MP3, OGG Vorbis и FLAC, MPC, MP3, AAC, M4A, WMA, WAV, MOD, SPC, SID, Audio CD, HTTP и MMS-потоках. Сразу после установки можно прослушать музыку с многочисленных онлайн-ресурсов (см. рис. 3.10). Несмотря на то что номер еще далек от релиза 1.0, в репозитарии большинства дистрибутивов BMPx уже включен. В случае если поиск ничего не дал, зайдите на страницу http://bmpx.beep-media-player.org/site/Downloads, где приведена вся известная разработчикам информация, в том числе и для пользователей различных вариантов BSD-систем. Например, в Kubuntu команда поиска sudo apt-cache search bmpx находит нужное приложение. Версия в репозитарии не всегда последняя, но специально для Ubuntu разработчики предлагают свое зеркало, откуда можно получить самую последнюю версию BMPx. Для этого в /etc/apt/source.list нужно добавить следующие две строки:
deb http://static.audacious-media-player.org/debian etch main
deb-src http://static.audacious-media-player.org/debian etch main
Копируете публичный ключ и добавляете его в список:
$ wget –с http://files.beep-media-player.org/packages/ubuntu/beep-media-player.pubkey
$ sudo apt-key add beep-media-player.pubkey
Обновляете список пакетов и устанавливаете командой sudo apt-get install bmpx.
Поклонникам классического XMMS/Winamp, которые считают, что проигрыватель должен в первую очередь воспроизводить музыку, и не любят перегруженных интерфейсов, стоит обратить внимание на Audacious (http://audacious-mediaplayer.org/Main_Page). Как уже говорилось, это переработанный XMMS с обновленным интерфейсом GTK+2 (рис. 3.11).
Рис. 3.11. Интерфейс Audacious
Основное преимущество Audacious по сравнению со многими решениями вроде Amarok – «легкость», поэтому его можно советовать пользователям с маломощными компьютерами. Как и в оригинале, здесь поддерживаются скины (класического стиля) от Winamp 2. Для этого достаточно скачать понравившийся скин (с расширением WSZ) с сайта http://www.winamp.com/skins и скопировать его в каталог ~/.audacious/Skins, после чего перезапустить проигрыватель и выбрать новый скин, выполнив команду Настройки → Внешний вид. Поддерживается воспроизведение музыкальных файлов в форматах MP3, Ogg Vorbis, WMA, AAC, FLAC, ALAC, WAVE, а также Midi, Musepack (MPC), Wavpack и некоторых других. Аudacious также поддерживает вывод звука через ALSA, OSS, Arts, Esound, PulseAudio, Jack и в файл. В комплект включен плагин для last.fm, реализована поддержка LIRC, различных звуковых эффектов (например, voice removal – удаление голоса) и визуализации. Есть даже будильник – Alarm. В репозитариях большинства дистрибутивов Audacious уже есть. В Kubuntu для установки всех его компонентов вводите:
$ sudo apt-get install audacious audacious-crossfade audaciousplugins audacious-plugins-extra
Примечание
Audacious построен на библиотеках среды GNOME, поэтому пользователям Kubuntu придется смириться с большим количеством зависимостей, которые занимают почти 20 Мбайт.
Работавшие с XMMS/Winamp вряд ли найдут в Audacious что-то экстраординарное и запутаются в настройках. Щелчком в левому углу вызываете меню, выбираете пункт Воспроизвести файл и указываете каталог с мелодиями.
Король Amarok
На пустующий трон короля, оставленный XMMS, быстро попал активно развивающийся проигрыватель Amarok (до июня 2006 года – amaroK). Девиз этого проекта – «посмотрите на музыку по-другому» (англ. rediscover your music). Действительно, Amarok трудно назвать просто проигрывателем, это целый комбайн со многими функциями. Есть даже мнение, что в Amarok отражено различие между двумя средами – KDE, предпочитающей функциональность, и GNOME – простоту. Учитывая, что разработчики из The Amarok Team (http://amarok.kde.org/) фактически через дверь общаются с The KDE Core Team, этот проигрыватель хорошо интегрируется в среду KDE, хотя ни один из его компонентов не является частью этой среды (его можно собрать без KDE, смотрите на сайте http://www.fugitivethought.com/projects/amarokcompile/). Именно поэтому Amarok (рис. 3.12) по умолчанию включен во все дистрибутивы, использующие KDE в качестве рабочего окружения.
Рис. 3.12. Проигрыватель Amarok
Функций в этом проигрывателе действительно много. Помимо воспроизведения файлов во всевозможных форматах, в том числе и потокового, и использования разных звуковых движков, Amarok обращается к Википедии для поиска информации об исполнителе и умеет автоматически искать тексты песен. Интеграция с last.fm дает возможность найти мелодию, похожую на имеющуюся в коллекции, и даже подобрать песни, соответствующие настроению (для пользователей Amarok создана специальная группа, к которой может присоединиться любой желающий). Обложку для оформления альбомов можно скачать с Amazon одним щелчком кнопки мыши, а специальное окно Управление обложками поможет найти альбомы, оставшиеся без обложек. В нем есть много функций для работы с тегами разных форматов (WMA, MP4/AAC, MP3 и RealMedia), возможно перемещение, переименование файлов по информации, записаной в тегах, а также редактирование тегов. Поддерживается сервис MusicBrainz (http://www.musicbrainz.org/), в котором собраны сведения о музыке, которая когда-либо была записана, что можно использовать для автоматического заполнения тегов. Ведется как автоматический, так и выставляемый самим пользователем рейтинг песен. Проигрыватель запоминает, что вы слушаете чаще всего, а что вообще не включаете, и в режиме случайного выбора отдает предпочтение любимым мелодиям. Есть поиск по многим составляющим (новые песни, любимые и прочее). Проигрыватель имеет мощный 10-позиционный эквалайзер, умеет с помощью внешних программ захватывать аудио CD и воспроизводить потоковое аудио. Функциональность расширяется с помощью модулей, которые можно найти на сайте проекта. Так, для включения функции настроения необходимо установить плагин moodbar, есть в комплекте и будильник, и модули визуальных эффектов.
При первом запуске Amarok появится мастер, который задаст два вопроса. Первый – о внешнем виде плеера – JuK (см. рис. 3.12) или XMMS. Рекомендуется выбрать первый вариант. На втором шаге будет предложено просканировать жесткий диск и создать коллекцию музыкальных файлов, которая будет сохранена в базу данных (SQLite3, MySQL и PostgreSQL). В дальнейшем пользоваться Amarok – одно удовольствие.
Проигрыватель JuK
В середине 2000 года Скотт Вилер начал создавать новый аудиопроигрыватель, который получил незатейливое имя QTagger. Делалось это больше для изучения программирования под библиотеки Qt, чем с практической целью. Некоторое время QTagger развивался независимо, пока в 2002 году Скотт Вилер не перенес его код в CVS KDE. В это время QTagger мог играть только одну песню, после чего требовалось заново нажимать кнопку воспроизведения. После добавления плей-листа QTagger был переименован в JuK, и начиная с версии KDE 3.2 JuK он является частью пакета kdemultimedia и хорошо интегрирован в KDE. Домашняя страница проекта находится по адресу http://developer.kde.org/~wheeler/juk.html.
Amarok больше ориентирован на удобство при прослушивании музыки, а JuK дает фору при работе с большой коллекцией аудиофайлов. Это не столько проигрыватель, сколько менеджер музыкальных файлов, некая музыкальная шкатулка, позволяющая не только проиграть мелодию (рис. 3.13), но и управлять большим количеством аудиофайлов в различных форматах. В нем удобно реализована работа с плейлистами.
Рис. 3.13. Окно проигрывателя JuK
Пользователь может составить сразу нескольких таких листов – все они будут доступны в основном окне программы, откуда можно быстро перейти к нужному и воспроизвести его. Плейлисты могут формироваться как статически, так и динамически. Для отбора мелодий можно задать любые комбинации поиска, которые будут автоматически формировать динамические списки. Для быстрого отбора мелодий из текущего списка есть система фильтров. После установки пользователь указывает на каталоги, в которых программа будет искать аудиофайлы, а JuK при каждом запуске будет сканировать их, обновляя списки файлов. Доступна история мелодий, которые были проиграны. Можно экспортировать и импортировать плейлисты, составленные в других приложениях.
Заслуживает внимания возможность работы с тегами аудиофайлов. Проигрыватель и редактор тегов поддерживает несколько аудиоформатов, среди которых MP3, Ogg Vorbis, FLAC (Free Lossless Audio Codec) и MPC (MusePack), хотя список поддерживаемых форматов у JuK меньше, чем в Amarok или XMMS. В настоящее время не поддерживаются форматы WMA, AAC и некоторые другие. Возможно редактирование тегов сразу в нескольких файлах, отобранных как вручную, так и с использованием фильтров. При необходимости для переименования файлов может быть использована информация в метаданных. Введенные параметры запоминаются, и однажды указанное значение будет доступно в раскрывающемся списке. Информация кешируется в двоичном виде, поэтому при последующей загрузке метаданные или плейлисты загружаются быстрее. Для идентификации мелодии через Интернет и последующего заполнения тегов JuK использует базу метаданных MusicBrainz, а для поиска обложек – сервис поиска изображений Google Image Search. Кроме того, при установленной программе записи дисков k3b-диски можно записывать из основного окна программы.