mpg321
mpg321 — проигрыватель MP3-файлов для операционных систем Linux, BSD и других Unix-like операционных систем — свободный клон программы mpg123. Интерфейс был скопирован с mpg123, а исходный код mpg123 не использовался. mpg321 разрабатывался для использования в первую очередь с графическими фронтендами, такими, как gqmpeg, однако им можно пользоваться и из командной строки. В отличие от mpg123, он без перекомпиляции поддерживает вывод звука через ESD и ALSA, а для декодирования MP3 использует только целочисленную арифметику.
mpg321 | |
---|---|
Тип | Мультимедиапроигрыватель |
Разработчик | Джо Дрю |
Операционная система | UNIX / Linux |
Последняя версия | 0.3.2-1 (25 марта 2012 года) |
Лицензия | GNU GPL |
Сайт | mpg321.sourceforge.net |
ИсторияПравить
Плагин для FreeAmpПравить
В 1999 году Джо Дрю создал программу mpg321. Это был скрипт-обертка для фронтенда к mpg123 проигрывателя FreeAmp. Скрипт распространялся в составе Debian-пакета FreeAmp, и в течение нескольких версий назывался mpg123.freeamp
. (Сейчас этот скрипт не входит в пакет.)
mpg123.freeamp
работал не очень хорошо, и был ограничен реализацией фронтенда к mpg123 во FreeAmp, но он выполнял свою задачу: играл музыку из командной строки без необходимости инсталлировать mpg123.
Самостоятельное приложениеПравить
В начале 2001 года создатель проекта решил, что требуется полноценная открытая альтернатива закрытому проигрывателю mpg123. После небольшого исследования, для декодирования mp3 в приложении было решено использовать библиотеку SMPEG, написанную Loki Software. Так появилась первая версия.
Однако SMPEG для вывода звука требуется библиотека SDL, которая, в свою очередь, тянет за собой множество библиотек. Дрю понимал, что такое количество зависимостей является излишним, и решил, что требуются изменения. Позднее в 2001 году он начал полностью переписывать приложение. Вместо библиотеки SMPEG новая программа использовала для декодирования MP3 библиотеку Роба Лесли MPEG Audio Decoder (MAD). MAD была выбрана за высокое качество декодирования, а также потому, что при декодировании она использует исключительно целочисленные арифметические инструкции, оперируя с фиксированной запятой. Для вывода звука Дрю переключился на библиотеку libao проекта Ogg Vorbis (Xiphophorous).