Foobar2000 — музыка без прикрас

Foobar2000 - аудиоплеер под Windows, бесплатный, минималистичный, но при этом гибкий в настройке. На первый взгляд, он не очень дружелюбен к рядовому пользователю, который любое ПО стремится «установить и забыть». Однако в случае с Foobar желательно запастись терпением - и плеер заслуженно войдет в ваш список приложений «must have». В этой статье будут рассмотрены ключевые особенности Foobar и даны советы по его настройке.

Знакомство

Первая версия Foobar вышла 10 лет назад, в декабре 2002 года. Известно, что разработчик Peter Pawlowski до этого работал в Nullsoft - компании, которая, в свою очередь, занимается разработкой плеера .

Теги также помогают навести порядок, и Foobar2000 о них не умалчивает. Распознаются форматы ID3v1/ID3v2 и APE. Теги разрешается поменять как отдельно к композиции, так и массово, пункт «Properties» в контекстном меню. С помощью шаблонов файлов можно заполнить данные автоматически: «Tools → Automatically fill values…». Как альтернатива - сервис freedb.

Настройки

Откроем настройки («File → Preferences») и пройдемся по основным разделам.

Components

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

Отмечу, что по сравнению с Foobar2000 версий до 1.x управление расширениями упрощено, их стало легче устанавливать («кнопка Install…»), удалять посредством контекстного меню. Проверить обновления - кнопка «Get updates…».

Компоненты значительно расширяют функциональность плеера, об этом мы поговорим отдельно.

Display

Default User Interface - интерфейс Foobar2000 по умолчанию. Вместе с ним пользуются популярностью Columns UI и Panels UI, которые устанавливаются как расширения и доступны из меню Display.

Так или иначе, любой интерфейс (в моем случае это Columns UI) позволяет широко настроить отображение - от панелей до цветов и шрифтов. «Ленивый» метод - вызвать Quick Setup, сделать экспорт или импорт предустановок, которые, кстати говоря, регулярно выкладываются на .

Keyboard Shortcuts

В списке команд уже есть назначенные для команд сочетания клавиш, добавить новые можно кнопкой «Add New», выбрав действие («Action») и зажав желаемое сочетание клавиш в поле «Key». Советую также активировать опцию «Global Hotkey», чтобы сочетания работали при работе в других приложениях. Это избавит от необходимости каждый раз открывать окно Foobar2000, чтобы, к примеру, сменить композицию или поставить текущую на паузу.

Playback

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

Настройки ReplayGain регулируются опциями «Source mode» и «Processing». На самом деле, работа с ними - это тема для отдельной статьи, которая, между тем, .

DSP Manager

DSP (англ. Digital signal processing) - цифровая обработка сигналов. Одним из известных обработчиков, присутствующим в практически любом программном плеере, является эквалайзер. Для его активации в Foobar2000 нужно перенести Equalizer стрелкой из списка Available DSPs в Active DSPs.

Из других DSP можно отметить «Resampler» для преобразования частоты дискретизации звука, «Convert mono to stereo» и «Reverse stereo channels». С помощью расширений доступны и другие виды преобразований.

Однако учтите, что тот же ресемплер способен загрузить ваш процессор на 50%, не говоря уже о других DSP. Также считается, что для звука нежелательны любые преобразователи, в том числе эквалайзер. Поэтому, как вы заметили, в Foobar2000 эквалайзер, в отличие от Winamp или AIMP, не вынесен на видное место, а «припрятан» - как неосновная функция.

Output

Настройки вывода звука на физическое устройство. Для стандартной конфигурации (встроенная звуковая карта, бюджетная акустика) настройки менять нет необходимости, а вот если в вашем распоряжении появилась, скажем, хорошая звуковая карта, можно поменять настройки и изменить стандартный вывод DirectSound (DS: первичный звуковой драйвер). Рекомендуется установить расширение для вывода звука более «прямым» путем, минуя микшер Windows - например, через ASIO, WASAPI или Kernel Streaming.

Output - настройки вывода звука

Shell Integration

Настройки интеграции плеера с Windows: контекстное меню, файловые ассоциации, установка Foobar2000 плеером по умолчанию.

Tools

Инструменты - Library Tree, Lyric Show Panel и т. п., которые были установлены в виде модулей и требуют дополнительной настройки.

Advanced

В данный раздел вынесены настройки, которые являются второстепенными или же экспериментальными и могут негативно повлиять на производительность. С другой стороны, только здесь вы можете поменять прозрачность окон, частоту дискретизации (странным образом, в Converter опция недоступна) или выбрать формат тегов для MP3/MP4.

