Audiophile's Blog
Логин:Пароль:


Забыл пароль | Регистрация (убрать всю рекламу)
О сайте | Ликбез | Словарь | Audiophile's Testroom | Поддержать | Контакты
Разделы
Поиск по сайту
Популярное
Персональная настройка
Настройка звука онлайн (foobar2000, драйвера, Windows), создание персональных сборок foobar2000.

Контакты

Случайный опрос
Кто вы?
Всего ответов: 2611
Полезный софт
Opera QIP 2010 Download Master µTorrent
Ace Utilities AIDA64 SpeedFan 7-Zip
ESET NOD32 FileZilla Media Player Classic Home Cinema Paint.NET
Sony Sound Forge VirtualDub Unlocker Punto Switcher
Похожие проекты
Сейчас на сайте
Онлайн всего: 10
Гостей: 9
Пользователей: 1
mpuzirew
» »

Сравнение пяти ресемплеров для foobar2000 + ASIO4ALL Resampler (обновлено 18.11.2015)


18 Ноября 2015, 14:05

Copyright (C) 2014, Taras Kovrijenko

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

О тесте

Данный тест призван выяснить, какой ресемплер для плеера foobar2000 обладает самым высоким качеством в режиме 44->48 kHz.

Для того чтобы Вы вникли в суть дела, рекомендую прочитать статью из журнала «Звукорежиссер» под названием «Конвертеры частоты дискретизации».

1. ПО и конфигурация ПК

В тесте использовалось следующее ПО:

Microsoft Windows 7 Ultimate SP1 x64

Core (2011-06-05 09:16:20 UTC)
foobar2000 core 1.1.7

foo_benchmark.dll (2011-08-23 09:44:06 UTC)
Decoding Speed Test 1.1

foo_converter.dll (2011-06-05 09:13:50 UTC)
Converter 1.5

foo_dsp_resampler.dll (2011-08-23 09:42:57 UTC)
SoX Resampler 0.7.0

foo_dsp_spxresample.dll (2011-08-23 09:42:25 UTC)
Speex Resampler 0.1

foo_dsp_srcresample.dll (2011-08-23 09:42:40 UTC)
Secret Rabbit Code Resampler 0.1

foo_dsp_ssrc.dll (2011-08-23 09:43:14 UTC)
Resampler DSP (SSRC) 0.57

foo_dsp_std.dll (2011-06-05 09:14:22 UTC)
Standard DSP Array 1.0

foo_input_std.dll (2011-06-05 09:13:58 UTC)
Standard Input Array 1.0

foo_ui_std.dll (2011-06-05 09:14:24 UTC)
Default User Interface 0.9.5

ASIO4ALL 2.10

18/11/2015: foobar2000 1.3.9 with dbPoweramp/SSRC Resampler

RightMark Audio Analyzer 6.2.3

Adobe Audition 2.0

Sony Sound Forge 10.0c

Конфигурация компьютера:

ASUS P7H55-V
Intel Core i3 530, 2.93 GHz; (Наборы инструкций x86, x86-64, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2)
2x2Gb DDR3 1333 MHz

2. Тест качества

2.1 Подготовка

Для начала создадим тестовые звуковые файлы.

  1. Первый сигнал будет представлять собой синусоиду с плавающей частотой в диапазоне от 1 до 22050 Гц. Вот параметры генерации данного сигнала в Adobe Audition:

    Generate Tones

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

    File name : Untitled.wav
    Duration : 0:04.000 (176 400 samples)
    Sample rate : 44100 Hz
    Channels : 2
    Bits per sample : 16
    Bitrate : 1411 kbps
    Codec : PCM
    Encoding : lossless


    Orirginal Spectrogram

    Orirginal Spectrum


  2. Второй тестовый семпл представляет собой единичный импульс с минимальной продолжительностью (1/44100 с) и максимальной амплитудой. С его помощью мы сможем увидеть импульсный отклик фильтров (ресемплеров), определить их тип (минимально-фазовый, линейный) а также оценить звон. Создан в программе Sony Sound Forge 10:

    Impulse

    File name : impulse.wav
    Duration : 0:04.000 (176 400 samples)
    Sample rate : 44100 Hz
    Channels : 2
    Bits per sample : 16
    Bitrate : 1411 kbps
    Codec : PCM
    Encoding : lossless

