Меню

Фубар 2000 настройка: Принципы настройки конвертера foobar2000 [v1.3.x] / Audiophile’s Software – Часть 1. Основное — foobar2000 guide

Содержание

Принципы настройки конвертера foobar2000 [v1.3.x] / Audiophile's Software

ОБРАТИТЕ ВНИМАНИЕ: на данный момент информация в этой статье актуальна для foobar2000 v1.3.7Copyright © 2017, Taras Kovrijenko

Полное или частичное копирование текста допускается только с письменного разрешения автора.

Принцип работы

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

Converter Scheme

Источником чаще всего является файл-контейнер (FLAC, MP3 и т.п.) содержащий сжатое (с потерями или без) аудио, исключением являются контейнеры WAV и AIFF часто содержащие несжатое аудио. Поток фреймов (и ещё некоторая информация) из источника поступает на декодер, который на выходе даёт несжатый цифровой поток.

В случае с lossy поток имеет 32-битный формат с плавающей точкой и тут же передаётся цифровым обработчикам — DSP, ReplayGain. Для таких lossless форматов, как FLAC и WavPack, может выполняться пост-обработка — в случае, если в них обнаружен HDCD слой, несжатые данные в формате 16 бит передаются непосредственно HDCD декодеру, который в результате дает фактически 20-битное аудио, но в виде 32 бит с плавающей точкой; далее поток так же, как и для lossy, поступает на обработчики.

После обработки производится конвертация битовой глубины: для lossless кодирования — до значения, указанного на последней вкладке настроек конвертера (также есть возможность использования dithering и noise shaping при понижении битовой глубины, см. далее), для lossy — до значения, указанного как максимальная поддерживаемая кодеком разрядность входных аудиоданных.

Если кодер поддерживает ввод через STDIN, данные передаются ему «на лету», прямо по ходу декодирования и обработки. В противном случае все данные из источника сначала декодируются и обрабатываются, затем записываются во временный контейнер WAV, и только по окончании процесса этот файл вместе с параметрами кодирования передается кодеру.

Получив параметры и входные данные, кодер начинает кодирование, уже самостоятельно записывая выходной файл по указанному в параметрах адресу. По завершении кодирования foobar2000 копирует из источника метаданные (теги) в новый файл. После всего этого, при включенном ReplayGain сканировании, полученный файл опять декодируется, несжатые данные анализируются RG сканером, который затем передает рассчитанные значения теггеру для записи этих данных в наш файл.

1. Предварительная настройка

File Menu

На главной панели плеера выберите File->Preferences.


Preferences

Из древовидного меню (слева) выберите Advanced->Tools->Converter. В поле ввода Additional command-line encoder paths укажите полные пути к папкам с исполняемыми файлами (exe) кодеров через точку с запятой. Помните, что foobar2000 самостоятельно может добавлять пути в эту строку — при ручном выборе кодера (см. далее).

Примечания:
- если кодеры находятся в подпапке foobar2000/encoders, путь к этой папке можно не указывать — плеер сам ищет кодеры по данному адресу; - относительные пути к каждому кодеру, при надобности (например, для портативных версий), можно указывать непосредственно в профиле конвертера (см. дальше).


2. Настройка конвертера (на примере LAME MP3)

Context Menu

Нажмите на любом файле из плейлиста или библиотеки правой кнопкой, выберите Convert->Convert...


Converter Setup

Появится окно конвертера со ссылками на 4 группы настроек. Далее — по порядку.


2.1 Настройка кодера (Output format)

Output file format

Тут мы видим список профилей кодировщиков. Обратите внимание на настройки битности и Dithering для lossless кодеров:

 Output bit depth — глубина квантования при декодировании входных файлов: Auto, 8/16/24 (с фиксированной точкой), или 32 бит (с плавающей точкой). Рекомендуется значение Auto. Но при этом надо учитывать, что в таком случае для lossy источников будет выбрана глубина 16 бит.

 Dither — использование Dithering + Noise Shaping: never (не использовать), lossy sources only (только для lossy источников), always (всегда использовать). Использование данной технологии рекомендуется только в случае когда глубина квантования источника больше чем выходная, в остальных случаях следует установить значение

never.

Для наглядности создадим новый профиль с помощью кнопки Add New.
Editing preset

Появится окно с настройками кодера. Изначально конвертер предложит Вам стандартный диалог настройки с помощью обычного ползунка, которым можно регулировать качество от -V 9 (VBR) до -b 320 (CBR). Для более тонкой настройки, а также использования дополнительных ключей я настоятельно рекомендую выбрать в раскрывающемся списке Custom.


Output file format

Теперь можно перейти непосредственно к настройке параметров кодера.

Encoder — тут устанавливаются параметры, непосредственно влияющие на кодирование. Вверху из списка выберите Custom и введите параметры:

 Encoder — укажите путь к файлу кодировщика. Полный путь можно указать нажав кнопку "...". Также можно указать путь относительно foobar2000.exe, например:

./encoders/lame.exe. Самым простым способом будет указание имени файла кодера (для LAME это обычно lame.exe), но работать такой способ будет только если кодер с данным именем находится в одной из папок, указанной в настройках foobar2000 (смотрите пункт 1)

 Extension — расширение выходных файлов. Указать mp3

 Parameters — параметры кодирования, которые передаются кодеру. Для максимального качества пропишем :
--silent -b 320 -q 0 --noreplaygain - %d

 Do not convert in miltiple threads — установив здесь галочку, можно запретить параллельное кодирование нескольких треков при использовании данного пресета.

Bit Depth Control — параметры отвечающие за тип кодека и максимально поддерживаемую им глубину квантования входных файлов.

 Format is — тип кодека. Может быть lossy (с потерями) или lossless/hybrid (без потерь/гибридный). Опция влияет на формат данных передаваемых кодеру. Для lossy кодеров поток передается с максимальной поддерживаемой глубиной бит (смотрите ниже), для lossless сохраняется глубина бит используемая при декодировании источника (см. ниже). Для LAME установить