Дополнительные инструменты

Converter

Отдельного внимания заслуживает инструмент, который достаточно удобно конвертирует аудиофайлы в другой формат по выбору. Задействовать его можно, выделив в плейлисте файлы и выбрав «Convert | …» в контекстном меню. Далее - указать выходной формат, папку назначения, DSP-обработчик (например, ресемплинг или перевод из стерео в моно) и действие по окончании процесса (генерация отчета или др.).

Поддержка аудиоформатов частично «родная» (WAV, Wave64, AIFF, AU/SND), для оставшихся форматов, таких как FLAC, MP3, AAC и пр., нужны соответствующие exe-файлы кодеков, которые легко найти на сайте .

В дальнейшем, дабы не тратить время на установки, сохраняйте их в предустановки (presets) в левой части окна конвертера.

CD-граббер

Риппинг дисков ненамного сложнее, чем конвертация из одного формата в другой. Выполняется он буквально несколькими кликами: «File | Open Audio CD…». В настройках «Drive Settings» предварительно указать настройки дисковода. Нажать кнопку «Rip», проверить названия композиций в окне «Rip Audio CD» либо заполнить поля самостоятельно. Далее зайти в настройки конвертера («Proceed to the Converter Setup dialog»), указать выходной формат, применить настройки и дождаться окончания процесса.

Компоненты

Для Foobar2000 написано множество дополнений. Чтобы убедиться в этом, достаточно открыть страницу и ознакомиться со списком. Компоненты сгруппированы по тегам: DSP, поддержка форматов, интерфейс, визуализация и т. д.

Как вариант, можно посетить с тематическим (читай - аудиофильским) набором дополнений на русском языке.

Рассмотрим несколько наиболее полезных компонентов.

iPod manager - добавляет в Foobar2000 поддержку iPod. Учитывая, что плееры Apple не монтируются в Windows в виде диска и требуют обязательной установки iTunes, данное расширение кому-то покажется более удобным.

Audioscrobbler - интеграция плеера с Last.fm. Отправляет статистику на сервер - другими словами, делает скробблинг каждой песни.

TagBox - расширенный редактор тегов. Преимущество перед встроенным в Foobar2000 редактором - список полей позволяется редактировать по своему усмотрению, а данные о композиции можно выбирать из выпадающего списка - исполнитель, альбом, жанр.

Album list panel - список альбомов выводится по аналогии с Columns UI, по колонкам, что гораздо удобнее при поиске нужной композиции.

Shpeck - поддержка визуализаций Winamp, как в отдельном окне, так и в виде тулбара.

ASIO support - поддержка ASIO-выхода, который обеспечивает наиболее прямой вывод музыки в обход микшера Windows.

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

Audio CD Writer - запись аудио-CD прямо из контекстного меню. Расширение написано автором Foobar2000. Запись происходит по аналогии с конвертированием форматов, нужно лишь выделить плейлист для записи и выбрать в меню «Convert | Write audio CD…». Единственный нюанс - продолжительность записи не должна превышать 80 минут. Это легко проверить, выделив треки и посмотрев в правый нижний угол статусной строки Foobar2000.

Заключение

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

Скромный интерфейс «из коробки»? Не забывайте, что это аудиоплеер, и свои главные функции он исполняет на 5 баллов.

Таким образом, существенных недостатков не обнаружено. За годы использования не возникло желания найти альтернативу. Foobar2000 - легкий (3 мегабайта - за 10 лет разработки не потяжелел), бесплатный и открытый для разработчиков, быстрый и функциональный проигрыватель.

Проигрыватель 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?

Полезные плагины

customize.org/foobar/skins
Огромная база дополнений, предназначенных для последней версии foobar2000. Архив поделен на подразделы для более удобного поиска.

pelit.koillismaa.fi/plugins/index.php
Небольшая подборка дополнений, ссылка на которую размещена даже на официальном сайте плеера.

wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9
На wiki-ресурсе популярного сайта Hydrogenaudio собраны ссылки на самые необходимые плагины для аудиофила.

Вопрос установки плагинов - пожалуй, один из самых распространенных. Чаще всего он конечно же возникает у начинающих пользователей плеера 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. Если всё-таки остались вопросы - пишите.

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

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

Название:
Аналог: Winamp и другие аудиопроигрыватели
Размер скачиваемого файла: 3,6 Мб
Сайт: http://www.foobar2000.org
Здравствуйте, дорогие читатели блога сайт. Сегодня у нас в гостях без сомнения интересная и достаточно популярная программа, которая доказывает, что вльтернативы есть всегда, даже у такого монстра как winamp. Итак, встречайте Foobar2000.

