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 года) |
Репозиторий | git.code.sf.net/p/mpg321… |
Лицензия | 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).