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


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

Контакты

Случайный опрос
Ваш любимый музыкальный жанр
Всего ответов: 1924
Полезный софт
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
» »

Новая версия AIMP 3.55 beta: улучшения звукового движка


14 Сентября 2013, 02:00

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

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

Напомню, мною были обнаружены следующие недостатки:

1. Декодирование lossy в формате 16 бит с фиксированной точкой исключало возможность избежания клиппинга, а также сужало динамический диапазон hi-res записей.
2. Ресемплинг низкого качества, который трудно обойти (выходная частота задаётся для всего материала, вывод с исходной частотой дискретизации невозможен).
3. Отсутствие дизеринга при понижении разрядности исключает качественное воспроизведение hi-res материала на 16-битных картах.
4. Примитивный неконфигурируемый алгоритм апмикса.
5. Вывод в режиме WASAPI Shared с фиксированной точкой исключает возможность использования limiter APO.

А теперь последовательно проверим наличие этих проблем в новой версии.

Для начала зайдем в настройки воспроизведения:

Здесь мы установим вывод через ASIO с частотой 44100 Гц. Разрядность автоматически устанавливается драйвером в 32 бит (фикс. точка).

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

Декодирование lossy

Для проверки предотвращения клиппинга я пользуюсь специальным MP3 файлом, специально усиленным до + 6 dBFS, благодаря чему наличие клиппинга можно определять на слух. Так как сейчас у нас все обработчики отключены и вывод происходит в формате с фиксированной точкой, при его воспроизведении наблюдается глубокий клиппинг — так и должно быть.

Теперь давайте включим вывод WASAPI. Клиппинг остался. Это говорит, что аудио продолжает выводиться с фиксированной точкой. Кстати, в обзоре AIMP я упоминал, что в foobar2000 существует вывод WASAPI Shared, автоматически выбирающий формат 32-bit float. Это не так, на самом деле DS — это всё тот же DirectSound вывод, просто для Windows Vista и более новых ОС разработчик прописал фиксированный формат вывода с плавающей точкой (т.к. Windows Audio Session его поддерживает вне зависимости от звуковой карты). Насколько реально сделать вывод с плавающей точкой при использовании WASAPI, мне выяснить так и не удалось, но смысл использовать этот вывод в AIMP всё же есть. При использовании WWASAPI Shared плеер запрашивает значение выходной частоты из параметров устройства, и затем конвертирует в неё звук с помощью своего ресемплера. Это помогает избежать двойного ресемлпирования — плеером и resampler MFT. С другой стороны, если всё же нужен вывод с плавающей точкой, можно воспользоваться режимом DirectSound и установить разрядность вручную. Что мы сейчас и сделаем

Теперь отчетливо слышно, что клиппинг пропал — всё благодаря ограничителю Windows Audio Session (limiter APO). Кроме того, этот факт также говорит, что декодирование MP3 выполняется теперь с плавающей точкой. Также с плавающей точкой работают и все эффекты, например эквалайзер.

Этот же формат используется и другими декодерами.

Теперь проверим другие способы предотвращения клиппинга. Например, ReplayGain.

ReplayGain также прекрасно справился с клиппингом, однако огорчает отсутствие настройки apply gain/prevent clipping according to peak, как в foobar2000. Т.е. плеер просто выполняет усиление/ослабление до стандартного уровня громкости, причем в результате пики обычно оказываются намного ниже максимума, что приводит к потере SNR (соотношения сигнал/шум).

И еще у нас появилась интересная опция «антиклиппинг», Давайте её исследуем.

Действительно, при включении этой опции клиппинг мгновенно пропадает. Прослушав записи с широким динамическим диапазоном, я выяснил, что эта опция представляет себе ограничитель наподобие Advanced Limiter в foobar2000. Чтобы определить качество лимитера, я воспользуюсь специальным сигналом. Для его создания я генерирую сигнал с частотой 60 Гц, затем модулирую его сигналом с частотой 1 Гц и фильтрую НЧ фильтром все высшие гармоники. На выходе получается что-то вроде 60-герцовых биений с периодом в 1 с. Затем уровень сигнала завышается до + 6 dBFS и всё это сохраняется в формате с плавающей точкой.

Итак, если воспроизвести этот сигнал в foobar2000 с включенным Advaned Limiter'ом, мы услышим искажения. Их спектр располагается в области высоких частот и состоит из кратных нечетных гармоник. Для сравнения — вот спектр исходного тестового сигнала:

А вот прошедшего через Advanced Limiter:

Теперь смотрим на спектр, который даёт нам limiter APO:

И, наконец, антиклиппинг AIMP3:

В итоге мы имеем значительные слышимые искажения у Advanced Limiter, чуть меньшие искажения у антиклиппинга, и хорошую прозрачную компрессию у limiter APO. Скорее всего искажения для лимитеров foobar2000 и AIMP обусловлены не совсем правильно выбранным временем атаки/затухания. Впрочем, вероятность клиппинга глубиной 6 dBFS в реальности стремится к нулю, а для клиппинга возникающего в том же MP3 эти DSP можно спокойно использовать. С другой стороны, если вы погорячитесь с уровнем эквалайзера, этот лимитер не сможет в полной мере спасти звук от искажения.

Да, и еще одна хорошая новость связанная с введением формата 32-bit float. Теперь клиппинг можно устранить простым снижением громкости в плеере.

И напоследок в этой части обзора я хотел бы произвести сравнение MP3 декодеров AIMP3 и foobar2000:

Оба плеера дали одинаково качественный результат, с сохранением 24-битного динамического диапазона.

Ресемплинг

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

По умолчанию регулятор качества ресемплинга установлен на положение «выше среднего». Давайте проверим, что у нас получится в результате преобразования 44.1->96 kHz.

Спектрограмма достойная. Давайте посмотрим на график искажений:

Качество более чем достойное. Вне всяких сомнений. Вопрос снимается.

Дизеринг

Вопрос дизеринга не такой животрепещущий, как вопрос декодирования, но всё же важный. Кстати говоря, куда важнее наличие дизеринга в конвертере — он может пригодиться например при записи hi-res записей на Audio CD (т.е. при подготовке материала для записи). Однако в конвертере данной опции пока не предусмотрено. Ну что ж, давайте посмотрим, как работает дизеринг при воспроизведении. Для этого установим режим WASAPI Exclusive и разрядность 16 бит. Затем включим дизеринг и воспроизведем 24-битный тестовый сигнал.


foobar2000 dithering


AIMP 3.55 dithering

Факт наличия дизеринга у AIMP зафиксирован. Конечно такой «красивый» нойз шейпинг, как у foobar2000, не используется, но 2 дБ/октаву — (да и простого дизеринга) вполне достаточно, это уж точно лучше, чем ничего.

Итог

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

Таким образом AIMP3 уверенно догоняет по возможностям звуковоспроизведения foobar2000. Конечно, есть отдельные моменты — отсутствие тщательного нойз шейпинга, ограниченные возможности преобразования каналов. Но это всё мелочи, да и скорее всего эти недочеты будут исправлены в дальнейшем. В любом случае, уже сейчас я могу рекомендовать этот плеер для качественного воспроизведения как lossless, так и lossy источников.

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


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

TermoStok: оборудования для отопления и водоснабжения. Здесь Вы можете по умеренным ценам приобрести качественные полипропиленовые трубы SPK (Стамбульский район Шишли) производства Турции. Покупая трубы SPK (СПК) полипропиленовые армированные, Вы не только приобретаете качественную продукцию, но также и хорошо экономите средства.

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