Foobar2000 v1.2.9 – бесплатная программа для прослушивания аудио файлов в операционной системе Windows. Программа представлена только на английском языке. Ее разработчиком является польский программист Питер Павловски. От остальных проигрывателей foobar2000 v1.2.9 отличается изначальным минималистским, но удобным интерфейсом, большим количеством различных функций, а также неисчерпаемыми возможностями для настройки под конкретного пользователя. Уникальность проигрывателя заключается в интерфейсе – его можно полностью изменить и индивидуализировать. Комплект средств разработки программы открыт для всех желающих, что позволяет сторонним разработчикам вносить изменения в программу, как им заблагорассудится. foobar2000 v1.2.9 поддерживает огромное количество аудио форматов, в него включено большое количество средств для организации метаданных, файлов и папок. Проигрыватель воспроизводит аудио в высоком качестве, обеспечивая приятное прослушивание.

После инсталляции проигрывателя пользователю сразу же предлагается настроить его интерфейс. Элементами первичного интерфейса проигрывателя являются общий вид, вид плэй-листа проигрывателя, а также шрифт и цвет фона. Нажатием правой клавиши мыши можно вызвать контекстное меню, в котором предусмотрен ряд доступных действий. Содержание контекстного меню также поддается редактированию. Для этого необходимо зайти во вкладку File далее выбрать Preferences и в ней найти строку Context menu.

Следующим шагом после настройки внешнего вида интерфейса может стать внесение аудио файлов в проигрыватель. Люди прослушивают музыку по-разному, организация этого процесса тоже может отличаться. Первым действием для начала прослушивания музыки в foobar2000 v1.2.9 может стать простое перемещение файлов из папки в окно программы. После перемещения программа распознает файлы и расположит их в правильном порядке. Если же пользователь желает, чтобы файлы отображались в проигрывателе сразу после его включения, ему необходимо полностью организовать аудио библиотеку через foobar2000 v1.2.9. Для этого нужно в главном окне программы нажать вкладку Files, далее выбрать Preferences, найти строку Media Library и в окне Music Folders нажать кнопку Add. В открывшемся окне необходимо выбрать папки, в которых хранятся аудио файлы пользователя. Для комфортной работы обязательно необходимо поставить отметки напротив двух значений в разделе Library viewer selection playlist. После этого в окне проигрывателя станет отображаться список всех добавленных файлов. В изначальной модификации проигрывателя аудио файлы можно сортировать по исполнителям, альбомам, структуре папок, жанрам и годам создания.

Как уже упоминалось, интерфейс проигрывателя можно менять и индивидуализировать. Этим можно заниматься как самостоятельно, так и находя авторские сборки во всемирной паутине. Для пользователей, любящих экспериментировать с интерфейсом, важным элементом станет список установленных компонентов. Для его просмотра также необходимо зайти в Files, а далее Preferences.

Программа оснащена функцией ReplayGain. Как известно, музыка может быть записана по-разному. В других проигрывателях иногда можно столкнуться с ситуацией, когда после одной песни следующая звучит намного громче. Это связано с особенностями записи аудио. Благодаря функции ReplayGain проигрыватель foobar2000 v1.2.9 лишен такой проблемы. Программа анализирует и воспроизводит аудио файлы так, чтобы человек не ощутил дискомфорта от перепада громкости звука.

Наряду с ReplayGain, крайне важной для пользователя является функция Gapless playback. Благодаря ней интервал между проигрываемыми аудио файлами полностью отсутствует. Функция является крайне полезной для заядлых меломанов, слушающих музыкальные произведения, в которых каждая доля секунды проигрываемой музыки имеет значение.

Программа также оснащена встроенным конвертером аудио файлов. Для конвертации необходимо выделить файлы и вызвать контекстное меню правой клавишей мыши. Далее в контекстном меню нажать на строчку Convert. В появившемся окне можно выбрать формат, в который пользователь желает конвертировать свои файлы. Проще некуда организована запись и конвертация аудио дисков. Во вкладке Files нужно выбрать Open audio CD, далее выбрать дисковод и место для записи.

Недостатками foobar2000 v1.2.9 можно считать то, что программа работает исключительно на операционной системе Windows и в ней отсутствует русский язык. Это связано с позицией разработчика, который, по его же словам, не видит смысла в реализации программы в других операционных системах и на других языках.

Скачать бесплатно foobar2000 v1.2.9 можно на официальном сайте программы , его размер составляет скромные 3,6 мегабайта.

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

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