2.2 Обработка и анализ

  1. Загружаем тестовые файлы в foobar2000 и конвертируем в WAV с включением одного из тестируемых ресемплеров. Выходным форматом будет 32 bit WAV с плавающей точкой, т.к. именно в таком виде плагины foobar2000 работают с аудио. Получаем следующие файлы (для PPHS):

File name : Untitled_PPHS.wav
Duration : 0:04.000 (192 000 samples)
Sample rate : 48000 Hz
Channels : 2
Bits per sample : 32
Bitrate : 3072 kbps
Codec : PCM (floating-point)
Encoding : lossless

File name : impulse_PPHS.wav
Duration : 0:04.000 (192 000 samples)
Sample rate : 48000 Hz
Channels : 2
Bits per sample : 32
Bitrate : 3072 kbps
Codec : PCM (floating-point)
Encoding : lossless

 2. Загружаем результат для первого тестового файла в Adobe Audition и смотрим на спектрограмму.

 3. Анализируем результат обработки этого же тестового файла программой RightMark Audio Analyzer.

 4. Загружаем результат обработки второго файла в Adobe Audition и смотрим на импульсный отклик.

2.3 Результаты

PPHS

PPHS Settings

PPHS Spectrogram

PPHS Spectrum

PPHS Impulse Response

Что же мы видим? Проанализировав графики, можно заключить что ресемплирование было произведено весьма качественно, крутизна среза частот небольшая, начинается спад АЧХ примерно на уровне 21600 Гц (теоретическая максимальная частота в исходом аудио - 22050Гц), что приемлемо. Подавления отражений спектра в диапазоне выше 22050Гц на достаточном уровне, но всё-же неидеально, хотя на слух это заметить невозможно. Импульсный отклик указывает на то, что это фильтр с линейной фазой: звон равномерно распределен до и после всплеска.

SSRC

SSRC Settings

SSRC Spectrogram

SSRC Spectrum

SSRC Impulse Response

Сразу бросается в глаза изменение продолжительности: обработка привела к увеличению продолжительности на 0.5 секунды. Вероятно, это баг плагина. Но вообще, данный ресемплер показал очень достойный результат. Подавление отражений спектра отличное (отражения не видны даже на спектрограмме), полоса пропускания - практически полная. На графике импульсного отклика заметен немного иной характер звона, чем у PPHS - очевидно это связано с более крутым срезом. Тип фазы - линейная.

dbPoweramp/SSRC

dbPoweramp/SSRC Settings

dbPoweramp/SSRC Spectrogram

dbPoweramp/SSRC Spectrum

dbPoweramp/SSRC Impulse Response

По-видимому, это новая версия библиотеки SSRC. Здесь отсутствует баг с изменением продолжительности, а спад АЧХ более плавный. В остальном результаты совпадают.

SRC (Secret Rabbit Code)

SRC Settings

SRC Spectrogram

SRC Spectrum

SRC Impulse Response

Спад частот плавный, начиная примерно с 21200 Гц. Импульсный отклик очень схож с PPHS. Линейная фаза.

SoX (Sound eXchange)

SoX Settings

SoX Spectrogram

SoX Spectrum

SoX Impulse Response

Результат полностью соответствует настройкам: подавление отражений отличное, полоса пропускания - 95% (спад начинается примерно с 20900 Гц), фаза линейная.

Теперь же, для максимизации частотного диапазона регулятор passband установим на 99% + включим поддержку алиазинга (отражений спектра в области граничной частоты).

SoX Settings

SoX Spectrogram

SoX Spectrum

SoX Impulse Response