lossy.

 Highest BPS mode supported — максимальная поддерживаемая кодеком разрядность входных аудиоданных. Может быть 8, 16, 24 (с фиксированной точкой), или 32 бит (с плавающей точкой). Так как наш кодер LAME имеет поддержку формата с плавающей точкой, установим 32 бит.

Display Info — настройка информации отображаемой в названии профиля кодировщика, на сам процесс кодирования не влияет.

 Encoder name — укажите название кодировщика. Укажем MP3 (LAME)

 Bitrate (kbps) — укажите битрейт. Для текущего пресета — 320 kbps

 Settings — укажите параметры кодирования (не влияет на кодирование, только для отображения в списке профилей кодировщиков). Указываем параметры влияющие на качество — в данном случае это только ключи -b 320 -q 0

Нажмите "ОК".

Editing preset

Теперь в списке появится наш профиль — MP3 (LAME).5 320 kbps -b 320 -q 0. Нажмите кнопку Back. Перейдем к следующей группе настроек...


2.2 Выходные файлы (Destination).

Тут находятся настройки выходных файлов.

Output

Output path — укажите, куда будут помещаться выходные файлы:

 Ask me later (useful for saving preset) — программа каждый раз будет просить Вас указать папку

 Source folder каждый трек будет сохранятся в папку соответствующего файла-источника.

 Specify folder — все файлы будут сохраняться в папку указанную Вами в поле ввода (в случае отсутствия таковой, папка создастся автоматически).

If file already exists — если файл с именем выходного файла уже существует:

 Ask — спросить, что делать.

 Skip — пропустить кодирование данного трека.

 Overwrite — перезаписать существующий файл новым.

Output style and filename formatting — выберите способ форматирования выходных файлов:

 Convert each track to an individual file — каждый трек будет сохраняться в отдельный файл, в поле ввода Name format можно указать формат имени файла. Желательно указать "%track% %artist% — %title% (<номер трека> <исполнитель> — <название трека>), подробную информацию смотрите на странице Title Formatting Help. Учтите, что полное имя (включая расширение) выходных файлов не должно совпадать с именем файлов-источников, в противном случае Вы увидите ошибку.

 Generate multi-track files — объединение отдельных групп файлов, в соответствующие файлы. В поле «Name format & grouping pattern» указывается способ группировки/форматирования имени выходных файлов.

 Merge all tracks into one output file — все треки будут объединены в один выходной файл под названием "Image"(расширение зависит от указанного в настройках кодировщика).


2.3 Обработка (Processing)

Тут указываются параметры обработки треков перед их кодированием.

Processing

Enable decode postprocessing — опция доступна только при установленных плагинах foo_dts и/или foo_hdcd. С ее помощью включается декодер DTS или HDCD, в результате чего выполняется необратимое преобразование исходного PCM потока (например, в формат 5.1 для DTS CD, или в 24-битное аудио для HDCD). Для lossy кодирования эту опцию желательно держать включенной.

ReplayGain — Вы можете использовать данную функцию, если входные треки имеют теги ReplayGain, но учтите что её использование в случае lossless источника крайне не рекомендуется.

DSP — включает возможность применять DSP эффекты, без необходимости не включать.

DSP chain presets — Вы можете сохранять цепочки DSP в отдельные предустановки, и в дальнейшем загружать ту которая будет необходима.

Don't reset DSP between tracks — не начинать обработку заново для каждого трека — функция необходима например для кроссфейдинга (когда конец предыдущего трека миксуется с началом следующего), etc.


2.4 Остальные настройки конвертера (Other)

Other

Preview generation — Вы можете получать на выходе короткие отрезки входных треков (например, для предварительного прослушивания):

 Length percentage — задать продолжительность отрезков в процентах от исходного трека (от 3 до 30%).

 Fixed track length — задать фиксированную продолжительность отрезков (от 10 до 60 секунд).

When done — в этой графе указываются действия, которые будут выполняться по окончании кодирования.

Show full status report — включить вывода отчета о результатах кодирования. Если данную опцию выключить, отчет будет выводиться только при наличии ошибок.

ReplayGain-scan output files as albums — автоматическое сканирование созданных файлов сканером ReplayGain. Рекомендуется включить при lossy кодировании.

Transfer attached pictures — копирование картинок, вшитых в теги исходных треков, в теги результирующих треков.

Copy files to destination folder — копировать файлы с указанным расширением из исходной папки в целевую (например, «*.CUE;*.JPG»)


2.5 Завершение настройки.

Completion

Теперь вернитесь в главное окно конвертера. Нажмите кнопку Save чтобы сохранить профиль, введите имя профиля — LAME MP3, 320 kbps. После нажатия на кнопку Convert начнется конвертация файлов, для выхода нажмите Cancel.

Теперь можно конвертировать треки, просто выделив их в плейлисте/библиотеке и нажав ПКМ->Convert->LAME MP3, 320 kbps.

[Обсудить на форуме]


Информация от спонсора

HOTVPN: качественный VPN сервис с прокси. Легкий в использовании, простая настройка. Высочайший уровень безопасности, 100% гарантия анонимности.

Часть 1. Основное - foobar2000 guide

Если вы решили установить и настроить его сами, а не воспользоваться чьей-либо сборкой, тогда идем на http://www.foobar2000.org/download и качаем последнюю версию. Установка обычна — выбор типа установки (стандартная и портабельная), пути и компонентов — я выбираю все, за исключением Archive Reader (чтение музыки из архивов):

Если выбран стандартный тип установки, то фубар, как и большинство программ под Windows, для хранения своих файлов использует две папки:

C:\Program Files\foobar2000 (или C:\Program Files (x86)\foobar2000 — для x64)

для хранения файлов самой программы и компонентов, и