2017-09-17T19:10

2017-09-17T19:10

Audiophile"s Software

ВНИМАНИЕ : статья постоянно дорабатывается и дополняется. На данный момент информация актуальна для foobar2000 v1.3.x и операционных систем Windows XP, Vista/7/8/10. Настройки преимущественно ориентированы на воспроизведение стерео звука через аналоговый выход звуковой карты.

Copyright 2017, Taras Kovrijenko

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

Вступление

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

Звуковой тракт в нашем случае имеет следующий вид:

1) Источник - звук в одном из форматов lossy, lossless PCM или DSD.

2) Плеер - foobar2000. Содержит:

  • Декодер
  • Обработчики звука
  • Вывод
(подробнее см. дальше)

3) Микшер Windows, драйвер звуковой карты - очень тесно взаимодействующие элементы. На данном этапе может выполняться программная обработка звука (порой некачественная), что крайне нежелательно.

4) DSP звуковой карты - это уже аппаратная составляющая. Digital Signal Processor находится непосредственно на звуковой карте и совершает необходимую обработку звукового потока, а также обработку в соответствии с выставленными настройками в микшере звуковой карты (большинство операций, которые производит данный блок, зависит от выставленных настроек звуковой карты и от самой модели звуковой карты).

5) ЦАП - цифро-аналоговый преобразователь. Производит преобразование полученных цифровых аудиоданных в аналоговый вид для дальнейшего усиления (с помощью операционных усилителей) и подачи на аналоговый выход звуковой карты (с него - на наушники или внешний усилитель).

1. Источник

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

Источники можно подразделить на три типа:

  • Lossless PCM (wav, flac, wv, ape, tak, tta, ofr, etc.) - аудио закодированное без потерь (при декодировании полученный аудиопоток в точности соответствует тому, что кодировали в lossless - аналогично распаковке файлов из архива ZIP).
  • Lossy (mp3, ogg, aac, wma, etc.) - аудио сжатое с потерями. При кодировании происходят необратимые потери некоторой части информации (а именно, вырезается та часть звуковых данных, которую человек не воспринимает или же почти не воспринимает).
  • DSD (SACD-R образы, DSF/DFF файлы) - 1-битный высокочастотный поток (сжатый или несжатый), которым оперируют сигма-дельта АЦП/ЦАП. Так как настройка вывода DSD (если ваша звуковая карта его поддерживает) очень специфична, за информацией по нему обратитесь в соответствующий раздел статьи про SACD .

Если для lossless PCM проблемы качественного воспроизведения сводятся к минимуму, то для наиболее качественного воспроизведения lossy необходимо принять определенные меры (смотрите «Рекомендации по воспроизведению аудиоматериала»).

2. Программный плеер foobar2000

Теперь рассмотрим подробнее всё, что касается foobar2000. Одним из достоинств этого плеера является очень продуманный и прозрачный тракт. Чтобы наглядно это продемонстрировать я нарисовал блок-схему (нажмите для просмотра):

Примечания:
1. Как видно из схемы, присутствие всех компонентов необязательно - некоторые можно отключать, а некоторые включаются только при необходимости. Так, например, декодер нужен только для сжатых форматов, а конвертер глубины бит включается при несоответствии формата входных данных настройкам вывода (output data format).
2. Для Windows 7+ возможен вывод в формате с плавающей точкой (32-bit вывод через DS).

2.1 Декодер

Декодирует входные данные, в результате чего получаем несжатый звуковой поток в виде импульсно-кодовой модуляции. Большинство lossy декодеров работают в режиме с плавающей точкой (32-бит). На выходе декодеров lossless получаются данные с параметрами аналогичными исходному аудио (которое сжималось). Обратите внимание, что поток DSD (если SACD/DSD декодер работает в режиме DSD) следует на вывод, минуя все звенья, через которые проходит PCM.

2.2 Постпроцессор

Этот элемент был включен разработчиком в тракт сравнительно недавно. Выполняет роль декодера форматов HDCD и DTS (только lossless источники - пока только CDDA, WAV, FLAC, ALAC и WV). Так как для успешного декодирования этих форматов данные с обычного декодера должны передаваться бит-в-бит, постпроцессор находится в тракте сразу после него.

2.3 Обработчики

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

2.3.1 ReplayGain

