Тестирование методов вывода звука. Перезагрузка.

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

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

Тест 1:  плеер и ОС 192 кГц / 24 бит

Гармонические искажения методов вывода звука (24 бит)

Рис. 1. Гармонические искажения методов вывода звука (24 бит)

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

Тест 2: плеер и ОС 44.1 кГц / 16 бит

Гармонические искажения методов вывода звука (16 бит)

Рис. 2. Гармонические искажения методов вывода звука (16 бит)

Примечание к картинке: графики ASIO и WASAPI Exclusive полностью совпали с исходным сигналом.

В этом режиме не всё так просто, как в предыдущем. ASIO и WASAPI Exclusive показали 100% точность вывода звука. А вот методы вывода DirectSound и WASAPI (Shared Mode) имеют некий «шум», который на первый взгляд должен портить звучание. Что же это за шум? Ошибка разработчиков, или это было сделано специально? Ответ прост: шум этот, не что иное, как дизеринг. Кратко: дизеринг — это шум минимальной амплитуды, который обычно «подмешивается» к сигналу при понижении глубины дискретизации («битности») записи. Зачем добавлять какой-то шум в сигнал? Давайте узнаем.

Тест 3: плеер 192 кГц / 24 бит, ОС 192 кГц / 16 бит

Примечание: на практике чаще всего используется преобразование записи 192 кГц / 24 бит в 44.1 кГц / 16 битили 48 кГц / 16 бит: это нужно для карт, которые не поддерживают вывод с более высокими параметрами. Но в данном тесте, чтобы исключить влияние передискретизации, мы будем выводить запись 192 кГц / 24 бит, настроив в звуковой карте 192 кГц / 16 бит. Для этого в AIMP настраивается выход DirectSound 192 кГц, 32(float) бит. 32 бита с плавающей точкой — это та величина, с которой работает звуковой движок AIMP, таким образом сам плеер не будет делать никаких преобразований. Всё, что произойдёт с сигналом, будет «делом рук» ОС. График для сравнения получим с помощью звукового редактора, просто пересохранив файл с уменьшением глубины дискретизации до 16 бит (опцию дизеринга в редакторе, естественно, отключаем).

Гармонические искажения методов вывода звука (16 бит) при обработке 24 битного источника

Рис. 3. Гармонические искажения методов вывода звука (16 бит) при обработке 24 битного источника

Из графика видно, насколько большие искажения получились при простом преобразовании сигнала. А вот сигнал, прошедший «обработку шумом» в недрах DirectSound или WASAPI, напротив, намного «чище». В этом и есть смысл подмешивания шума при выходе 16 бит.

Выводы

Итак, какой же метод вывода звука выбрать?

  1. Если вам важно слышать кроме музыки другие звуки вашего компьютера (уведомления от мессенджеров, звуки игры и т.д.), то нужно использовать WASAPI (Shared Mode) или DirectSound. Эти методы так же можно порекомендовать при воспроизведении 24 битных записей на звуковых картах, не поддерживающих эту разрядность: для этого настраиваем в ОС формат 16 бит. Что касается разницы между WASAPI (Shared Mode)и DirectSound — то она минимальна: вносимые шумы дизеринга на одном уровне. Режим DirectSound«перекочевал» из старых ОС для совместимости со старыми программами.
  2. Поклонники вывода звука «как есть» могут воспользоваться режимами ASIO или WASAPI Exclusive, которые будут глушить все посторонние звуки компьютера, позволяя полностью погрузиться в звучание композиции. Что касается отличий между режимами Event и Push, то разница между ними исключительно техническая, но не звуковая. Отличие состоит в алгоритме буферизации: режим Event предназначен для лучшей совместимости с USB картами, режим Push для остальных случаев. Но исходя из опыта использования, обычно, один из этих алгоритмов работает нестабильно, и это не зависит от интерфейса звуковой карты: в таком случае остаётся выбрать более стабильный режим.
  3. Ну и самый оптимальный вариант, если звуковая карта поддерживает 24 битный режим, — в этом случае любой метод вывода даст идеальный звук: просто не забываем настроить 24 бит в плеере и ОС.