В этом режиме мы получили полную полосу пропускания, но ценой наличия отражений в области 22050 Гц (хотя с таким уровнем в -100 dBFS они конечно же слышны не будут), а также незначительно увеличенной продолжительности звона. В случае же отключенного алиазинга мы получим следующую картину:

SoX Spectrogram

SoX Spectrum

В целом результат SoX можно считать аналогичным SSRC.

Speex

Speex Settings

Speex Spectrogram

Speex Spectrum

Speex Impulse Response

Этот совсем недавно появившийся плагин-ресемплер явно не отстает от своих соперников. Частотный срез располагается в диапазоне примерно 21300-21900 Гц. Фаза линейная.

Дополнительно: ASIO4ALL Resampler

ASIO4ALL Settings

ASIO4ALL Spectrogram

ASIO4ALL Spectrum

ASIO4ALL Impulse Response

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

2.4 О результатах

Все алгоритмы (кроме ASIO4ALL) показали более чем хорошие результаты и определенно не должны приводить к слышимому ухудшению звучания. Если же руководствоваться крутизной среза и степенью подавления отражений в его области, их всё-таки можно расположить следующим образом (в порядке убывания качества):

 1. dbPoweramp/SSRC
 2. SoX
 3. Speex
 4. SRC9 (Secret Rabbit Code)
 5. PPHS
 6. ASIO4ALL Resampler

Но не надо забывать, что качество — только одна сторона медали. А потому перейдем к тесту скорости.

3. Тест скорости

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

В качестве тестового файла выберем генерируемый программой RightMark Audio Analyzer сигнал с параметрами 16 бит 44.1 кГц. Тест производится с помощью плагина Decoding Speed Test для foobar2000 с включением одного из тестируемых DSP (настройки ресемплеров аналогичны приведенным на скриншотах выше).

Decoding Speed Test settings

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

3.2 Результаты

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

PPHS

Total length: 11:47.906
Info Read time: 0:00.000
Opening time: 0:00.008
Decoding time: 0:22.330
31.701x realtime

SSRC

Total length: 11:47.906
Info Read time: 0:00.000
Opening time: 0:00.008
Decoding time: 0:30.914
22.899x realtime

dbPoweramp/SSRC

Total length: 10:44.414
Info Read time: 0:00.000
Opening time: 0:00.000
Decoding time: 0:18.893
34.107x realtime

SRC

Total length: 11:47.906
Info Read time: 0:00.000
Opening time: 0:00.008
Decoding time: 1:00.065
11.785x realtime

SoX (Best, Passband 99%, Allow aliasing)

Total length: 11:47.906
Info Read time: 0:00.000
Opening time: 0:00.008
Decoding time: 0:07.665
92.356x realtime

Speex

Total length: 11:47.906
Info Read time: 0:00.000
Opening time: 0:00.008
Decoding time: 1:50.764
6.391x realtime

3.3 О результатах

Показателем скорости является отношение продолжительности файла к времени его обработки (например, 10x realtime).

Самым быстрым оказался SoX, что объясняется поддержкой инструкций SSE3. Неплохую скорость показал стандартный ресемплер PPHS и SSRC. SRC9 и Speex в данных режимах оказались очень медленными и будут давать при воспроизведении сильную нагрузку на процессор (особенно на слабые).

Выводы

Ресемплер Sound eXchange явно выигрывает у остальных DSP и идеально подходит для ресемплинга в режиме реального времени. SSRC, хоть и незначительно, но превосходит SoX по качеству, правда при этом является медленным (в 3 раза медленнее). Как вы уже поняли, использовать сторонний компонент SSRC не нужно — теперь более новая версия встроена в плеер (при полной установке). И ешё: также существует еще один компонент — SSRC X, с возможностью тонкой настройки, однако на самых высоких настройках он всё же уступает версии dbPoweramp.