Прежде всего нужно отметить, что любой lossy аудио файл не содержит цифрового аудиопотока как такового. Он содержит его описание с помощью различных функций и т.д., по которым можно восстановить примерную форму исходной волны (что и делают декодеры lossy форматов). И вот, при декодировании возникает один нюанс: т.к. кодирование происходит с потерями (повторюсь: данные в lossy аудио-файле позволяют восстановить только примерную форму исходной волны), семплы на выходе имеют уровень отличный от того что был на входе.

Чем же это грозит? Декодер foobar2000 работает в формате с плавающей точкой, что позволяет ему обрабатывать и описывать волну не только в пределах какого-то диапазона. Например, для 16 бит с фиксированной точкой (16-bit signed integer): 2^16=65536 возможных значений уровня, а именно, числа от -32768 до 32767. Но дело в том, что после того как сигнал передается плеером на вывод, он автоматически преобразовывается в формат с фиксированной точкой.

Рассмотрим пример. Если мы будем преобразовывать семпл с уровнем 1.000000 (плавающая точка) в формат 16 бит с фиксированной точкой, то получим число 32767 - это максимальный уровень для 16-bit integer. Но не будем забывать, что при декодировании lossy исходный сигнал восстанавливается приближенно, и мы можем получить семплы с более высокими уровнями, например 1.124325. И правильно описать это значение в режиме фиксированной точки уже не получится, т.е. уровень этого семпла он автоматически приравняется к максимальному - 32767.

И что же мы получаем? Таким образом все участки волны (состоящей из точек-семплов), выходящие за максимальный уровень, «обрезаются», вследствие чего вместо синусоиды например мы получим что-то похожее на прямоугольные импульсы (если «верхушки» синусоиды окажутся выше максимума, они будут «срезаны»), а это означает что мы имеем дополнительные нелинейные искажения (уровень искажений зависит от того, какая часть звуковой волны выходит за максимум). Что-то схожее можно услышать при «запирании» колонок - когда подаешь на колонки сигнал с мощностью превышающей максимальную допустимую - диффузоры не могут двигаться дальше максимального уровня отклонения, получаются такие же искажения как и в нашем случае. Первое явление (с цифровым аудиопотоком) - это софтовый клиппинг (англ. clipping - обрезание), второе (с диффузорами) - аппаратный клиппинг (в некоторых других случаях это явление называют «перегрузкой»).

Для чего же в нашем случае нужен ReplayGain?

а) Чтобы определить, выходит ли уровень декодированного сигнала за допустимые пределы, а именно определить пиковый уровень записи - это делает ReplayGain Scanner.

б) Понизить уровень трека так, чтобы он вписывался в рамки допустимого - после того как сканер произвел сканирование, он записывает ReplayGain теги (с информацией о пиковом уровне), а плеер при проигрывании считывает эти теги и занижает уровень громкости всей записи (именно всей - чтобы не менять баланс громкости между отдельными участками) так, что пик оказывается на максимальном уровне (0 dB на пикметре), а всё остальное - конечно же, не выше этого уровня.

Настройка:

Source mode: track , если вы хотите сохранять баланс громкости только в пределах одного трека, album - если вам важен баланс громкости между треками всего альбома.

Processing: Prevent clipping according to peak - лучший в большинстве случаев вариант, при котором будет только предотвращаться clipping (уровень, на который будет занижаться громкость, будет рассчитываться с помощью тега track peak или album peak - в зависимости от выбранного source mode).

Apply gain - в этом режиме ReplayGain поможет выровнять воспринимаемую громкость прослушиваемых Вами треков (часто воспринимаемая громкость не связана с пиковыми уровнями, т.к. она определяется методом психоакустического анализа); данный вариант не рекомендуется, т.к. при этом может сильно изменяться громкость треков, что только ухудшает положение в плане качества.

Apply gain and prevent clipping according to peak . в результате анализа трека утилита ReplayGain может посчитать его слишком тихим и прописать в тегах положительное значение усиления, громкость при воспроизведении такого трек будет завышаться, в следствии чего пики результирующего сигнала могут оказаться выше максимального уровня. Этот режим позволяет утилите при воспроизведении анализировать не только тег track (или album - в зависимости от source mode) gain, но и track (album) peak и рассчитывать максимальное допустимое усиление, чтобы предотвратить клиппинг.

Pre-amp: Дополнительное усиление на выбор пользователя. Работает только при включенном Apply gain (или apply gain and prevent clipping), суммируется с усилением из тега Track (Album) gain. Использование данной функции не рекомендуется , т.к., опять же, может негативно повлиять на качество.
With RG Info - для треков с тегами ReplayGain
Without RG info - для треков без тегов Replay Gain.

