Copyright © 2017, Taras Kovrijenko
Полное или частичное копирование текста допускается только с письменного разрешения автора.
ВВЕДЕНИЕ
Сегодня я хочу рассказать вам о том, как понижать частоту дискретизации и разрядность музыкальных файлов таким образом, чтобы это не привело к серьёзным потерям качества. Об этом уже упоминалось в статьях Системы понижения разрядности в мастеринге и Конвертеры частоты дискретизации (из журнала «Звукорежиссер»), там же вы можете найти подробную информацию о принципах работы описываемых здесь алгоритмов.
Главным образом я хотел бы внести ясность и показать, как задачу можно решить более-менее «подручными» средствами, а именно — с помощью одного лишь foobar2000 (такая возможность в очередной раз подтверждает огромный потенциал этого плеера).
Итак, допустим, у вас есть музыкальный материал в Hi-Res («high-resolution audio», «звук высокого разрешения» — компания Sony предложила так называть все форматы с разрядностью/частотой дискретизации не менее 24 бит/96 кГц) и вам надо проиграть его на устройстве, не поддерживающем имеющиеся разрядность/частоту дискретизации/количество каналов, или же записать на аудио-компакт. Если вы просто загрузите его в звуковой редактор, а потом сохраните в формате 16 бит/44.1 кГц, это внесет достаточно большие искажения. Не верите? Приведу пример.
Оригинальный спектр тона частотой 1 кГц с уровнем -90 dBFS в формате 24/96 (надо отметить, что этот звук несложно услышать на звуковой аппаратуре среднего и высокого качества при условии небольшого уровня шумов):
Как видно на графике, паразитные гармоники примерно на 60 дБ ниже уровня полезного сигнала и не должны быть слышны даже при повышении громкости аудио.
А вот спектр, полученный загрузкой/сохранением в 16 бит/44.1 кГц программой Sony Sound Forge 10:
Должен сказать, что такой же спектр можно получить и при неправильном конвертировании программой foobar2000, но об этом чуть позже. Как видно, уровень искажений (относительно полезного сигнала) значительно вырос. Обусловлены же они в основном понижением разрядности с помощью простого отброса младших восьми бит, а также ресемплингом (в меньшей мере, использованный алгоритм передискретизации достаточно качественный). Если прослушать данный сигнал, он на слух будет далёк от чистого тона. Что же делать? Как понизить разрядность (в данном случае именно разрядность является главным фактором) и не потерять качество звучания тихих участков?
Тут на помощь приходят технологии dithering и noise shaping, о которых уже не раз говорилось в статьях на этом сайте. Выше мы рассматривали вариант сохранения аудио в нужном формате с помощью программы Sony Sound Forge, это никоим образом не доказывает что программа «не умеет» правильно понижать битность, просто я хотел бы описать более простой способ, чем использование специальных функций Sound Forge'а (тем более, редактор этот платный).
Так вот, эти технологии, да ещё в сочетании с качественным ресемплером и микшером каналов, поддерживает и foobar2000.
Настройка конвертера
Необходимый софт и плагины
Плагины сторонних разработчиков:
SoX Resampler (foo_dsp_resampler.dll) — понижение частоты дискретизации;
Matrix Mixer (foo_dsp_mm.dll) — преобразование количества каналов;
DVD-Audio Decoder (foo_input_dvda.dll) — декодирование DVD Audio;
HDCD decoder (foo_hdcd.dll), DTS Decoder (foo_hdcd.dll), SACD Decoder (foo_input_sacd.dll) и проч. — декодер/препроцессор для декодирования источника — HDCD, DTS SACD или других, использующих в т. ч. PCM представление.
Скачать всё это можно на странице foobar2000 + плагины.
Создание пресета
Подробное описание настроек конвертера смотрите в соответствующей инструкции. Ниже я приведу только основные моменты настройки.
Для удобства создадим специальный пресет конвертера. Добавим в плейлист любой трек и в контекстном меню выберем конвертер:
Теперь мы находимся в главном меню конвертера:
Справа можно увидеть 4 ссылки, каждая из которых ведёт к соответствующей группе настроек. Рассмотрим их по порядку.
Тут необходимо выбрать формат WAV (по сути это несжатый PCM WAV), глубину квантования 16 бит и включить Dithering (для качественного преобразования аудио с глубиной >16 бит).
Эта вкладка содержит настройки пути выходных файлов. На скриншоте выбрана выходная папка 16_44.1 (которая будет находиться в папке с источником) и формат имени файлов "<номер> <исполнитель> — <название>".
Здесь нас ждет самое главное — параметры обработки. Параметр Enable decode postprocessing отвечает за включение постпроцессоров, таких как HDCD декодер.
В DSP надо поместить Matrix Mixer (если необходимо свести многоканальный звук в стерео) и ресемплер.Настроим Matrix Mixer, согласно общепринятым рекомендациям по сведению:
Имейте ввиду: приведённые на скриншоте параметры подойдут для сведения типичных конфигураций 5.1/6.1/7.1: FL-FR-C-LFE-BL-BR-(FCL)-(FCR)-(BC), однако для DTS и некоторых других форматов встречаются случаи с неправильным распознаванием каналов (т. к. их последовательность отличается от стандартной, приведенной выше), в результате чего правильную последовательность приходится выяснять самостоятельно. Главное — запомнить принцип: для фронтальных каналов и сабвуфера коэффициент равен 1, для заднего центрального — 0.5, для всех остальных — 0.707. Подробно про объёмный звук можно почитать в Википедии.
Также обратите внимание на галочку Normalize — эта опция автоматически занижает значения коэффициентов таким образом, чтобы суммарное их значение для имеющихся каналов давало единицу. Это исключает превышение уровня 0 dBFS и избавляет от необходимости бороться с клиппингом с помощью ограничителей уровня, однако может привести к относительно невысокому уровню громкости. Если вы хотите получить предельный уровень громкости (пик на уровне 0 dBFS), вам придется выполнить промежуточное кодирование в формат 32-bit float (в этом случае нормализацию можно вообще отключить), после чего, просканировав предварительно ReplayGain сканером, преобразовать его в 16 бит с включённой ReplayGain обработкой со следующими настройками:
Более подробно о максимизации читайте в статье «О понятии громкости в цифровом представлении звука и о методах её повышения».
Настройки ресемплера SoX:
На последней вкладке оставим стандартные параметры и вернёмся в главное окно конвертера.
Убедитесь, что все важные параметры установлены правильно, после чего сохраните пресет с помощью кнопки Save.
Заключение
После создания пресета далее всё очень просто. Надо загрузить файлы, предназначенные для конвертирования в foobar2000, выделить их, нажать на выделении правой кнопкой и выбрать наш профиль:
И что же мы получаем в результате? Вот спектр результирующего файла (исходным является тестовый файл о котором говорилось в начале статьи):
Звучание такого сигнала будет практически неотличимо от оригинала. Конечно, ценой небольшого шума, но находящегося в области частот к которым ухо человека наименее чувствительно.
В итоге тихие звуки будут звучать вполне естественно, так же как и в 24-битном аудио, а шум (благодаря его формовке) будет за границей порога слышимости человека.
Напоследок хочу сказать, что стандарт 16 бит/44.1 кГц является вполне достаточным для получения хорошего звучания, но при условии правильного мастеринга (с высокой разрядностью и частотой дискретизации) и преобразования в конечный вид с использованием качественных алгоритмов ресемплирования, а также технологий Dithering и Noise Shaping.
Информация от спонсора
Darvin Studio: футболки и seo оптимизация продвижение сайта. Главная цель — результат. Вы стопроцентно получаете реальный эффект от продвижения.