Ресемплер sox или swr

Ресемплер sox или swr

В статье «Тестирование плееров. Звуковой движок» мы убедились, что AIMP, впрочем, как и остальные участники теста, умеет выводить звук без изменений, то есть побитово точно. Но плеер — это лишь одно из звеньев цепочки воспроизведения звука, после него идут микшер Windows, драйвер звуковой карты и сама звуковая карта. Это значит, что результаты того теста верны только для идеального случая, когда параметры файла совпадают с настройками плеера, операционной системы, драйвера звуковой карты, а так же с возможностями «железа» звуковой карты. Во всех остальных случаях в игру вступают различного рода обработчики, приводящие цифровой звуковой поток в формат, пригодный для преобразования в аналоговый сигнал. Один из таких обработчиков — ресемплер.

Для начала разберемся, что такое ресемплер (resampler) и для чего он нужен. Если говорить общими словами, ресемплер применяется для изменения частоты дискретизации цифрового сигнала. Для чего же изменять эту частоту в плеерах? Во-первых, если звуковая карта (и/или ее драйвер) не поддерживает частоту дискретизации, которую имеет файл, то файл либо не будет проигрываться вообще, либо будет проигрываться с измененной скоростью — или быстрее, или медленнее. Во-вторых, без подгона треков под одну частоту не смогут корректно работать эффекты плавного перехода с одного трека в другой.

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

Подопытные плееры:

  • AIMP 2.61.583 (встроенный ресемплер)
  • AIMP 3.55.1312 (встроенный ресемплер, настройки качества по умолчанию)
  • Foobar 2000 v1.2.9 (ресемплер «из коробки» PPHS, опция ultra mode включена)
  • XMPlay 3.7 (встроенный ресемплер, максимальные настройки качества)

Помимо плееров в тестах будет участвовать Windows 8 Audio Resampler, который включается при обычном (не эксклюзивном) методе выводе звука, если настройки операционной системы не совпадают с форматом вывода звука аудиоплеера.

Конфигурация

  • ОС: Windows 8 x64
  • Метод вывода звука: DirectSound
  • Звуковая карта: Virtual Audio Cable
    Виртуальная звуковая карта позволяет исключить особенности железа и реализации драйверов к нему. В добавок к этому, с нее проще списать выходные данные
  • Настройки плееров и ОС: 44.1 кГц (48 кГц), 24 Бит/сэмпл, громкость 100%, эквалайзер и другие эффекты выключены

Методика тестирования

Для замеров будем использовать RightMark Audio Analyzer (RMAA). Для этого сгенерируем в ней тестовые WAV файлы со следующими характеристиками 44.1 кГц (192 кГц), 24 Бит/сэмпл. Будем воспроизводить эти файлы в плеерах, записывать выходной сигнал в файл и анализировать с помощью той же RMAA. Тестовый файл представляет собой два сигнала: первый — так называемый мультитон — шум по всей области доступных частот (для проверки частотного диапазона), второй сигнал — чистая синусоида частотой 1 кГц (для проверки гармонических искажений).

Замечание 1 : AIMP2 не имеет возможности выбора целевой частоты дискретизации, любую частоту он преобразует в 44.1 кГц с помощью стандартных возможностей компонентов DirectSound-а, поэтому он участвует только в тесте 192 кГц >> 44.1 кГц.

Замечание 2 : Тестирование Windows 8 Audio Resampler проводилось с помощью AIMP 3.55. Частота вывода плеера настраивалась такой же, как у файла, а выходная частота настраивалась в самой ОС.

Тест1: Преобразование 192 кГц >> 44.1 кГц

Читайте также:  Модем теле2 4g прошивка

Преобразование 192 кГц в 44,1 кГц. Частотный диапазон

На графиках мы видим достаточно крутой срез частот на уровне 20 кГц всеми ресемплерами, что означает отличное подавление паразитных частот, возникающих при понижении частоты дискретизации — так называемого алиасинга.

Преобразование 192 кГц в 44,1 кГц. Гармонические искажения

График AIMP2 практически совпал с графиком Windows, это подтверждает информацию о том, что AIMP2 пользуется встроенными возможностями ОС для передискретизации сигнала. Самый красивый график гармонических искажений получился у XMPlay, но не стоит забывать, что в AIMP3 в настройках мы установили не максимальное качество передискретизации.