Примечание: если вы по какой-то причине не хотите или не можете использовать ReplayGain, есть другой вариант - Advanced Limiter DSP (смотрите ниже).

Более подробную информацию по этой теме можно найти в моей статье «О понятии громкости в цифровом представлении звука и о методах её повышения» .

2.3.2 DSP

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

В идеале любая обработка звука, конечно же, должна отсутствовать, но в некоторых случаях для достижения более высокого качества приходится использовать некоторые обработчики. В частности, DSP под названием Resampler просто необходим при отсутствии аппаратной поддержки звуковой картой частоты дискретизации воспроизводимого сигнала (чаще всего это материал со звуковых компакт-дисков с частотой дискретизации 44.1 кГц) для выполнения предварительного преобразования звукового потока в вид соответствующий аппаратным возможностям звуковой карты (чаще всего это преобразование 44.1->48/96/192 кГц).

Примечание : для встроенных визуализаций поток снимается сразу после прохождения через цепочку DSP.

Выявление некачественной передискретизации

На этот случай существует специальный семпл:

Настройка:

Итак, если Ваша звуковая карта поддерживает ASIO, скачайте и установите со ASIO Output. Если же поддержки нет, установите Kernel Streaming. Далее запустите foobar2000 и на странице вывода выберите в Output device драйвер ASIO производителя Вашей карты (например: ASIO: Creative ASIO , ASIO: Xonar Essence STX ASIO ) или же KS: <ваша звуковая карта> :

Buffer Length - это регулировка буфера плеера. Чем меньше значение - тем быстрее (считая от момента включения/изменения) будут вступать в силу изменения громкости, включение плагинов и т. д. На качество вывода данная опция не влияет, изменять стандартное значение не рекомендуется (т. к. при высокой нагрузке могут появится щелчки и треск).

Output format / Postprocessing

Output data format: установите максимальную разрядность, поддерживаемую вашей звуковой картой. Форматы 8 и 16 бит являются полноценными форматами с фиксированной точкой. Формат 24 бит соответствует либо i24v24 («integer 24 valid 24», 24 бита с фиксированной точкой, 24 значащих бита) либо i32v24 (32 бита, фиксированная точка, 24 значащих бита) - в зависимости от поддержки драйвером звуковой карты. Формат 32 бита соответствует либо 32 битам с плавающей точкой (f32v32), либо, в случае отсутствия поддержки драйвером плавающей точки - 32 битам с фиксированной точкой (i32v32). В некоторых случаях (для вывода ASIO и в более новых ОС) разрядность вывода плеер выбирает сам, на основе полученных от драйвера данных.

Dither: включение dithering + noise shaping (подробно читайте в статье «Системы понижения разрядности в мастеринге» . Данная функция может быть полезна только при выполнении одного из следующих условий:

а) Если ваша звуковая карта аппаратно НЕ поддерживает разрядность звука выше 16 бит и вы используете одну из функций: ReplayGain, DSP, Volume Control (регулятор громкости в foobar2000).

б) ваша звуковая карта аппаратно НЕ поддерживает разрядность звука выше 16 бит и вы воспроизводите в foobar2000 материал с разрядностью более 16 бит.

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

Если вы используете вывод ASIO, его также необходимо настроить:

Use 64-bit ASIO drivers - если у вас 64-битная ОС и имеется 64-битный драйвер ASIO, очень желательно включить этот параметр для повышения производительности.

Run with high process priority - запускает обработчик ASIO (процесс ASIOHOst.exe) с высоким приоритетом. Также позволяет улучшить производительность.

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

Разрядность (если она настраивается в вашем драйвере) рекомендуется установить в 24 бита, оптимальное значение буфера ASIO обычно 20-40 мс. Обратите внимание на то, что буфер ASIO влияет на частоту обновления визуализаций плеера (чем меньше - тем выше частота), при этом малое значение может привести к явным искажениям, щелчкам и зависаниям.

2.4.2 Windows Vista/7/8/10

В этих ОС звуковая подсистема имеет совершенно иную структуру. Ниже представлена её упрощенная блок-схема:


API - Application Programming Interface
APO - Audio Processing Object
CPT - Cross Process Transport
KST - Kernel Streaming Transport

Как видно из схемы, никакого DirectSound тут нет (есть только его видимость для совместимости со старыми программами). По-умолчанию все звуки выводятся через интерфейс WASAPI (Windows Audio Session API) в т. н. общем (shared) режиме, который включает в себя различные службы, софтовые обработчики и микшер. Также очевидно, что звук передается драйверу устройства только пройдя все вышеуказанные составляющие. Таким образом, все звуки приводятся к одной частоте и битности, смешиваются, (вся обработка идет с использованием вычислительных ресурсов ЦП), а на звуковую карту поток поступает уже в готовом виде.