Учитывая скорость обработки, PPHS дал также приемлемые результаты, а вот SRC9 и Speex, хоть и дают высокое качество, но имеют слишком низкую скорость.

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


    P.S. Для того чтобы полностью раскрыть потенциал ресемплера, его тестирование лучше проводить на материале с высокой разрядностью — 24 бит и выше. При обработке же 16-битного материала нелинейные искажения вносимые обработкой (для данных ресемплеров/режимов их работы) находятся ниже шумов квантования. Тестирование работы ресемплеров с материалом более высокой глубины квантования неактуально, т.к. большинство материала в наших музыкальных коллекциях имеет разрядность 16 бит, а аудио более высокого качества, например DVD-Audio, имеет обычно частоту дискретизации 48 или 96 кГц и ресемплер в таком случае чаще всего не требуется.


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

Теперь можно легко, бесплатно и без регистрации качать музыку с любых сайтов, которые вы посещаете. Программа ЛовиMusic позволит быстро и просто скачать музыку с zaycev.net, VKontakte, Odnoklassniki.ru и других ресурсов.


Полезные ссылки:

 
   
Категория: Авторские статьи | Автор: | Добавил: Audiophile ()
Просмотров: 63632 | Комментарии: 12 | Теги: SSRC, SoX, SRC, resampler, Speex, PPHS | Рейтинг: 5.0/5, голосов: 4
Всего комментариев: 12
[12] Evgenivasilevv85   (29 Января 2016 14:36)
Спасибо большое за данную статью!! Очень мне она помогла. happy

[10] gungstar   (21 Октября 2015 17:37)
доброго. подскажите настройки Sound Forge для создания 2го тестового семпла

0  
[11] Audiophile   (22 Октября 2015 17:35)
А какие настройки? Просто карандашом рисуете точку.

[9] maxim-b   (10 Сентября 2015 17:22)
В foobar2000 1.3.9 новый ресемплер:
Цитата
New high-quality but slow resampler based on dBpoweramp/SSRC code, as an alternative to fb2k's PPHS resampler.

[5] j7n   (15 Марта 2015 05:59)
В каких случаях желательно использовать фильтр минимальной фазы (SoX)?

0  
[6] Audiophile   (17 Марта 2015 21:39)
Как правило, в звуковой обработке минимальную фазу использовать не следует, т. к. она увеличивает пре-эхо. Эта возможность скорей для исследовательских целей.

[7] Rollinnn   (25 Августа 2015 00:36)
Вообще-то, минимальная фаза (minimum phase) как раз уменьшает пре-эхо, точнее совсем убирает.
Цитата из мануала к SoX: A phase response setting may be used to control the distribution of any transient echo between
‘pre’ and ‘post’: with minimum phase, there is no pre-echo but the longest post-echo; with linear
phase, pre and post echo are in equal amounts (in signal terms, but not audibility terms); the intermediate
phase setting attempts to find the best compromise by selecting a small length (and level)
of pre-echo and a medium lengthed post-echo.

0  
[8] Audiophile   (25 Августа 2015 09:24)
да, спасибо. Я имел ввиду амплитуду осцилляций вообще.

[4] kiavan92   (24 Августа 2014 03:30)
http://www.foobar2000.org/components/view/foo_dsp_multiresampler
3 режима интерполяции, какой-то ограниченно-полосной синтез, и любимые всеми тёплыми ламповыми аудиофилами «ступеньки». По твоей методике ещё не тестил.

[3] Palintin   (04 Июля 2013 18:29)
Может есть необходимость провести тестирование для современных версий.
Объясните если не сложно, как по графику определить какой лучше? На что обращать внимание? Чем руководствоваться при оценке графиков?

[1] maximus_lt   (18 Мая 2013 01:57)
Вопрос: карта до 192000, если выставить в ресемплере максимум 192000, файлы с меньшим разрешением не будут обрабатываться или все пойдут через плагин ?

[2] Audiophile   (18 Мая 2013 08:30)
разрешением?

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Авторские статьи
Сообщество
Последнее на форуме
Кодеки
TAK FLAC APE WV
MPC OGG AAC/ALAC MP3
WMA TTA OFR LA
Теги
Follow me
Twitter YouTube
Google+ Facebook
Полезные ссылки
Copyright Taras Kovrijenko © 2009–2016