Тест2: Преобразование 44.1 кГц >> 48 кГц

Преобразование 44,1 кГц в 48 кГц. Частотный диапазон

Картина очень схожа с предыдущим тестом, за исключением того, что ресемплеры Foobar 2000 и XMPlay захватывают несколько больший диапазон частот.

Преобразование 44,1 кГц в 48 кГц. Гармонические искажения

Гармонические искажения всех ресемплеров на том же уровне, что и в предыдущем тесте.

Тест3: Сравнение настроек качества ресемплера АИМП3 (44.1 кГц >> 48 кГц)

Ресемплер AIMP3. Частотный диапазон

Ресемплер AIMP3. Гармонические искажения

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

Выводы

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

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

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

Для отправки комментария вам необходимо авторизоваться.

Хочу поделится наблюдением, которое меня очень удивило и порадовало.
Звук по сравнению с PowerAmp v2 небо и земля. С колонок словно одеяло убрали, появилась детализация. Не ожидал…

На данный момент последняя версия:
PowerAmp v3 alpha-703
Так же можно стать бета тестером и скачать с play.google.com: Poweramp — пробная версия (Beta)

Сразу добавлю ссылочку на статейку по настройке PowerAmp v3 alpha, так называемый источник знаний: PowerAmp v3 alpha-703 Настраиваем на качественный звук

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

Справа наверху 3 полоски: Нажимаем, или просто делаем свайп справа.
Заходим в настройки.

Далее настройки звука, ведь мы здесь за этим. 🙂

Ну и пошли по порядку: Replay Gain

Читайте также:  Asus zenfone max pro m1 market

Принцип работы: максимизировать уровень громкости без искажений и потерь для lossy файлов т.е. в форматах сжатия с потерями, таких как MP3, AAC, OGG Vorbis.
Аналогию настройки можно провести с таким плеером с ПК как Foobar2000.
Replay Gain — "Применять, избегая перегрузки (Peak)" — т.е. увеличиваем громкость не доводя до клиппинга (искажений).
Источник (Source) — "Трек" — т.е. применять выравнивание в пределах одного трека.
RG Преамп (RG Preamp) — 10 дБ — т.е. насколько увеличить громкость треков, у которых в тегах есть значение ReplayGain. Значение подбирается экспериментальным путем, но на скриншоте компромиссная настройка.
Преамп для треков без тегов RG (Preamp for songs without RG info) — 0 дБ — т.е. насколько увеличить громкость треков, у которых НЕТ в тегах значения ReplayGain. Значение лучше оставить равным нулю.

Заходим в следующий пункт меню: Ресемплер (Resample)

Опять же видим настройки как в Foobar2000.
Тип (Resampler Type) — "SoX Resampler" — проверенный временем, обладающий высоким качеством, ну и немного больше тратит энергии, что думаю не особо существенно раз мы здесь.
Частотный срез (Resampler Cutoff Frequency Ratio) — "Трек" — тут можно оставить, как есть или поставить 95% (по умолчанию в Foobar2000).
Дизеринг (Dither) — "Нет (быстро)" — нужен при условии, что вы пытаетесь проиграть музыкальную композицию с разрядность 24 bit и ваш смартфон поддерживает вывод только в 16 битном формате. В остальных случаях — активация этой опции лишь ухудшит звук.

Заходим в следующий пункт меню: Аудиовыход (Output)

В Отличии от второй версии ПоверАмпа, здесь есть 3 Вывода звука.
AudioTrack Выход (Output (Java based)) — это наихудший из 3х вариантов, который использовался в ранних версий адроид до какой-то из 4.x Использовать такой вывод звука крайне не рекомендуется. Звук управляется софтом на Java с гигантскими задержками.

OpenSL ES Выход (OpenSL ES Output (Native optimized))В моём случае он Активный — ускоренный с помощью OpenSL ES вывод звука. То, что работает на большинстве смартфонов, этот вывод по умолчанию активен в плеере. Чем он так хорош? Он оптимизирован под железо и низкоуровневый софт, проще говоря работает с меньшими задержками и с приемлемым качеством звука на выходе.
Если вы используете этот выход с файлами 24bit, возможно вам имеет смысл использовать Дизеринг вот только с файлами 16bit Дизеринг нужно будет снова отключить.