Как показала практика, в некоторых случаях обработчики подсистемы WASAPI могут сужать динамический диапазон записи, привнося в него некоторый шум. Это зависит от выбранной разрядности в настройках устройства, однако, так или иначе, получить побитовый вывод при использовании WASAPI shared удаётся не всегда.

В данных ОС также присутствует Kernel Streaming (KST), но на практике он далеко не всегда работает - порой устройство по непонятным причинам оказывается «занято».

Если посмотреть на схему, то можно заметить, что прямой доступ к драйверу имеется через ASIO. Отсюда вывод: если ваша карта аппаратно поддерживает ASIO (и имеет вменяемый драйвер ASIO 2.0) - используйте этот интерфейс . Не забывайте, что для этого необходим плагин .

Но что же делать если у карты нет поддержки ASIO? Сразу скажу, что ASIO4ALL тут едва ли поможет, так как работает через тот же нестабильный Kernel Streaming.

К счастью, выход из этой неприятной ситуации всё же существует. Разработчики оставили нам лазейку, и называется она WASAPI Exclusive. В этом режиме можно обойти все нежелательные составляющие WASAPI. Правда, в эксклюзивном режиме действуют жесткие ограничения - при использовании приложением этого режима звуки всех остальных приложений отключаются.

Настройка

Примечание : описание настроек вывода можно найти в предыдущем разделе. Здесь освещены лишь специфические для новых ОС моменты.

Как я уже сказал, если у вашей карты есть поддержка ASIO - используйте его (описание настроек можно найти выше). В противном случае скачайте со и установите плагин WASAPI Output, после чего выберите его для вывода:

Обратите внимание : у WASAPI exclusive существует два режима буферизации - Event и Push. Первый режим является технически более совершенным и лучше совместим с USB устройствами. Однако, режим event поддерживается не всеми звуковыми картами. Таким образом, предпочтительным является режим event. Если же воспроизведение в нем работать отказывается, необходимо переключиться на режим push.

В связи с частыми проблемами щелчков и треска во время воспроизведения звука в Windows Vista и более новых здесь немаловажно упомянуть дополнительные настройки воспроизведения, которые находятся в File->Preferences->Advanced->Playback :

Hardware buffer in MS - аппаратный буфер вывода для каждого из режимов WASAPI Exclusive. Если наблюдаются hgj,ktvs со щелчками, попробуйте увеличить значение для используемого вывода.
High worker process priority - этот параметр устанавливает высокий приоритет выполнения обработчика WASAPI Exclusive, который запускается в отдельном процессе WASAPIHost.exe (аналогично ASIO Host). Для достижения максимального эффекта можно установить и этому процессу, и процессу foobar2000.exe в Диспетчере задач Windows приоритет реального времени.

Thread priority - устанавливает приоритет для потока, отвечающего за воспроизведение. Желательно установить в максимум.
Use MMCSS - включает взаимодействие со службой Multimedia Class Scheduler Service, которая занимается распределением процессорных ресурсов. Эту функция рассматривается в статье по разбору звуковой подсистемы WASAPI .
MMCSS mode - выбор режима MMCSS. Для наилучшей производительности и стабильности рекомендуется значение Pro Audio .

3. Настройка звуковой карты

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

3.1 Настройка средствами Windows

3.1.1 Windows XP

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

Рис. 1.1 Громкость следует установить на максимум, регулировку уровня громкости производить аналоговым методом (например, ручкой на усилителе). Если вы используете наушники без регулятора громкости, регулируйте её средствами foobar2000. По окончании настройки нажать на кнопку Дополнительно в графе Громкость микшера .

Рис. 1.2. Все источники, кроме Wave (его надо установить на максимум) и Play Control конечно же, следует отключить. Wave тоже можно отключить, если вы не используете в плеере вывод через DirectSound, при этом все остальные звуки, в том числе системные, не будут слышны. Предварительно необходимо перейти в "Свойства" и включить отображение всех источников:

Рис. 1.3. Тут вы должны включить отображение всех источников воспроизведения для настраиваемого устройства.

Рис. 1.4. Данное окно вызывается с помощью кнопки Дополнительно в графе Настройка динамиков окна изображенного на рис. 1.1. Здесь вы должны выбрать Вашу конфигурацию динамиков. Далее переходим на вторую вкладку.