C:\Documents and Settings\имя_пользователя\Application Data\foobar2000 (для Windows XP) или
C:\Users\имя_пользователя\AppData\Roaming\foobar2000 (для Windows Vista и Seven)

для хранения пользовательских данных, плагинов и файлов настроек. В реестре никакие записи кроме информации об интеграции в систему не хранятся, поэтому перенос фубара на другой компьютер со всеми плагинами и настройками осуществляется крайне просто — копируем эти две папки и все.

После первого запуска появляется вот такое окно:

где можно выбрать внешний вид из предустановленных тем. Но пока просто закроем его и увидим главное окно фубара:

Не сильно впечатляет на первый взгляд. Что ж, посмотрим, что он умеет.

Через File -> Add folder… / Add files… добавим какую-нибудь музыку. Это самый примитивный и в тоже время эффективный способ создания плейлистов — по мере надобности через File -> New Playlist (или двойным щелчком на пустом месте в панели вкладок) создаем новый, а старые так и остаются во вкладках:

Неплохой вариант для тех, кому нужно что-то простое и в тоже время функциональное, без сложностей с созданием библиотеки, сортировкой по каталогам, проставлением тегов и т.д.

Через пункт меню View -> Equalizer доступен 18-ти полосный

Воспроизведение музыки с домашнего компьютера на мобильном телефоне (foobar2000 UPnP server, foobar2000 mobile)

Дата обновления: 17 Мая 2018

Сегодня я наконец воплотил давнюю мечту — получить удалённый доступ к домашней музыкальной библиотеке с мобильного устройства. Отныне никаких флешек с гигабайтами музыки, никакой конвертации, перебрасывания музыки на телефон. Всё, что теперь нужно — это foobar2000 на домашнем ПК и foobar2000 mobile на телефоне (есть для Android, iOS и Windows Phone).

Долгое время я не мог запустить сервер на компьютере так, чтобы он был доступен извне. Когда я наконец настроил роутер и файрволл, оказалось, что в моей Windows отключен какой-то компонент, отвечающий за протоколы UPnP. Я перепробовал всё, осталась только переустановка Windows, а на это у меня времени не было.

Но вот недавно системный жесткий диск начал давать сбои, и я купил небольшого объёма SSD, после чего установил на него Ubuntu 18 и Windows 7 (бесконечно устал от ни в какую не отключаемых обновлений Windows 10). Теперь наконец-то появилась возможность запустить на компьютере UPnP медиа-сервер. Но когда я запустил и настроил сервер, успешно подключился к нему с foobar2000 на ноутбуке — оказалось, что foobar2000 mobile по какой-то непонятной причине не может подключиться к серверу через интернет (не через локальную сеть). Я потратил на настройку полдня и был ужасно огорчен, когда понял, что все усилия пропали даром.

К счастью, на днях разработчик foobar2000 ответил на мой баг-репорт (на hydrogenaud.io) и подсказал решение проблемы (временное, т.к. по факту я столкнулся с каким-то скрытым багом мобильного плеера). И вот теперь я могу поделиться алгоритмом настройки удалённого медиа-сервера с вами.

Настройка foobar2000 + UPnP

Нам понадобится последняя версия foobar2000 и плагина foo_upnp (UPnP/DLNA Renderer, Server, Control Point). Установите плагин и заходите в настройки (File->Preferences):

В данной статье нас интересует только сервер. Включаем его и единый формат потока для всех устройств.


Здесь находятся настройки транскодирования. Мы выбрали использование профиля Default для всех устройств (иначе можо выбирать профиль по HTTP-заголовку User-Agent). На скриншоте можно видеть, что я отключил любое транскодирование и преобразование. Это вполне рабочий вариант — мобильный foobar2000 поддерживает все продвинутые форматы, включая Opus, TAK. Однако, если у вас на телефоне медленный интернет или пакет с ограниченным количеством трафик, можно использовать преобразование lossless форматов в MP3 (оптимальное соотношение размера и качества даёт VBR V2) — для этого нужно поставить галочку «Except lossless» в разделе Transcoding. Однако помните, что при транскодировании недоступна прокрутка.


Теперь нам нужно включить доступ к серверу извне (пока он доступен только в локальной сети — например, для устройств подключеных к той же точке Wi-Fi, что и ваш ПК). В поле IP нужно ввести реальный IP (его можно узнать на 2ip.ru).

Настройка файрвола (брандмауэра)

Чтобы клиенты могли подключаться к серверу UPnP, нам прежде всего необходимо открыть его порт для входящих подключений. Для этого добавим правило в настройки брандмауэра Windows. Переходим в Панель управления->Система и безопасность->Брандмауэр Windows->Дополнительные параметры->Правила для входящих подключений), жмём справа Создать правило и вводим настройки:

Настройка роутера

Очень часто домашний компютер подключен к сети не напрямую, а через роутер (кабелем или по Wi-Fi). Если это ваш случай, то все входящие запросы будут поступать на роутер, и ему необходимо сообщить, что запросы к нашему порту для UPnP нужно передавать именно на компьютер. Я приведу пример настройки роутера TP-LINK WR740N.

Сначала узнаем адрес компьютера в локальной сети роутера. Переходим в Панель управления->Сеть и Интернет->Сетевые подключения, открываем текущее подключение и по кнопке «Сведения...» смотрим адрес IPv4:

Теперь переходим по адресу веб-интерфейса роутера (в моём случае http://192.168.0.1), вводим имя и пароль (admin/admin у меня) и пробрасываем порт для протокола TCP. Должно получиться так:

Теперь для верности можно всё перезагрузить — Windows, роутер. Ну и запустить foobar2000 конечно же (если сервер UPnP не стартовал автоматически, запустите его из меню Library).

Настройка foobar2000 mobile

Дело за малым — осталось добавить адрес сервера в мобильный плеер. В самом низу в плеере выбираем пункт Media Servers и добавляем новый (Add new) в формате http://login:[email protected]:port. Например: http://audiophile:[email protected]:56923.

Именно здесь меня и ожидал подвох. По непонятным причинам подключение UPnP с мобильного плеера чере мобильный интернет не работало, пока я по рекомендации Петера Павловски не указал полный путь к XML: http://audiophile:[email protected]:56923/DeviceDescription.xml

Так что если у вас первый вариант не сработал, просто допишите имя этого XML через слеш.

Всё готово. Теперь подождите, пока имя сервера станет черным (если этого не произошло, перезапустите плеер) и нажмите на него. В вашем распоряжении вся музыкальная библиотека ПК.

А ещё в контекстном меню треков доступно скачивание:

Теперь осталось сказать большое спасибо разработчикам мобильного foobar2000 и всем, кто пожертвовал деньги на стартап.

Обустраиваем foobar2000 - ITC.ua

Проигрыватель foobar2000 популярен у опытных пользователей благодаря нетребовательности к ресурсам и огромным возможностями по настройке и кастомизации. Увы, сам дистрибутив не радует удобством интерфейса, и многие пугаются его аскетичности, не догадываясь о наличии множества дополнений и готовых тем оформления.

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

Начальная настройка

В принципе добавлять конфигурации, отличные от стандартной, совсем необязательно. В комплекте с плеером уже поставляется компонент под названием Default User Interface, позволяющий прямо при первом запуске отформатировать интерфейс по своему усмотрению. В этом случае не пропустите окно Quick Appearance Setup, где на выбор предлагаются 9 вариантов оформления. Изменить настройки можно в любой момент, зайдя в меню View→Layout→Quick Setup.
После того как вы определитесь с интерфейсом, необходимо создать библиотеку мультимедиа-файлов. Для этого открываем пункт Configure в меню Library. Нажимаем кнопку Add и указываем папку с музыкальными файлами. Foobar2000 примечателен тем, что позволяет заносить несколько путей и автоматически следит за изменениями в директориях.

Если у вас установлена качественная звуковая карта с поддержкой ASIO (например, на чипе Creative X-Fi), стоит загрузить дополнительный компонент для возможности вывода звука через данный модуль. Для этого найдите в перечне по адресу www.foobar2000.org/?page=Download плагин ASIO Support и поместите его после загрузки в папку components внутри директории с foobar2000.

Затем в настройках Preferences→ Playback→Output→ASIO Virtual Devices добавьте новое устройство, где в списке выберите Creative ASIO.
После в родительском меню Output укажите в качестве Output Device пункт ASIO: Creative ASIO.

Владельцам встроенных звуковых карт или недорогих продуктов без поддержки ASIO рекомендуем воспроизводить звук в обход программных микшеров Windows, применяя компонент под названием Kernel Streaming Support. Его можно загрузить по той же ссылке и выбрать в списке Output Device устройство с приставкой KS:.

Изменяем layout

Для более детальной настройки схемы отображения блоков в плеере foobar предусмотрены три способа, основанные на различных компонентах. Первый – Default User Interface, встроенный в последнюю версию проигрывателя. Еще два – ColumnsUI и PanelsUI. Мы воспользуемся стандартным.

Для начала стоит определиться с количеством требуемых панелей внутри окна плеера. Посчитайте необходимые (плей-лист, окно с изображением обложки альбома и т. д.), после чего с помощью View→Layout→ Quick Setup выберите наиболее подходящий по числу layout. Далее нужно включить режим редактирования схемы View→Layout→Enable Layout Editing Mode. Теперь по нажатии правой кнопки мыши на любой панели будет появляться специальное меню, позволяющее заменять блоки.

Устанавливаем новую тему

Если в итоге внешний вид и функциональность foobar2000 вас не устраивают, попробуйте применить разнообразные темы, которых в Сети предостаточно. К сожалению, прозрачного механизма их установки нет, да и с совместимостью могут возникнуть проблемы, поскольку большинство существующих схем используют компонент PanelsUI, не поддерживаемый последней версией плеера. Выход один – искать темы, построенные на плагине ColumnsUI. Одной из таких схем, отличающихся отличным интерфейсом и функциональностью, можно назвать работу француза с ником Br3tt, который разместил ее на своей страничке на Deviantart.

Для установки загружаем пакет (br3tt. devia-ntart.com/art/Xchange-v1-0-0-121967506), а также необходимые компоненты (br3tt.online.fr/files/X/components-xchange.7z) и шрифты (br3tt.online.fr/files/X/fonts-xchange.7z). Содержимое архива со шрифтами нужно скопировать в папку WindowsFonts, а компоненты поместить внутрь директории components (в папке, где установлен foobar2000). Отметим, что копировать необходимо сами файлы, без папок fonts-xchange и components-xchange.

Далее создаем директорию foobar2000skins, куда копируем папку xchange из основного архива. Затем запускаем плеер и в открывшемся окне диалога выбираем пункт Columns UI. Теперь необходимо импортировать конфигурационный файл, для чего заходим в File→ Preferences→Display→Columns UI и в разделе FCL importing and exporting нажимаем кнопку Import. Указываем путь к файлу foobar2000skinsxchangexchange1.0.1.fcl и кликаем на OK.

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

Настройка foobar2000 для воспроизведения DSD.

В данной статье мы рассмотрим вопрос настройки программного аудио проигрывателя fooobar для прослушивания DSD-аудио. 

Стоит отметить, что для воспроизведения DSD потока потребуется и соответствующее аудио оборудование, например DSD-ЦАП, который и будет обрабатывать DSD-поток. В моем случае это будет цап AH-D5 в связке с usb транспортом amanero.

Итак, приступим к настройке

Первое, что нам нужно сделать, это установить драйверы на используемое аудио оборудование. Эти драйверы в большинстве случаев вы можете скачать с сайта производителя вашего ЦАП. В моем случае это будут драйверы на usb транспорт amanero. Почему-то драйвер версии 1.057 с моим combo384 не заработал, а вот 1.056 и 1.059 заработали сразу (скачать их можно по указанным ссылкам с сайта разработчика или из вложения к статье).

Настройка ASIO и SACD плагина:

  • Установим непосредственно сам плеер  Foobar2000, если он еще не установлен.
  • Далее установим ASIO плагин для Foobar (http://www.foobar2000.org/components/view/foo_out_asio).
  • Далее установим SACD Декодер плагин для Foobar (можно скачать из вложения). Распакуйте архив и установите foo_input_sacd.fb2k-component, также еще можно установить foo_dsd_processor.fb2k-component.
  • Откройте Foobar2000 для настройки
  • Выберите: File >  Preferences -> Playback -> Output -> Device и выберете DSD : ASIO : Combo384 ASIO 1.0х.

  • Выберите: File >  Preferences -> Tools -> SACD -> Output Mode -> DSD + PCM

Теперь просто загрузите некоторые DSD и прослушайте.

 

Об установке плагинов (компонентов) foobar2000 / Audiophile's Software

Дата обновления: 16 Декабря 2012

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

Из истории foobar2000

Изначально все плагины имели вид foo_*.dll (* — любая комбинация символов). При чем плагины группы обработчиков имели вид foo_dsp_*.dll, плагины вывода — foo_out_*.dll, и т.д. Распространялись эти dll файлы в архивах, и для установки плагина надо было распаковать архив и поместить dll файл в папку foobar2000\components\ (например, C:\Program Files\foobar2000\components\foo_out_ks.dll).

Затем появилась возможность включить режим разделения настроек плеера по пользователям. В этом режиме все папки с файлами конфигурации, базы данных, плейлисты и пр. хранились по адресу вида C:\Users\%USERNAME%\AppData\Roaming\foobar2000\, где %USERNAME% — имя пользователя. Вскоре появилась и возможность устанавливать компоненты для каждого пользователя плеера. Папка components в установочной папке foobar'а осталась, но в ней по умолчанию находились только основные компоненты плеера, дополнительные же плагины ставились каждым пользователем отдельно в папку вида C:\Users\%USERNAME%\AppData\Roaming\foobar2000\user-components\. И что немало важно, адрес dll файла должен иметь вид C:\Users\%USERNAME%\AppData\Roaming\foobar2000\user-components\foo_*\foo_*.dll — т.е. в папке user-components находится еще по отдельной папке для каждого плагина. Например, \user-components\foo_out_ks\foo_out.ks.dll. Это позволило также хранить рядом с dll файлами плагинов дополнительные файлы, которые этими плагинами использовались.

Кроме того, оставался еще портативный режим, при котором все-все файлы, папки и настройки находятся в установочной папке плеера. В этом случае там же находились папки components и user-components.

Теперь о способах установки плагинов. После появления папки user-components плагины стало возможным устанавливать не только вручную, создавая отдельную папку и копируя туда dll с сопутствующими файлами, но и через интерфейс плеера (Preferences->Components). Изначально можно было перетащить файл foo_*.dll в список компонентов и он автоматически устанавливался в отдельную папку в user-components (в папке пользователя, или в папке плеера — в зависимости от режима установки плеера). Там же появилась кнопка Install, по которой открывался проводник — для выбора dll файла.

Серым отмечены компоненты, установленные в папку foobar2000\components

Но в таком способе был недостаток — не устанавливались сопутствующие dll файлы. Т.е., если выбран был foo_out_wasapi.dll, он устанавливался в папку user-components\foo_out_wasapi\, но необходимые ему файлы WASAPIHost64.exe и WASAPIHost32.exe рядом не помещались.

Наши дни

Вышеописанную проблему разработчик успешно решил. На данный момент в плеере зарегистрировано специальное расширение файлов — *.fb2k-component. По сути файлы с расширением fb2k-component представляют собой zip архив, в котором находится файл foo_*.dll и необходимые ему файлы. Именно в таком виде на официальном сайте плеера теперь размещаются все компоненты (хотя некоторые еще остались в виде архивов с расширением zip). Файл *.fb2k-component можно указать в диалоге установки компонентов (настройки плеера), или просто открыть его через плеер — плагин автоматически установится в нужную папку, вместе со всеми сопутствующими файлами.

Теперь — что касается моей страницы с плагинами. Пока что большинство плагинов там находятся в 7-zip архивах, в которых также находится описание, история изменений и полезные ссылки. Плагины без сопутствующих файлов лежат непосредственно в архиве — для их установки надо распаковать архив, затем зажать в плеере клавишу Shift, открыть меню File и выбрать пункт Browse configuration folder. В открывшейся папке (это будет папке плеера для портативного плеера или папка пользователя для стандартной установки) необходимо найти подпапку user-components (или же создать её), в ней создать папку foo_* и скопировать туда файл foo_*.dll. Для плагинов, идущих с дополнительными файлами, в архиве уже имеется папка foo_*.dll — надо просто скопировать её в папку user-components.

Чтобы облегчить пользователям сайта жизнь, я решил перейти на новый метод установки плагинов и теперь упаковываю все dll и доп. файлы в архивы foo_*.fb2k-component — они лежат в 7-zip архиве, рядом с описанием и прочими файлами. Всё что необходимо сделать для установки — распаковать архив (с помощью 7-Zip) и открыть файл foo_*.fb2k-component через плеер.

Надеюсь, теперь я прояснил всё, что касается плагинов foobar2000. Если всё-таки остались вопросы — пишите.


Информация от спонсора

ПЭЛК: первая эскалаторно-лифтовая компания. В спектр услуг компании входит: обслуживание лифтов, эскалаторов и другого грузоподъемного оборудования, их установка, ремонт и замена. ПЭЛК - это высокий профессионализм и максимальная оперативность проводимых работ.

исследование звукового тракта / Audiophile's Software

Внимание: с выходом новой версии AIMP3 большая часть результатов в этом обзоре стала неактуальной. Ознакомиться с обзором новой версии AIMP вы можете здесь.

Пролог

Следуя принципу «не foobar'ом единым», я решил заняться рассмотрением альтернативных плееров. Начну я конечно же с AIMP, так как он является вторым по популярности среди посетителей данного сайта (60% foobar2000, 20% AIMP).

Исследованию я подвергну самую важную для нас часть плеера, а именно — звуковой тракт — декодер, обработчики и вывод. Параллельно я буду сравнивать эти составляющие с соответствующими составляющими foobar2000, а затем подводить итог о преимуществах того или иного плеера.

Используемое оборудование и ПО

Microsoft Windows 7 Ultimate SP1 x64

AIMP v3.50 build 1277
foobar2000 core 1.2.9 + SoX Resampler 0.8.3
RightMark Audio Analyzer 6.3.0
Adobe Audition CS6
Sony Sound Forge 10.0c

Creative X-Fi XtremeGamer

В процессе исследования звуковой поток будет выводиться либо в файл, либо записываться с источника «What U Hear» карты Creative X-Fi XtremeGamer. В режиме Bit-Matched playback (Audio Creation mode) карта способна без внесения изменений пропускать через себя 24-битный поток.

Декодер

В плеере используются декодеры BASS. Собственно, здесь нас интересуют результаты декодирования для lossy форматов, т.к. для lossless результаты на выходе декодеров всегда идентичны (иначе это было бы грубой ошибкой). Сравнивать мы будем декодер AIMP3 с декодером foobar2000. Кодировать будем тестовый сигнал RightMark Audio Analyzer 16 бит/44.1 кГц с помощью LAME 3.99.5 с ключами -b 320 -q 0.

Чтобы не мучиться с записью, декодировать будем конвертерами AIMP и foobar2000 (т.к. декодеры там те же, что в плеерах). Но тут обнаруживается один интересный факт. Если в foobar2000 доподлинно известно, что декодирование и вся обработка происходят в формате 32-bit float, то в AIMP, похоже, с этим проблемы. Скажем, если воспроизводить закодированный MP3 файл, в окне статуса воспроизведения мы видим:

Здесь говорится о том, что с декодера поступает поток в формате 16 бит. Это не очень хорошо, т.к. MP3 файл может быть получен также и из 24-битного источника (этого точно знать нельзя, разрядность у lossy файлов отсутствует как таковая, а данные о разрядности источника не сохраняются), т.е. запись может иметь динамический диапазон больше 97 дБ (максимум для 16 бит), и тогда, при декодировании в 16 бит самые тихие звуки (ниже -97 dBFS) обрежутся. Что ж, это мы еще проверим. Пока займемся 16-битным источником.

Итак, в foobar2000 декодируем по накатанной схеме. В AIMP открываем конвертер и выбираем WAVE.

Для равноправия плееров форсируем в конвертере вывод в 32-bit float. Будет это так называемый padding (добивание из 16 бит до 32 нулями) или же декодер правда будет работать в 32 бит с плавающей точкой — сейчас разберемся.

А теперь посмотрим на отчет анализа полученных файлов.

Худшие опасения насчет AIMP подтвердились. Посмотрите на шумовую полку:

То, что 16-битный уровень шумов (-97 dBFS) сохраняется и после 20 кГц (где LAME уже применяет НЧ фильтр), говорит не иначе, как о том, что в процессе декодирования использовался формат 16 бит. Иначе шумы в зоне отсутствия сигнала были бы как у foobar2000 — куда ниже.

Но сразу успокою ярых поклонников AIMP, спектральный состав в диапазоне до 20 кГц идентичен:

И для обычных MP3 файлов, полученных из 16-битных источников, шумы ну уровне -97 дБ в диапазоне >20 кГц совершенно безобидны, т.к. даже при большом желании услышать их невозможно.

А теперь, чтобы выяснить таки, был ли ошибкой выбор 16-битного формата декодирования, перейдем к MP3 из 24-битного источника. А еще лучше — поиграем в максималиста и также поднимем частоту дискретизации до 48 кГц. Это воссоздает условия кодирования какого-нибудь DVD-Audio источника.

И сразу смотрим отчет.

Для наглядности я добавил анализ исходного WAV файла — чтобы иметь представление о реальных характеристиках 24-битного аудио. Итак, что мы видим? Во-первых интересно, что в данном случае при отсутствии сигнала (когда тестируются шумы) декодер AIMP выдает нам полный ноль (-400 dBFS для 32-битного формата). Это можно объяснить тем, что в MP3 данных в этот момент уровень сигнала описывается значениями намного ниже — 97 dBFS, и во время преобразования в 16-бит мы получаем конечно же тот самый круглый ноль. А потом этот ноль преобразовывается в заданный нами в конвертере формат — т.е. в 32-битный ноль, который соответствует -400 dBFS. Да, именно так — AIMP продолжает использовать при декодировании 16-битный формат. И это весьма прискорбно. Если foobar2000 по параметрам «уровень шумов» и «динамический диапазон» полностью соответствует исходному аудио, то у AIMP с динамическим диапазоном явно проблемы.

Чтобы окончательно утвердить разгром AIMP на этапе декодирования, проведем эксперимент: закодируем чистый тон с частотой 1 кГц и уровнем -110 дБ в MP3, а потом декодируем его.

Спектр исходного сигнала (24 бит 48 кГц):

Спектр сигнала кодированного в MP3 и декодированного foobar2000:

А теперь спектр на выходе декодера AIMP...

Полный штиль! Абсолютная цифровая тишина. Т.е., сигнал утерян. И, таким образом, динамический диапазон в 102 дБ (по результатам для AIMP) говорит, что все звуки тише -102 dBFS будут безвозвратно утеряны.

Еще печальнее, что 16-битное декодирование используется для всех lossy форматов — AAC, OGG, MPC...

1-0 в пользу foobar2000.

Обработчики

На данном этапе нас прежде всего интересует преобразование частоты и разрядности квантования. Посмотрим, какие возможности предлагает нам AIMP. Для того чтобы получить возможность ручного выбора разрядности и количества каналов, необходимо указать вывод DirectSound либо WASAPI Exclusive. В остальных случаях эти параметры выбираются автоматически, но об этом позже.

Вообще, сразу бросается в глаза фиксированный параметр частоты дискретизации. Т.е. при воспроизведении источников с различной частотой семплирования, нам придется или постоянно менять настройки вывода, или пользоваться встроенным ресемплером. Кстати, в случае, когла ASIO поддерживает автомат опорной частоты, значение семплрейта «as source» очень бы пригодилось... Что ж, может всё-таки стоит воспользоваться ресемплером? Давайте проверим его качество.

Итак, если мы будем воспроизводить, скажем, Audio CD, потом DVD Audio (с частотой семплирования, скажем, 96 кГц), то лучшим вариантом будет установить в настройках максимальную частоту — чтобы всё при необходимости преобразовывалось в 96 кГц. И опорную частоту звуковой карты тогда тоже стоит поставить 96 кГц.

В документации к AIMP явно не указано, какой алгоритм ресемплинга используется, но указано использование BASS Audio Library, так что вероятно, эта библиотека включает в себя и ресемплер. В любом случае, давайте наконец перейдем к тестированию.

Будем использовать также тестовый сигнал RightMark и конвертер AIMP3. Сигнал мы возьмем формата 24 бит/44 кГц, чтобы подробно исследовать качество передискретизации. Сравнивать будем с ресемплером SoX (Best, Aliasing: off) из foobar2000.

Посмотрим на результаты. Давайте по порядку.

Судя по АЧХ, AIMP использует минимально-фазовый фильтр. Об этом говорит пологость среза. Напротив, SoX, в данном случае установлен в режим с линейной фазой, крутизна среза очень высока. В общем, АЧХ у обоих ресемплеров вполне приемлемая.

А вот на графиках интермодуляционных и гармонических искажений мы видим большое количество искажений у AIMP, в т.ч. новые спектральные составляющих в диапазоне >22.05 кГц, которые представляют собой алиазинг (отражение частот) и обусловлены плохим подавлением. Здесь AIMP яявно проигрывает SoX'у, график которого практически идеален.

Теперь продолжим тестирование ресемплера AIMP по методике, которую я уже использовал в сравнительном тесте ресемплеров. Начнем со спектрограммы. Напомню: тестовый сигнал имеет разрядность 16 бит, так что мы увидим реальные результаты, которые получатся при воспроизведение, обычных записей, например Audio CD.

Вот те самые искажения в области слышимых частот, которые мы видим на графиках RMAA. НЧ фильтр явно работает очень плохо — настолько плохо, что алиазинг даже восприниматься на слух (проверено на семgле udial). Теперь для сравнения взгляните на результаты SoX:

Срез на уровне 21 кГц. Подавление отражений идеальное.

Перейдем к тесту звона.

Вверху импульсная характеристика AIMP, внизу — foobar2000 SoX. Как видно из характеристики AMP., фильтр всё же не минимально фазовый, т.к. присутствует упреждающий звон. Тем не менее, уровень и продолжительность звона несколько меньше, чем у SoX — и это единственное преимущество, полученное ценой плавного спада АЧХ. Так или иначе, у SoX звон в любом случае находится в области 20 кГц и на уровне —120 dBFS и на 16-битные записи он не возымеет абсолютно никакого влияния (а на 24-битных просто не будет слышен).

Таким образом, алгоритм ресемплирования AIMP однозначно проигрывает, даже стандартному фубаровскому PPHS (смотрите тест). 2-0 в пользу foobar2000, а мы тем временем переходим к тесту преобразования разрядности.

Для проверки мы будем преобразовывать 24-битную запись в 16-битную, имитируя таким образом воспроизведение 24-битного контента на картах без поддержки данного формата.

Как я уже писал, foobar2000 имеет возможность включения дизеринга, который позволяет при понижении разрядности из вот такого:

вместо этого:

получить вот такое:

Каким же образом выполняет преобразование AIMP? Настроек дизеринга я в нем не нашел. Возможно, дизеринг включается автоматически? Давайте проверим.

Возьмем ту самую синусоиду с уровнем -60 dBFS в формате 24/96 и выполним преобразование конвертером AIMP в 16 бит. Затем проанализируем спектр результата с помощью RMAA.

Очень жаль, но AIMP выполняет преобразование простым отбрасыванием младших разрядов, без использования дизеринга. Результат — значительные гармонические искажения и малый динамический диапазон. 3-0 в пользу foobar2000.

Итак, у нас осталось преобразование каналов. Я не буду слишком подробно останавливаться на данном вопросе. Процитирую справку AIMP:

Вопрос:
Что делает опция «Расширенная обработка каналов» из настроек воспроизведения?

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

Пример 1:
Исходный файл имеет 5.1 (6 каналов), а на выходе стерео (2 канала). При отключенной опции в колонках будет воспроизводиться только 1-й и 2-й каналы исходного сигнала.
Если же опцию включить — на левый канал пойдет микс 1-го, 3-го (левые каналы) и 5-го (центральный) каналов, а на правый канал — микс 2-го, 4-го (правые) и 5-го (центральный) каналов.

Пример 2:
Исходный файл имеет стерео формат (2 канала), а на выходе 5.1 (6 каналов).
При включенной опции — на 1-й и 3-й (левые) каналы 5.1 системы пойдет сигнал левого канала стерео, на 2-й и 4-й (правые) — пойдет правый канал, на центральный канал пойдет микс обоих каналов стерео, а на сабвуфер — низкочастотная составляющая центрального канала.

Таким образом все настройки микширования сводятся к вкл/выкл и выбору количества каналов. Нет возможности даже установить частоту среза для сабвуфера. А теперь вспомним Channel Mixer (стерео в 5.1, 5.1 в стерео) и Crossover DSP для foobar'a... Счет 4-0 в пользу foobar2000.

Вывод звука

Что мне нравится в AIMP3 — так это наличие всех необходимых компонентов прямо «из коробки». И если в foobar2000 вам придется ставить вывод ASIO, WASAPI Exclusive, декодеры APE, TAK и проч., то в AIMP вы имеете это всё сразу после установки.

Итак, у нас есть 4 метода вывода, рассмотрим их по порядку.

DirectSound

Этот метод предназначен для совместимости с Windows XP. В нем доступен выбор разрядности, и конфигурации каналов. Звук передается операционной системе в обычном режиме, работают все эффекты и преобразователи микшера Windows. В Windows Vista/7/8, например, сигнал будет приводиться к формату указанному в свойствах устройства вывода (панель управления Windows).

WASAPI Exclusive

Монопольный режим, который отключает все обработчики WASAPI. Аналогичен выводу Kernel Streaming в Windows XP. Доступен ручной выбор частоты, разрядности и количества каналов. Вся необходимая обработка (преобразование частоты, разрядности, количества каналов) производится плеером.

ASIO

Этот режим позволяет достичь двух целей: во-первых обойти обработчики Windows, во-вторых достичь низкой задержки вывода (что для обычного проигрывания музыки в общем-то не важно). Настройки разрядности и количества каналов диктуются драйвером ASIO.

WASAPI (Shared)

Стандартный метод вывода для Windows Vista/7/8. Аналогичен в этих ОС выводу DirectSound, но при этом частота семплирования, разрядность и количество каналов выбираются автоматически. Здесь надо рассказать чуть подробнее.

Частота семплирования и количество каналов выбирается в соответствии с разрядностью, установленной в параметрах звукового устройства Windows. При несоответствии количества каналов источника и устройства плеер выполняет микширование (в случае включенной расширенной обработки каналов).

Ресемплирование также выполняется плеером, что весьма и весьма странно. Дело в том, что WASAPI включает в себя т.н. resampler MFT (Media Foundation Transform). Этот ресемплер выполняет преобразование частоты всех поступающих на него аудио сигналов до значения указанного в свойствах звукового устройства Windows. API позволяет изменять качество алгоритма ресемплирования от 1 до 60 (значение по умолчанию — 30). Но даже в режиме по умолчанию качество ресемплера Windows превосходит качество ресемлпера AIMP.

Давайте проверим. Сравним ресемплер AIMP и ресемплер Windows, который будет работать, если в AIMP выбрать вывод через DirectSound.

Итак, сначала в панели Windows устанавливаем для карты формат 24 бит/96 кГц, опорную частоту карты также ставим 96 кГц. Устанавливаем в AIMP режим WASAPI (shared). Затем воспроизводим тестовый файл формата 24 бит/44.1 кГц и записываем его Райтмарком. В этом случае ресемплирование будет выполнять AIMP (в окошке статуса будет указан формат вывода 32 бит 96000 Гц). Далее устанавливаем в AIMP режим DS, частоту 44.1 кГц и разрядность 32 бита (float). Снова воспроизводим тестовый файл и записываем его Райтмарком. Таким образом преобразование 44.1->96 будет выполнять Windows.

Смотрим на результат. Ресемплер Windows действительно намного лучше встроенного в AIMP.

Хотел бы еще сказать о разрядности. foobar2000 в режиме WASAPI shared (там этот режим указан как DS) использует вывод в формате с плавающей точкой. Преимущества от этого очевидны — при таком формате исключается клиппинг на этапе вывода звука плеером. Для случаев, когда сигнал превышает допустимый уровень, Windows применяет специальный лимитер (limiter APO), по принципу работы аналогичный Advanced Limiter DSP в foobar2000. Таким образом аудио данные в foobar2000, начиная с декодера (для lossy) и включая вывод представляются в формате 32-bit floating point, что является очень большим преимуществом.

Что касается AIMP, то здесь всё весьма странно. Не смотря на то что в режиме DirectSound возможен выбор формата 32-bit (float), в режиме WASAPI (shared) плеер автоматически выбирает режим с фиксированной точкой. Тем самым сводя на нет возможности предотвращения клиппинга лимитером Windpws. Выходит, что вывод DirectSound с ручной установкой частоты и количества каналов предпочтительней, чем WASAPI.

Итог

Здесь я хотел бы еще раз вернуться к декодированию. В AIMP поток от декодера идет в формате 16 бит, а следовательно, при наличии превышения уровня в источнике (скажем, MP3), сразу же происходит клиппинг, и никакие лимитеры уж не помогут. У foobar2000 же есть масса методов борьбы с клиппингом — ReplayGain, Advanced Limiter и другие DSP, регулятор громкости. В случае вывода через WASAPI shared (DS) сработает лимитер Windows, или опять же можно воспользоваться занижением громкости для приложения в микшере Windows. AIMP же лишен всех этих возможностей (несмотря на наличие поддержки ReplayGain и ограничителя — всё это сводится на нет из-за декодирования с фиксированной точкой). И по моему мнению это делает его непригодным для качественного воспроизведения аудио.

Итак, что касается возможностей обработки и качественного вывода звука — здесь полная и безоговорочная победа foobar2000 со счетом 5-0. Насчет удобства — всё конечно же индивидуально. Но если качество для вас является необходимым условием, то выбор очевиден.

[Обсудить на форуме]


Информация от спонсора

BezProgramm.net: программы первоочередной важности для Вашего ПК. Здесь Вы можете бесплатно, без регистрации и смс скачать один из лучших браузеров для Windows — браузер Opera. Программу отличает удобство и прекрасная конфигурируемость.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *