Foobar2000

foobar2000 — программный аудиопроигрыватель, разработанный Петром Павловским (, ), разработчиком-фрилансером, ранее работавшим на Nullsoft. Минималистичный интерфейс и высокая производительность программы сочетаются с широкими возможностями и расширяемостью.

Название foobar происходит от популярного в программировании имени метапеременной.

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

Ядро проигрывателя и встроенные аудиодекодеры из набора свободных библиотек FFmpeg поддерживают аудиоформаты сжатия с потерями — MPEG (MP1, MP2, MP3), AAC, Musepack, WMA, Vorbis, Speex, Opus, AC-3, DTS, аудиоформаты сжатия без потерь — FLAC, WavPack, ALAC, Monkey's Audio, TAK; аудиоформат без сжатия PCM; аудиоконтейнеры Ogg, Matroska, WAV, AIFF, Au, SND, MP4, WebM, а также звуковые компакт-диски.

Возможности 

Возможности проигрывателя в стандартной поставке:
 архитектура открытых компонентов, позволяющая сторонним разработчикам расширять функциональность программы;
 полная поддержка Юникода;
 возможность прямого точного () эксклюзивного вывода через Windows Audio Session (в Windows Vista SP1 и выше).
 выравнивание громкости и предотвращение клиппинга методом ReplayGain;
 перекодирование любых поддерживаемых аудиоформатов (требуются внешние кодировщики с поддержкой командной строки для различных форматов вывода) и копирование аудиодисков;
 улучшенные возможности обработки файлов:  () и массовое редактирование метаданных;
 широкие возможности настройки отображения списка воспроизведения;
 множественные списки воспроизведения;
 работа с фонотекой;
 настраиваемые горячие клавиши;
 бесшовное воспроизведение файлов (без пауз, );
 поддержка воспроизведения аудиопотоков;
 совместимость со скробблером Last.fm.

Дополнительные возможности 
В официальных авторских плагинах реализованы некоторые дополнительные функции:
 возможность прямого вывода на звуковую карту в обход системного микшера ();
 возможность прямого вывода на звуковую карту через интерфейс ASIO 2.0

Выпускаются подключаемые компоненты (плагины), добавляющие поддержку форматов сжатия без потерь LPAC, TTA, OptimFROG, Shorten; трекерных аудиоформатов (MOD, TFMX, S3M и др.), в том числе аудиоформатов игровых приставок и игр для домашних компьютеров: NSF, SPC700, PSF, SID и других. Устанавливаемый официальный компонент FFmpeg Decoder Wrapper добавляет возможность декодировать через подключаемые сборки FFmpeg все многочисленные форматы аудиофайлов и кодеков поддерживаемых этим набором библиотек, включая устаревшие, например, TwinVQ и QDesign Music Codec.

Существуют подключаемые модули, позволяющие воспроизводить аудио и считывать метаданные из файлов, упакованных в архивы (с извлечением их во временные файлы незаметно для пользователя): в стандартной поставке (foo_unpack.dll) — ZIP, GZIP, RAR, 7-Zip; с дополнительными подключаемыми модулями (foo_unpack_lha.dll, foo_unpackunix.dll) — LHA, TAR, BZIP2.

Исходный код ядра — проприетарный и свободно не распространяется. Тем не менее, SDK для разработки плагинов публикуется под лицензией BSD.

Качество звука 
Касательно разницы в качестве звука современных программных проигрывателей автор дал ответ на официальном сайте:
Звук foobar2000 лучше чем у других плееров?
Нет. Большинство «различий в качестве звука», когда люди их «слышат» — это эффект плацебо (по крайней мере, в случае с реальной музыкой), так как фактические различия в полученных звуковых данных находятся ниже их уровня шума (1 или 2 младших бита для разрядности квантования 16 бит). foobar2000 имеет функции обработки звука, такие как программная передискретизация или 24-битный вывод на новые высококачественные звуковые карты, но большинство других популярных плееров способны делать то же самое.

Интерфейсы 
По мере развития проигрывателя сформировались несколько различных пользовательских интерфейсов в виде подключаемых модулей: помимо стандартного () получили развитие  () и панельный () интерфейсы. Интерфейс в виде панелей обладал большими гибкостью и возможностями, однако с версии 0.9.5.3 он более не поддерживается. Вместе с тем был улучшен стандартный интерфейс, ранее не имевший почти никаких настроек. Также появился ещё один альтернативный панельный компонент интерфейса (), но из-за сложности использования со сценарным языком Squirrel развития он не получил (в качестве стандартного внутреннего сценарного языка программирования foobar2000 использует Tagz).

Ограничения 
Приложение разработано исключительно для операционных систем семейства Windows и выпускается только с англоязычным интерфейсом. Автор программы заявлял о нежелании создавать многоязычную версию. Начиная с версии 0.9.5 прекращена поддержка Windows 2000: при использовании штатного инсталлятора foobar2000 новых версий не может быть установлен в среде этой ОС.

Проприетарная лицензия проигрывателя разрешает свободное распространение только немодифицированных копий установщика программы. Однако русское сообщество пользователей проигрывателя открыто распространяло его модифицированные «сборки» с собственными инсталляторами, что привлекло внимание автора программы, в результате чего такая практика в форуме сообщества была прекращена.

Автор проекта выступает принципиально против возможности локализации и многоязычности интерфейса, поэтому foobar2000 доступен только на английском языке. Тем не менее, существуют неофициальные сборки с поддержкой русского языка, включающие в себя серьёзно модифицированные исполняемые файлы программы.

Автор не раскрывает спецификацию бинарных форматов файлов плейлиста (FPL) и конфигурационных файлов программы.

foobar2000 для мобильных устройств 
10 апреля 2014 года Павловский объявил о начале сбора средств через Kickstarter на разработку плеера foobar2000 для мобильных операционных систем.
Первые публичные версии для UWP, IOS и Android появились 10 мая 2016 года в соответствующих магазинах приложений Microsoft Store, App Store и Google Play.

foobar2000 для Linux 
5 июля 2017 года был создан репозиторий на GitHub в котором началась разработка по адаптации аудиоплеера foobar2000 для операционной системы Linux. В данный момент плеер доступен для установки в виде snap-пакета, через сервис snapcraft во всех популярных дистрибутивах Ubuntu, Fedora, Debian и многих других

foobar2000 для Mac 
29 декабря 2017 года представлена бета-версия foobar2000 for Mac — аудиоплеера для операционной системы macOS

Интересные факты 
В описании первой бета-версии 1.1.1 фигурировало название Blitz Audio Player, а выпущенной спустя несколько часов второй бета-версии приложения было возвращено название foobar2000 audio player.

См. также 
 AIMP
 iTunes
 Winamp

Примечания

Ссылки 
 
 foobar2000.ru  — крупнейший русский форум и документация по foobar2000
 

Аудиоплееры
Бесплатное программное обеспечение