Рис. 1.5. Тут оба регулятора следует выставить в максимальное положение. Естественно, подразумевается, что никаких неполадок с воспроизведением звука (чаще всего это может происходить в играх) у вас не возникает. Если же неполадки есть, подберите наибольшие положения регуляторов, при которых неполадки исчезнут. В таком случае, стоит отметить, что данные настройки не влияют на воспроизведение с использованием Kernel Streaming и ASIO, из этого следует, что если вам пришлось установить один из регуляторов в более низкое положение, для качественного вывода звука в плеере необходимо использовать один из этих плагинов вывода.

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

3.1.2 Windows Vista+

Чтобы начать настройку, вам необходимо перейти в Панель управления Windows->Оборудование и звук->Звук и на первой вкладке дважды нажать на устройстве воспроизведения, которое вы хотите настроить.

Рис. 2.1 Основную громкость установить на максимум. Все ненужные источники (микрофон, линейный вход) выключаем, регуляторы каналов (Front, Rear и т.д. - на скриншоте их не видно) устанавливаем в максимальное положение..

Рис. 2.2 Наличие и название данной вкладки зависит от установленной звуковой карты. Как показали опыты, включение/отключение этой опции влияет только на софтовые эффекты накладывающиеся при выводе в общем режиме. При выводе через WASAPI Exclusive эта опция ни на что не влияет - в этом случае будут работать только эффекты накладываемые аппаратным DSP звуковой карты.

Рис. 2.3 На этой вкладке нас больше всего интересует включение монопольного режима, необходимого для работы WASAPI. Параметр Предоставить приоритет приложениям монопольного режима оставьте включенным.

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

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

  • Все эффекты/эквалайзеры и т.п. должны быть выключены . По возможности следует включить режим Bit-Matched Playback (для карт Creative эта опция может находиться в Creative Audio Console или же Console Launcher).
  • Для большинства карт есть возможность выбора опорной частоты дискретизации (Master Sampling Rate) - ее следует установить равной частоте дискретизации воспроизводимого материала или же частоте установленной в ресемплере foobar2000. Там же может быть настройка глубины квантования (Bit Depth) - ее следует выставить на максимум.
  • Все регуляторы громкости влияющие на громкость воспроизведения следует устанавливать в положение максимум .

Для получения наилучшего результата, перед воспроизведением трека рекомендуется выполнить следующие действия.

Для lossy:

1. Выделите трек(и) в библиотеке или плейлисте foobar2000, нажмите на выделенном правую кнопку мыши и выберите из раскрывшегося списка Utils->Verify Integrity . Произведется сканирование трека(ов) на наличие ошибок. При наличии ошибок в файлах формата MP3 foobar2000 может их исправить. Если вы увидите ошибку вроде «Reported length is inaccurate...», выделите треки для которых отобразилась данная ошибка, нажмите правую кнопку и выберите Utils->Fix VBR MP3 Header , после обработки проверьте трек еще раз, ошибка должна отсутствовать.

Если при проверке вы наблюдаете ошибку вида «MPEG Stream error...», её можно исправить с помощью опции Utils->Rebuild MP3 Stream. После выполнения операции исправления ошибки не забывайте повторно проверять треки.

2. Выделите треки, нажмите на выделении правой кнопкой и выберите ReplayGain->Scan Per-File Track Gain, если выделены треки из разных альбомов или альбомы в тегах не указаны, Scan Selection As Single Album - если выделены треки одного альбома и Scan As Albums (by tags) - если выделены несколько альбомов. Также можно использовать опцию Scan As Albums (by folders), если теги альбомов не прописаны но треки каждого альбома находятся в отдельной папке. После сканирования вы увидите информацию о рассчитанных пиках и значениях усиления для каждого альбома/трека (в зависимости от выбранного типа сканирования), нажмите кнопку «Update File Tags» чтобы записать теги ReplayGain в файл.

Для lossless:

В случае с этим типом источника выполнение каких-либо действий для достижения максимального качества не требуется. вы также можете проверить материал на ошибки с помощью функции Utils->Verify Integrity, но вероятность ошибок для lossless меньше, тем более, в случае их наличия, исправить их средствами foobar2000 возможности нет (по крайней мере, таким же образом как в случае с MP3). Необходимости использовать ReplayGain в случае c lossless нет, т.к. клиппинга (в том виде, в котором мы его обычно имеем в случае lossy) в lossless источниках быть не может, так что эта функция может пригодиться разве что для выравнивания громкости между треками/альбомами.

За помощь в «поисках истины» огромное спасибо участникам форумов foobar2000.org, websound.ru, hydrogenaudio.org