Hi-Res Выход (Экспериментальный) (Hi-Res Output (Experimental)) — в моем случае его нет, но если он имеется, пробуйте использовать его. — вывод звука высокого разрешения доступный для ряда смартфонов, в числе которых и Z2, S5. В отличие от предыдущих двух, этот вывод реализован производителем смартфона. Тем не менее, должна быть поддержка и со стороны плеера. Добавить поддержку своего телефона можно на форуме PowerAmp-а Ссылка на форум Requests for Hi-Res Support

Далее заходим в Активный Режим, в моём случае OpenSL ES Выход

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

Читайте также:  Как антивирус обнаруживает вирусы

Нажав на шестеренку напротив Динамика заходим в настройки.

Частота дискр. (Sample Rate) — Здесь желательно выставить максимальное значение.
Без экв.тона (No Equ/Tone) — полезен тем, что отключает эквалайзер, настройки тонкомпенсации — проще говоря выдает звук без изменений. Если не пользуетесь эквалайзером (а лучше им не пользоваться!) рекомендую на всякий случай включить для всех устройств. Но на данном этапе мы его оставляем как есть на скриншоте.

Возвращаемся в меню и заходим в Дополнительные настройки.

Прямое управление громк. (DVC) — Выключаем! Здесь кроется еще одна проблема PowerAmp-а с подключением через Bluetooth. Просто в следующее подключение у вас просто не будет звука.
Смягчить усиление экв./тона — Включаем. Это чем-то похоже на функцию LOUD в магнитофонах.

Как бонус оставлю своих 2 настройки эквалайзера, чтобы играл САБ, да и вообще это моя субъективная настройка, может кому придется по душе. Не нужно рассказывать про тонокомпенсацию Болеро.

Фуф, осилил. Ну уж очень много букав)) Однако, может еще кто будет так же счастлив улучшению звука в авто путем небольших телодвижений.

SoX has a high quality resampling algorithm that is also highly configurable. A comparison of resampling with several different settings (albeit for only one particular conversion) and with various other tools can be found at http://src.infinitewave.ca. The five sets of graphs shown for SoX there are the results of giving the following options with the rate effect:

SoX 14.4 High Quality: No options (this is the default setting)
SoX 14.4 High Quality (Aliasing Enabled): -b 90 -a
SoX 14.4 VHQ Linear Phase: -v -s
SoX 14.4 VHQ Intermediate Phase: -v -s -I
SoX 14.4 VHQ Minimum Phase: -v -s -M

The VHQ settings produce ‘sweep’ graphs with impressively black backgrounds, but in fact these settings are overkill for most situations. See the FAQ for a simple guide to selecting rate settings.

The resampler is also available separately as the SoX Resampler library (libsoxr).

For advanced use, the graphs referenced below give further examples of how the parameters to the ‘rate’ effect control SoX’s resampling filter, affecting in particular, the amounts of potential pre- and post- transient echo.

The X-axis shows time in seconds. Each line shows the affect of resampling a single sample impulse with the given rate options, thus revealing the filter’s impulse response. The Y-axis is in dB; each peak (at 0 seconds) is minus a few dBFS; the minimum displayed value is minus 96dBFS.

The last four lines are from other popular resamplers (Secret Rabbit Code src & Shibatch ssrc) and are shown for comparison with SoX.

A linear phase response is characterised by an impulse that is symmetrical about the peak.

Ссылка на основную публикацию
Регулятор громкости для автомагнитолы
Бывший хозяин видимо пытаясь снять магнитолу за рукоятку громкости, сломал её. В результате громкость не регулировалась, а отпаявшиеся контакты энкодера...
Работа с far manager
Фар менеджер - один из самых удобных файловых менеджеров, рассчитанный на работу с файлами и папками на дисках, прежде всего,...
Работа с классами python
Серия контента: Этот контент является частью # из серии # статей: Этот контент является частью серии: Следите за выходом новых...
Регулярные выражения perl примеры
Regular expressions, или регулярные выражения - способ определения символьной маски для последующего сравнения с ней строки символов или для обработки...
Adblock detector