алгоритм передискретизации aimp что это

Блог проекта AIMP

Анонсы / Планы / Заметки

Тестирование плееров. Ресемплер.

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

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

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

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

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

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

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

Для замеров будем использовать 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 кГц

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

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

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

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

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

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

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

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

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

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

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

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

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

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

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

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

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

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

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

Выводы

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

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

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

Источник

AIMP3 против foobar2000: исследование звукового тракта

Внимание: с выходом новой версии AIMP3 большая часть результатов в этом обзоре стала неактуальной. Ознакомиться с обзором новой версии AIMP вы можете здесь.

Пролог

Следуя принципу «не foobar’ом единым», я решил заняться рассмотрением альтернативных плееров. Начну я конечно же с AIMP, так как он является вторым по популярности среди посетителей данного сайта (60% foobar2000, 20% AIMP).

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

Используемое оборудование и ПО

200?’200px’:»+(this.scrollHeight+5)+’px’);»> Microsoft Windows 7 Ultimate SP1 x64

AIMP v3.50 build 1277
foobar2000 core 1.2.9 + SoX Resampler 0.8.3
RightMark Audio Analyzer 6.3.0
Adobe Audition CS6
Sony Sound Forge 10.0c

Creative X-Fi XtremeGamer

В процессе исследования звуковой поток будет выводиться либо в файл, либо записываться с источника «What U Hear» карты Creative X-Fi XtremeGamer. В режиме Bit-Matched playback (Audio Creation mode) карта способна без внесения изменений пропускать через себя 24-битный поток.

Декодер

Чтобы не мучиться с записью, декодировать будем конвертерами AIMP и foobar2000 (т.к. декодеры там те же, что в плеерах). Но тут обнаруживается один интересный факт. Если в foobar2000 доподлинно известно, что декодирование и вся обработка происходят в формате 32-bit float, то в AIMP, похоже, с этим проблемы. Скажем, если воспроизводить закодированный MP3 файл, в окне статуса воспроизведения мы видим:

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

Итак, в foobar2000 декодируем по накатанной схеме. В AIMP открываем конвертер и выбираем WAVE.

Для равноправия плееров форсируем в конвертере вывод в 32-bit float. Будет это так называемый padding (добивание из 16 бит до 32 нулями) или же декодер правда будет работать в 32 бит с плавающей точкой — сейчас разберемся.

А теперь посмотрим на отчет анализа полученных файлов.

Худшие опасения насчет AIMP подтвердились. Посмотрите на шумовую полку:

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

То, что 16-битный уровень шумов (-97 dBFS) сохраняется и после 20 кГц (где LAME уже применяет НЧ фильтр), говорит не иначе, как о том, что в процессе декодирования использовался формат 16 бит. Иначе шумы в зоне отсутствия сигнала были бы как у foobar2000 — куда ниже.

Но сразу успокою ярых поклонников AIMP, спектральный состав в диапазоне до 20 кГц идентичен:

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

А теперь, чтобы выяснить таки, был ли ошибкой выбор 16-битного формата декодирования, перейдем к MP3 из 24-битного источника. А еще лучше — поиграем в максималиста и также поднимем частоту дискретизации до 48 кГц. Это воссоздает условия кодирования какого-нибудь DVD-Audio источника.

Спектр исходного сигнала (24 бит 48 кГц):

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

Спектр сигнала кодированного в MP3 и декодированного foobar2000:

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

А теперь спектр на выходе декодера AIMP.

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

Еще печальнее, что 16-битное декодирование используется для всех lossy форматов — AAC, OGG, MPC.

1-0 в пользу foobar2000.

Обработчики

На данном этапе нас прежде всего интересует преобразование частоты и разрядности квантования. Посмотрим, какие возможности предлагает нам AIMP. Для того чтобы получить возможность ручного выбора разрядности и количества каналов, необходимо указать вывод DirectSound либо WASAPI Exclusive. В остальных случаях эти параметры выбираются автоматически, но об этом позже.

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

Вообще, сразу бросается в глаза фиксированный параметр частоты дискретизации. Т.е. при воспроизведении источников с различной частотой семплирования, нам придется или постоянно менять настройки вывода, или пользоваться встроенным ресемплером. Кстати, в случае, когла ASIO поддерживает автомат опорной частоты, значение семплрейта «as source» очень бы пригодилось. Что ж, может всё-таки стоит воспользоваться ресемплером? Давайте проверим его качество.

Итак, если мы будем воспроизводить, скажем, Audio CD, потом DVD Audio (с частотой семплирования, скажем, 96 кГц), то лучшим вариантом будет установить в настройках максимальную частоту — чтобы всё при необходимости преобразовывалось в 96 кГц. И опорную частоту звуковой карты тогда тоже стоит поставить 96 кГц.

В документации к AIMP явно не указано, какой алгоритм ресемплинга используется, но указано использование BASS Audio Library, так что вероятно, эта библиотека включает в себя и ресемплер. В любом случае, давайте наконец перейдем к тестированию.

Будем использовать также тестовый сигнал RightMark и конвертер AIMP3. Сигнал мы возьмем формата 24 бит/44 кГц, чтобы подробно исследовать качество передискретизации. Сравнивать будем с ресемплером SoX (Best, Aliasing: off) из foobar2000.

Посмотрим на результаты. Давайте по порядку.

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

Судя по АЧХ, AIMP использует минимально-фазовый фильтр. Об этом говорит пологость среза. Напротив, SoX, в данном случае установлен в режим с линейной фазой, крутизна среза очень высока. В общем, АЧХ у обоих ресемплеров вполне приемлемая.

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

А вот на графиках интермодуляционных и гармонических искажений мы видим большое количество искажений у AIMP, в т.ч. новые спектральные составляющих в диапазоне >22.05 кГц, которые представляют собой алиазинг (отражение частот) и обусловлены плохим подавлением. Здесь AIMP яявно проигрывает SoX’у, график которого практически идеален.

Теперь продолжим тестирование ресемплера AIMP по методике, которую я уже использовал в сравнительном тесте ресемплеров. Начнем со спектрограммы. Напомню: тестовый сигнал имеет разрядность 16 бит, так что мы увидим реальные результаты, которые получатся при воспроизведение, обычных записей, например Audio CD.

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

Вот те самые искажения в области слышимых частот, которые мы видим на графиках RMAA. НЧ фильтр явно работает очень плохо — настолько плохо, что алиазинг даже восприниматься на слух (проверено на семgле udial). Теперь для сравнения взгляните на результаты SoX:

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

Срез на уровне 21 кГц. Подавление отражений идеальное.

Перейдем к тесту звона.

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

Вверху импульсная характеристика AIMP, внизу — foobar2000 SoX. Как видно из характеристики AMP., фильтр всё же не минимально фазовый, т.к. присутствует упреждающий звон. Тем не менее, уровень и продолжительность звона несколько меньше, чем у SoX — и это единственное преимущество, полученное ценой плавного спада АЧХ. Так или иначе, у SoX звон в любом случае находится в области 20 кГц и на уровне —120 dBFS и на 16-битные записи он не возымеет абсолютно никакого влияния (а на 24-битных просто не будет слышен).

Таким образом, алгоритм ресемплирования AIMP однозначно проигрывает, даже стандартному фубаровскому PPHS (смотрите тест). 2-0 в пользу foobar2000, а мы тем временем переходим к тесту преобразования разрядности.

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

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

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

получить вот такое:

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

Каким же образом выполняет преобразование AIMP? Настроек дизеринга я в нем не нашел. Возможно, дизеринг включается автоматически? Давайте проверим.

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

Очень жаль, но AIMP выполняет преобразование простым отбрасыванием младших разрядов, без использования дизеринга. Результат — значительные гармонические искажения и малый динамический диапазон. 3-0 в пользу foobar2000.

Итак, у нас осталось преобразование каналов. Я не буду слишком подробно останавливаться на данном вопросе. Процитирую справку AIMP:

Вопрос:
Что делает опция «Расширенная обработка каналов» из настроек воспроизведения?

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

Пример 1:
Исходный файл имеет 5.1 (6 каналов), а на выходе стерео (2 канала). При отключенной опции в колонках будет воспроизводиться только 1-й и 2-й каналы исходного сигнала.
Если же опцию включить — на левый канал пойдет микс 1-го, 3-го (левые каналы) и 5-го (центральный) каналов, а на правый канал — микс 2-го, 4-го (правые) и 5-го (центральный) каналов.

Пример 2:
Исходный файл имеет стерео формат (2 канала), а на выходе 5.1 (6 каналов).
При включенной опции — на 1-й и 3-й (левые) каналы 5.1 системы пойдет сигнал левого канала стерео, на 2-й и 4-й (правые) — пойдет правый канал, на центральный канал пойдет микс обоих каналов стерео, а на сабвуфер — низкочастотная составляющая центрального канала.

Таким образом все настройки микширования сводятся к вкл/выкл и выбору количества каналов. Нет возможности даже установить частоту среза для сабвуфера. А теперь вспомним Channel Mixer (стерео в 5.1, 5.1 в стерео) и Crossover DSP для foobar’a. Счет 4-0 в пользу foobar2000.

Вывод звука

Что мне нравится в AIMP3 — так это наличие всех необходимых компонентов прямо «из коробки». И если в foobar2000 вам придется ставить вывод ASIO, WASAPI Exclusive, декодеры APE, TAK и проч., то в AIMP вы имеете это всё сразу после установки.

Итак, у нас есть 4 метода вывода, рассмотрим их по порядку.

DirectSound

Этот метод предназначен для совместимости с Windows XP. В нем доступен выбор разрядности, и конфигурации каналов. Звук передается операционной системе в обычном режиме, работают все эффекты и преобразователи микшера Windows. В Windows Vista/7/8, например, сигнал будет приводиться к формату указанному в свойствах устройства вывода (панель управления Windows).

WASAPI Exclusive

Монопольный режим, который отключает все обработчики WASAPI. Аналогичен выводу Kernel Streaming в Windows XP. Доступен ручной выбор частоты, разрядности и количества каналов. Вся необходимая обработка (преобразование частоты, разрядности, количества каналов) производится плеером.

Этот режим позволяет достичь двух целей: во-первых обойти обработчики Windows, во-вторых достичь низкой задержки вывода (что для обычного проигрывания музыки в общем-то не важно). Настройки разрядности и количества каналов диктуются драйвером ASIO.

WASAPI (Shared)

Стандартный метод вывода для Windows Vista/7/8. Аналогичен в этих ОС выводу DirectSound, но при этом частота семплирования, разрядность и количество каналов выбираются автоматически. Здесь надо рассказать чуть подробнее.

Частота семплирования и количество каналов выбирается в соответствии с разрядностью, установленной в параметрах звукового устройства Windows. При несоответствии количества каналов источника и устройства плеер выполняет микширование (в случае включенной расширенной обработки каналов).

Ресемплирование также выполняется плеером, что весьма и весьма странно. Дело в том, что WASAPI включает в себя т.н. resampler MFT (Media Foundation Transform). Этот ресемплер выполняет преобразование частоты всех поступающих на него аудио сигналов до значения указанного в свойствах звукового устройства Windows. API позволяет изменять качество алгоритма ресемплирования от 1 до 60 (значение по умолчанию — 30). Но даже в режиме по умолчанию качество ресемплера Windows превосходит качество ресемлпера AIMP.

Давайте проверим. Сравним ресемплер AIMP и ресемплер Windows, который будет работать, если в AIMP выбрать вывод через DirectSound.

Итак, сначала в панели Windows устанавливаем для карты формат 24 бит/96 кГц, опорную частоту карты также ставим 96 кГц. Устанавливаем в AIMP режим WASAPI (shared). Затем воспроизводим тестовый файл формата 24 бит/44.1 кГц и записываем его Райтмарком. В этом случае ресемплирование будет выполнять AIMP (в окошке статуса будет указан формат вывода 32 бит 96000 Гц). Далее устанавливаем в AIMP режим DS, частоту 44.1 кГц и разрядность 32 бита (float). Снова воспроизводим тестовый файл и записываем его Райтмарком. Таким образом преобразование 44.1->96 будет выполнять Windows.

Смотрим на результат. Ресемплер Windows действительно намного лучше встроенного в AIMP.

Хотел бы еще сказать о разрядности. foobar2000 в режиме WASAPI shared (там этот режим указан как DS) использует вывод в формате с плавающей точкой. Преимущества от этого очевидны — при таком формате исключается клиппинг на этапе вывода звука плеером. Для случаев, когда сигнал превышает допустимый уровень, Windows применяет специальный лимитер (limiter APO), по принципу работы аналогичный Advanced Limiter DSP в foobar2000. Таким образом аудио данные в foobar2000, начиная с декодера (для lossy) и включая вывод представляются в формате 32-bit floating point, что является очень большим преимуществом.

Что касается AIMP, то здесь всё весьма странно. Не смотря на то что в режиме DirectSound возможен выбор формата 32-bit (float), в режиме WASAPI (shared) плеер автоматически выбирает режим с фиксированной точкой. Тем самым сводя на нет возможности предотвращения клиппинга лимитером Windows. Выходит, что вывод DirectSound с ручной установкой частоты и количества каналов предпочтительней, чем WASAPI.

Здесь я хотел бы еще раз вернуться к декодированию. В AIMP поток от декодера идет в формате 16 бит, а следовательно, при наличии превышения уровня в источнике (скажем, MP3), сразу же происходит клиппинг, и никакие лимитеры уж не помогут. У foobar2000 же есть масса методов борьбы с клиппингом — ReplayGain, Advanced Limiter и другие DSP, регулятор громкости. В случае вывода через WASAPI shared (DS) сработает лимитер Windows, или опять же можно воспользоваться занижением громкости для приложения в микшере Windows. AIMP же лишен всех этих возможностей (несмотря на наличие поддержки ReplayGain и ограничителя — всё это сводится на нет из-за декодирования с фиксированной точкой). И по моему мнению это делает его непригодным для качественного воспроизведения аудио.

Итак, что касается возможностей обработки и качественного вывода звука — здесь полная и безоговорочная победа foobar2000 со счетом 5-0. Насчет удобства — всё конечно же индивидуально. Но если качество для вас является необходимым условием, то выбор очевиден.

Источник

Блог проекта AIMP

Анонсы / Планы / Заметки

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

Предыдущая статья, посвящённая исследованию методов вывода звука, была опубликована более 3-х лет назад, с тех пор мир немного шагнул вперёд: появились новые операционные системы (ОС) Windows 8, 8.1, 10, AIMP научился выводить звук через WASAPI Exclusive, кроме того, формат High-resolution Audio 192 кГц / 24 бит стал набирать популярность среди обывателей, благодаря появлению более доступных устройств с его поддержкой. Настало время повторить исследования с учётом этих изменений.

Список подопытных

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

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

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

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

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

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

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

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

Рис. 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 бит (опцию дизеринга в редакторе, естественно, отключаем).

алгоритм передискретизации aimp что это. Смотреть фото алгоритм передискретизации aimp что это. Смотреть картинку алгоритм передискретизации aimp что это. Картинка про алгоритм передискретизации aimp что это. Фото алгоритм передискретизации aimp что это

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

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

Выводы

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

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

Любой вариант подойдёт. Главное, чтобы не было промежуточного преобразования в 16 бит.

Здесь и в самом плеере сказано что при выборе режима ASIO что посторонние приложения не могут выводить звук. Но почему у меня при прослушивании музыки в этом режиме я могу прослушивать звук и в других программах? Карта: Audigy 2zs

Это происходит от того, что у вашей карты так называемый псевдо-ASIO, который реализован через одно место и только лишь для «галочки», ради наклейки на коробке. Никакой реальной пользы от него нет и быть не может.

Soolo, спасибо Вам большое за нужные статьи!
У меня вопрос. Windows 7 32 bit, AIMP 3.60 build 1503, режим WASAPI Exclusive (event), сигнал по USB кабелю идёт с ноутбука на внешний ЦАП (Arcam rDAC) — при такой конфигурации и настройке я должен получить на входе в ЦАП точную битовую копию проигрываемого файла (т.е., насколько я понял, сигнал никак не меняется). Тогда почему при изменении громкости в AIMP’е меняется громкость звучания? Значит всё-таки система вмешивается и меняет сигнал (в данном случае его громкость)? Просто я считал, что если сигнал «чистый», т.е. 1 в 1 совпадает с исходным файлом, то не должно быть возможности его изменять каким бы то ни было способом.

«Просто я считал, что если сигнал «чистый», т.е. 1 в 1 совпадает с исходным файлом, то не должно быть возможности его изменять каким бы то ни было способом.»
Нет, с чего вы взяли, что не должно быть возможности? Побитовая точность вовсе не означает полное отсутствие фильтров на пути сигнала. Сигнал может пройти любой фильтр (например, громкость) 1в1, если фильтр настроен так, что не меняет сигнал (к примеру, громкость 100%): что получено на входе — то отправляется на выход.

Понятно. У меня ещё вопросик. Один из режимов в настройках AIMP, в котором вы проводили тест, был 192 кГц / 24 бит. У меня выставлено значение 96 кГц / 24 бит (максимально возможные характеристики ЦАПа при воспроизведении через кабель USB). Что же тогда происходит при воспроизведении файла с частотой и битовой глубиной, отличной от установленной в настройках? Например, в моём случае, при воспроизведении файла 44,1 кГц / 16 бит или 192 кГц / 24 бит AIMP постоянно конвертирует значение в 96 кГц / 24 бит? Т.е. в первом случае интерполяция с 44,1 кГц / 16 бит до 96 кГц / 24 бит, во втором случае понижение с 192 кГц до 96 кГц. Я правильно понял или ошибаюсь?

При изменении частоты работает ресемплер http://www.aimp.ru/blogs/?p=312

Доброго времени суток. Прошёл год со времени написания Вами этой статьи, а я только ещё наткнулся на неё. Если сможете, то подскажите пожалуйста. Дело в том, что версия AIMP за это время тоже изменилась и сейчас она «v.4.13 (build 1895)». Но, в принципе, мой вопрос подойдёт и под прежние версии (не ниже версии 3.5). Прочитав Вашу статью, у меня возник вопрос. Дело в том, что я использую в AIMP «DirectSound», который позволяет сделать вывод с разрядностью 32 bit float. Меня интересует именно разрядность. То — есть, если я воспроизвожу МР3 файл (44.1 Hz / 16 bit) то вижу, что AIMP — е прописывается «INPUT 44.1 Hz / 32 bit float. А для выхода из AIMP я установил тоже значение 32 bit float (частоту дискретизации не будем обсуждать), потому — что, почитав многочисленные статьи, я сделал вывод, что если на выходе из AIMP установить разрядность 32 bit float, то все последующие, возможные, обработки звука (например в настройках звука Windows) будут происходить в 32 bit float и благодаря этому, качество обработки в настройках звука Windows (эквалайзеры, громкость и т.д.) будут применены более качественно, чем если вывод из AIMP установить на максимальное значение с которым может работать моя звуковая карта, то — есть 24 bit. Моя встроенная звуковая карта имеет максимальное значение (24 bit). Правильно я поступил, установив в AIMP значение вывода 32 bit float, при том, что моя звуковая карта имеет максимальные значение 24 bit?

Windows в любом случае будет обрабатывать звук в разрядности 32 bit float. Только в вашем случае она их получит от АИМПа сразу в требуемом виде, а в другом случае Винда сама преобразует данные из более низкой разрядности (такое преобразование без потерь качества).
Единственное отличие вашего выбора от обычных 32 бит в режиме WASAPI — это возможность использовать встроенный виндовый лимитер (для предотвращения клиппинга, т.е. хрипов). Для этого нужно предварительно отключить соответствующую опцию антиклиппинга в самом АИМПе. Впрочем отличия в звуке едва ли будут заметны. Гораздо правильнее, для того, чтобы избежать клиппинга, не перекручивать эквалайзер и не выставлять 100% громкость в плеере.
Что касается встроенных Реалтеков и других карт подобного класса, я всегда говорил и говорю, что никакие манипуляции с настройками не улучшат звук, можно использовать настройки АИМПа и Windows по умолчанию: а именно WASAPI 32 bit 44.1 kHz (48 kHz).

преимущества от выбора вывода 32 bit float очевидны — при таком формате исключается клиппинг на этапе вывода звука плеером

Если используется антиклиппинг АИМПа, то нужды в Limitet APO нет, соответственно, преимущество float пропадает.

А что происходит если НЕ выключить «Антиклиппинг» в AIMP-е?

Будет работать антиклиппинг АИМПа, Limiter APO останется незадействованным, т.к. к нему будет приходить не превышающий уровня сигнал.

Если «Антиклиппинг» Windows лучше «Антиклиппинга» встроенного в AIMP, то может лучше Выключить «Антиклиппинг» встроенный в AIMP

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

при прослушивании 5.1 музыки НЕ поставить галочку в «Разрешить микширование каналов», то AIMP будет воспроизводить только два канала из звука 5.1?

Всё верно. Если не стоит галочка микширования, то алгоритм очень прост: лишние каналы отсекаются, а недостающие дублируются.

Громадное Вам спасибо за оперативные ответы! Поинтересуюсь у Вас ещё немного по поводу микширования каналов: Предположим, что я, прослушиваю 5.1 музыку через AIMP (на ноутбуке с двумя встроенными динамиками). В настройках AIMP я выбрал «DirectSound» благодаря чему появилась возможность выбора каналов и я установил «5.1 Surround». Галочку «Разрешить микширование каналов сниму». После этого, получается, что 5.1 звук воспроизводится AIMP-ом (5.1 каналы не микшируются), далее выходит из AIMP-а в таком — же виде (то — есть 5.1) идёт на звуковую карту. Но, так — как в ноутбуке всего два динамика, то в настройках звуковой карты, автоматически устанавливается значение «Стерео». В этом случае получается, что так — как из AIMP-а звук пришёл 5.1, то сама звуковая карта преобразует его в стерео?

Я не исследовал этот вопрос. Думаю, что в этом случае микширование из 5.1 в 2.0 будет производить сама Windows.

Всё понял! Спасибо! Ещё вопросик, довольно простой, ОЧЕНЬ для меня важный, но долго описывать. Итак, хочу у Вас уточнить по поводу ресемплирования не совпадающих входных и выходных частот (битность и количество каналов не будем обсуждать). Насколько я знаю, в AIMP, начиная с версии 3.5 встроен качественный ресемплер (SoX). Надеюсь, это так? Поэтому, предполагаю, лучше использовать его, чем неизвестный ресемплер Windows. У меня на ноутбуке «Sony» установлен «AIMP «v.4.13 (build 1895)»» и выбран «DirectSound». В AIMP-е в настройках вывода звука я, предположим, установил значение 48кГц. В звуковых настройках Windows установил значение 96кГц (всё это только для вопроса). Далее, используя AIMP воспроизвожу, например, «МР3 44.1кГц». Я предполагаю, что происходит двойное ресемплирование. То — есть, сначала входящий в AIMP звук (44.1кГц) преобразуется при выходе из AIMP в 48кГц SoX ресемплером встроенным в AIMP (потому — что на выходе из AIMP я установил значение 48кГц), а потом этот звук (48кГц) ещё раз преобразуется ресемплером Windows в 96кГц (потому — что в настройках звука Windows установлено значение 96кГц). Правильно ли я рассуждаю? И если я рассуждаю правильно, то, что — бы избежать двойного ресемплирования, предполагаю, лучше использовать только SoX ресемплер AIMP (потому — что он, вроде как более качественный, чем ресемплер Windows) и в этом случае, в настройках вывода звука в AIMP-е нужно установить значение соответствующее значению заданному в настройках звука Windows (то — есть, например 96кГц установить на выходе из AIMP-е и 96кГц в настройках звука Windows). И в этом случае, ресемплирование будет происходить только в AIMP-е, а ресемлпер Windows не включится? Это очень важный для меня вопрос. Объясните пожалуйста!

выбран «DirectSound». В AIMP-е в настройках вывода звука я, предположим, установил значение 48кГц. В звуковых настройках Windows установил значение 96кГц (всё это только для вопроса). Далее, используя AIMP воспроизвожу, например, «МР3 44.1кГц».

Да, будет двойное преобразование 44,1 >> 48 АИМПом и 48 >> 96 Виндой. В худшем случае ещё драйвер может преобразовать в третью родную для звуковой карты частоту, например, 192.
Именно поэтому я советую всегда использовать WASAPI, что гарантированно исключит ресемплер Винды. Ну или ваш вариант: в АИМПе и в Windows установить одинаковые частоты, так же ресемплер Винды будет исключен.

Я — бы может и стал использовать «WASAPI», но, как уже писал, при выборе «WASAPI» автоматически устанавливается значение выхода 32 bit, а при выборе «DirectSound» можно установить значение 32 bit float.
В AIMP — е, в директории «Параметры преобразования» есть «Передискритизация». Так — вот ползунок у меня сдвинут полностью вправо (качество). Правильно ли я понимаю, что этот ползунок регулирует качество работы SoX ресемплера? То — есть, если установить так, как установлено у меня, то — есть до упора вправо (максимальное качество), то ресемплер будет работать на полную мощность, но медленнее и больше нагружать компьютер? И если это так, то что будет если ползунок сдвинуть полностью влево (предпочтение отдаётся скорости, а не качеству ресемплирования), то в этом случае ресемплер всё — равно будет работать, только менее качественно? На каком положении лучше оставить (учитывая, что мощности компьютера достаточно)?

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

Здравствуйте! Ещё раз более внимательно прочитал Вашу статью (находящуюся выше этих комментариев) и засомневался в правильности мною установленных значений частоты дискретизации и разрядности в настройках звука Windows 7. Итак, я зашёл в настройки звука Windows и увидел, что максимальные значения, которые можно выбрать это 192 Hz/24 bit. Не являюсь специалистом в этих показателях, но предполагаю, что это максимальные значения моей звуковой карты. Может коротко подскажете мне так это или нет?
Как я писал выше, в настройках AIMP выбрал «DirectSound», установил вывод 32 bit float/96 Hz. Выключил в AIMP-е «Антиклиппинг» (пусть используется «Антиклиппинг» Windows). В настройках вывода AIMP я решил установить значение 96 Hz потому, что это число является неким промежуточным кратным значением, ведь если я буду слушать музыку 44.1 или 48 Hz, то ресемплингом AIMP она (перед выходом из AIMP) преобразуется в заданные мной 96 Hz и если мною прослушиваемая музыка будет 192 Hz, то она так же преобразуется в 96 Hz. Поэтому, 96 Hz — это некое универсальное значение. Для того, что-бы использовался только ресемплер AIMP, я и в настройках звуковой карты выбрал 96 Hz.
Мне не понятно следующее:
Так-как, в настройках звука Windows (звуковой карты) можно выбрать максимальное значение 192 Hz, то при поступлении (на звуковую карту) звука имеющего 96 Hz, не преобразует ли она (звуковая карта) этот звук (с помощью ресемплера Windows) в максимальный (192 Hz), с которым она может работать? Я предполагаю, что не преобразует, а отправляет на ЦАП именно с заданным в ней значением, то-есть в моём случае это 96 Hz. Подскажите пожалуйста!

Так-как, в настройках звука Windows (звуковой карты) можно выбрать максимальное значение 192 Hz, то при поступлении (на звуковую карту) звука имеющего 96 Hz, не преобразует ли она (звуковая карта) этот звук (с помощью ресемплера Windows) в максимальный (192 Hz), с которым она может работать?

Это для меня такая же загадка. Разные карты ведут себя по-разному. Хорошие карты, скорее всего, работают именно с самой высокой частотой. Аудиофильские карты работают с той частотой, которая к ним поступает. Ну а встроенные карты, как в вашем случае, работают, я так думаю, на частоте 48 кГц 16 бит, а все эти мега цифры вроде 192 кГц 24 бит режутся драйвером. Ещё раз уточню: это только мои предположения, исследований я не проводил, т.к. не имею возможности.
В который раз повторюсь: не парьтесь вы с настройками встроенной звуковухи, её собственные шумы и искажения сводят на нет любые попытки оптимизации.

В AIMP-е есть возможность регулировки звука графическим эквалайзером. Но ещё присутствует отдельная регулировка низких частот (бас) в виде ползунка. Объясните пожалуйста для чего отдельная регулировка низких частот, ведь с помощью эквалайзеров можно более точно отрегулировать нужные частоты.

Это пережиток прошлого.

Artem, не знаю являетесь ли Вы разработчиком AIMP, но выше определение того, что отдельная регулировка низких частот — это «Пережиток плошлого» совершенно не информативна и я не думаю, что в AIMP-е её оставили просто так! Отдельная регулировка высоких и низких частот называется темброблоками (в основном, используется в усилителях и является аналоговым, а не цифровым средством корректировки АЧХ). В основном ими пользуются в тех случаях, когда не хочется «заморачиваться» с эквалайзерами (если таковые имеют место быть). Поэтому, хотелось бы услышать мнение автора статьи.

Да, Артём разработчик, кстати, единственный.
И да, отдельный бас — это тянется с первых версий АИМПа, а может ещё и с AIMP MMC PRO, просто разработчик решил не удалять фичу, т.к. пользователи к удалению функционала относятся негативно.

И ещё вопросик! Как я писал выше, в настройках AIMP 4 выбрал «DirectSound», установил вывод «Stereo». Слушаю стерео музыку. Вопрос: Если в настройках AIMP оставить включённой функцию «Разрешить микширование каналов» (на всякий случай, потому — что вдруг, когда — нибудь буду слушать 5.1 через две встроенные в ноутбук муз.колонки, но сейчас это не важно, потому — что я слушаю стерео и вопрос касается стерео), то прослушивая мной стереомузыка на выходе так и останется в оригинальном стерео, то — есть не будет — ли она как — нибудь обрабатываться средствами AIMP? Или, при прослушивании стерео музыки лучше выключить функцию «Разрешить микширование каналов»? Заранее благодарю!

Если количество каналов одинаковое — микширование не работает.

Большое спасибо за информацию! Искренне прошу прощения, если обидел Артёма, дело в том, что во время общения на форумах, некоторые участники, частенько отвечают в виде коротких и малоинформативных фраз, поэтому я предположил, что Артём не является разработчиком. Ещё раз извиняюсь!

Честно говоря, я понимаю, что одолел вас вопросами, но в основном, на интересующие меня вы ответили! Огромное вам спасибо! Но у меня осталось два вопроса:
1.После установки «v.4.13 (build 1895)» несколько раз пробовал выбрать «WASAPI exclusive (Event или Push)», далее сохранял, выходил из настроек AIMP, снова заходил в настройки AIMP и видел, что всё время слетает на «DirectSound»? Дело в том, что я начитался и узнал, что с помощью «WASAPI exclusive» звук с AIMP-а может идти напрямую в ЦАП, обходя настройки звуковой карты. Бывает ещё «ASIO», но этого метода вывода вообще нет в AIMP. У меня ноутбук Sony/Windows 7/64bit. Подскажите, почему слетает «WASAPI exclusive?
2.AIMP может воспроизводить шестиканальную музыку в формате АС-3. Если я в настройках AIMP выберу «DirectSound» 5.1 surround» и выключу функцию «Разрешить микширование каналов», то, что произойдёт с музыкальным файлом перед выходом из AIMP? Я предполагаю, что при запуске (входе) музыки через AIMP вся музыка декодируется в РСМ 32bt float (то-есть в Импульсно-Кодовую Модуляцию) и в случае 5.1 звука этот звуковой файл декодируется (раскладывается) из одного потока на отдельные звуковые каналы и получается шесть отдельных wav каналов, к которым можно применить корректировку («Улучшайзеры» встроенные в AIMP). А что происходит с этими разложенными каналами на выходе из AIMP? Они, (будучи обработанными средствами AIMP), перед выходом из AIMP опять упаковываются в AC-3 формат и в виде одного АС-3 файла выходят из AIMP или выходят в декодированном (разложенном на отдельные wav каналы) виде? Заранее спасибо!

1. ASIO АИМП поддерживает, а вот ваша карта, по-видимому, нет. Почему слетает WASAPI exclusive — не могу знать. Нужно хотя бы видео, чтобы увидеть последовательность действий и выбираемые настройки.
2. АИМП естественно отдаёт системе несжатые данные PCM.

Я все равно ничего не могу понять. Судя по ощущениям звук в режимах WSAPI и ASIO лучше. В режиме DirectSound звук какой то глухой, притупленный, менее звонкий, менее отчетливый, более басовый…. Я так понимаю что при определенных настройками еквалайзера в режиме DirectSound можно добиться звука как в режимах WSAPI и ASIO. Я имею ввиду если мы говорим про ноутбук или десктоп со встроеной звуковой картой. Я столкнулся с проблемой. Купил bluetooth наушники в режимах WSAPI и ASIO постоянно прерывается звук как будто идет буферизация. В режиме DirectSound наушники работают нормально.

Здравствуйте уважаемые разработчики! Вопрос по поводу дизеринга (дитеринг, dithering) в AIMP v.4.13 (build 1895). Использую метод вывода звука (из AIMP) «DirectSound», благодаря чему установил значение (вывода) битности «32 bit float». Получается, что любой входящий в AIMP звук изначально преобразуется в «32 bit float». Далее предоставляется возможность корректировки (эквалайзеры и т.д.) этого звука и из AIMP-а звук выходит тоже с разрядностью «32 bit float». Объясните мне пожалуйста, нужно ли в моём случае в настройках AIMP оставлять включённой функцию «Дизеринг», которая, как я понимаю, нужна для понижения (например из 24 bit в 16 bit) разрядности? Ведь, как я уже написал выше, изначально, AIMP весь входящий звук, преобразует в «32 bit float», то — есть получается, что если звук изначально был например 16bit или 24 bit, то при входе в AIMP он преобразуется в «32 bit float», а насколько я знаю (хотя, возможно ошибаюсь) «Dithering» не требуется при повышении разрядности. И, так — как звук на входе в AIMP преобразуется в «32 bit float» и на выходе я установил «32 bit float», то при выходе из AIMP понижения разрядности не происходит и я предполагаю, что «Dithering» не нужен?
Если вас не затруднит, может быть объясните мне, когда требуется «Dithering», только для понижения разрядности или и для повышения?
В каком именно месте требуется «Dithering»? А именно, при входе в AIMP (то — есть, если файл имеет разрядность например 16bit, а при входе в AIMP разрядность преобразуется в «32 bit float»)? Или после того, как звук уже вошёл в AIMP, преобразовался в «32 bit float» и если выходное значение не идентично входному (например вывод из AIMP установить не «32 bit float», а, например, «24bit»), то именно в этом случае нужен «Dithering»?

32 bit float выдаёт декодер. Декодер стоит первым в цепочке обработки. Соответственно, ни одна обработка звука не может идти раньше, чем декодер.
Дизеринг в АИМПе работает только при выводе звука с понижением разрядности до 24 или до 16 бит.
Если вы выводите 32 float, то дизеринг работать не будет независимо от включения или выключения соответствующей опции.

Спасибо! Объяснили коротко, но понятно. Читая в интернете всевозможные статьи связанные со звуком, частенько натыкаюсь на то, что при воспроизведении музыки тем или иным музыкальным плеером (например «foobar2000») не вся входящая в него музыка преобразуется в 32bit float, а только lossy файлы, а lossless файлы якобы не нуждаются в этом преобразовании и после входа в муз.плеер остаются с той разрядностью с которой были изначально! Но я, для проверки, нашёл музыку в формате «FLAC 96kHz / 24bit», открыл эту музыку с помощью AIMP и увидел то, что при входе в AIMP эта lossless музыка, так-же как и lossy, тоже преобразовалась в 32bit float. Объясните пожалуйста, прав ли я насчёт того, что при воспроизведении lossless музыки с помощью AIMP, она изначально (при входе в AIMP) преобразуется в 32bit float? И хорошо это или всё же было бы лучше, если бы lossless музыка при входе в AIMP оставалась бы с той битностью с которой была изначально (то-есть скорее всего 24bit)? Заранее спасибо!

Здравствуйте! В настройках AIMP-а, я установил режим вывода «DirectSound», благодаря чему предоставилась возможность выбора вывода звука 32 bit float, что я и выбрал. В настройках AIMP «Дизеринг» включен. Как вы мне ответили выше «Если вы выводите 32 float, то дизеринг работать не будет независимо от включения или выключения соответствующей опции». Поэтому, я понял, что не смотря на включенный в AIMP-е «Дизеринг», он («Дизеринг») всё — равно не включится, потому — что вывод в AIMP-е установлен 32 bit float. А где — же тогда будет происходить «Дизеринг» если в настройках звуковой карты выставить значение 16bit? В звуковой карте компьютера?

В случае DirectSound и 32 bit float дизеринг будет идти средствами звукового движка Windows.
В статье я этот случай рассматривал (последний тест).

Да, все декодеры АИМПа по возможности расшифровывают файлы в 32 bit float, это нужно для более точной обработки звука в плеере: от эквалайзера или эффектов до банальной громкости.
Думаю, любой нормальный плеер делает то же самое.
И да, повышение битности — преобразование без потерь качества.

Оптимальные настройки определяются либо на слух либо с помощью измерений.
Ну, либо из какого-либо надёжного источника узнать с какими цифрами работает ЦАП.
Один из надёжных источников — даташит на микросхему ЦАПа. Имя микросхемы либо подсмотреть на корпусе микросхемы (нужно разбирать ноут), либо, как вариант, тестовая программа какая-нибудь подскажет. Ещё варианты: форумы, обзоры видео или в картинках.
А проще всего забить, если на слух не слышно разницы.

Здравствуйте! Выше я Вам писал, что после установки «v.4.13 (build 1895)» несколько раз пробовал выбрать «WASAPI exclusive (Event или Push)», далее сохранял, выходил из настроек AIMP, снова заходил в настройки AIMP и видел, что всё время слетает на «DirectSound»? Оказывается дело в том, что нужно было зайти в настройки звука Windows (настройки звуковой карты) и установить галочку в директории «Разрешить приложениям использовать устройство в монопольном режиме» и на всякий случай установил галочку в чуть ниже находящейся директории «Предоставить приоритет приложениям монопольного режима». После этого, я в настройках AIMP выбрал «WASAPI Exclusive (Event): Громкоговоритель и наушники (Realtek High Definition Audio)» и всё заработало. Но, изначально мне было не понятно, почему ещё есть «WASAPI Exclusive (Event): Windows Default».
Подскажите, чем отличаются «WASAPI Exclusive (Event): Громкоговоритель и наушники (Realtek High Definition Audio)» от «WASAPI Exclusive (Event): Windows Default»? Кстати, это касается не только WASAPI Exclusive (Event), а так-же «DirectSound» и обычного «WASAPI».
При выборе «»WASAPI Exclusive (Event)» появилась возможность выбора разрядности «16bit» и «24 Bit (i32)». Что обозначает «24 Bit (i32)»? Спасибо!

Windows Default — устройство, выбранное в Винде по умолчанию. АИМП позволяет пользоваться не только устройством по умолчанию, а любым звуковым устройством.
24 Bit (i32) — точно не помню, что-то вроде эмуляции 24 бит, но передача данных идёт в 32 битном формате. Грубо говоря, сначала идёт понижение разрядности, затем повышение. Данные 32 бита, а параметры, как у 24 бит. Для чего нужно — не знаю. Предполагаю, это из-за неудобности 24 бит для языков программирования.

24 bit (i32) — означает, что формат сэмпла = 32 бита, но значащих из них 24

То-есть, если я в AIMP-е использую вывод «WASAPI Exclusive» и в компьютере находится 24-ёх битный ЦАП, то в настройках AIMP стоит установить вывод 24 bit (i32)? Потому-что если в настройках AIMP установить вывод 16 bit, то весь выходящий из AIMP звук (даже 24-ёх битный) будет преобразовываться средствами AIMP в 16 bit, а это не очень хорошо, потому-что ЦАП 24-ёх битный и может работать с 24-ёх битным звуком. То-есть, я предполагаю, что вывод 24 bit (i32) более качественный чем 16 bit?

Здравствуйте! У меня в ноутбуке установлен «AIMP v.4.13 (build 1895)», метод вывода (из AIMP-а) звука «WASAPI exclusive (Event)» на встроенные муз.колонки. Очень много читал о том, что (в отличие от методов «DirectSound» и «WASAPI shared») используя в музыкальном плеере метод «WASAPI exclusive» обходятся стороной значения частоты дискретизации и разрядности заданные в системном микшере Windows (в настройках звука Windows в вкладке «Дополнительно»). Поэтому вопрос: Нужно устанавливать частоту дискретизации и разрядность непосредственно в AIMP-е, потому — что звук, минуя микшер звуковой карты (меня интересуют именно настройки частоты дискретизации и разрядности в настройках Windows) пойдёт сразу на ЦАП ноутбука?
И ещё вопрос: В настройках AIMP-а, «Размер кэша» — это буфер на тот случай, если музыка начнёт заикаться?

При выводе WASAPI Exclusive звуковые данные обходят микшер и прочие обработчики. Частота, установленная в АИМПе, пойдёт на драйвер.
Кэш нужен для случаев нагрузки на винчестер, когда плеер не может получать своевременно данные и начинает заикаться.

Спасибо за ответ! Вы написали: «При выводе WASAPI Exclusive звуковые данные обходят микшер и прочие обработчики. Частота, установленная в АИМПе, пойдёт на драйвер.»
Если Вы имели в виду драйвер звуковой карты, то в моём понимании: в компьютере есть звуковая карта и пока не установишь для её звуковой драйвер, звука на компьютере не будет. А после установки звукового драйвера, появляется возможность зайти в «Свойства» любого устройства (в моём случае «Громкоговоритель и наушники») и зайдя в его свойства и перейдя в директорию «Дополнительно» предоставляется возможность выбора частоты дискретизации и разрядности (то — есть, именно после установки звукового драйвера, предоставляется возможность выбора частоты дискретизации и разрядности). Поэтому, когда Вы пишете «Частота, установленная в АИМПе, пойдёт на драйвер» я не совсем понимаю, что Вы имеете в виду! Хотя, может я в чём — то не прав!
Мне просто нужно знать: При использовании в AIMP-е вывода «WASAPI Exclusive», точно ли вышедший из AIMP-а звук обходит значения не только частоты дискретизации, но и разрядности? Поэтому не имеет значения какие значения частоты дискретизации и разрядности выставлены в настройках звука Windows?
Знать мне это нужно, потому — что если используя в AIMP-е выход «WASAPI Exclusive» настройка частота дискретизации и разрядности в настройках звука Windows имеет значение, то выставив там (в настройках звука Windows) маленькие значения (например 44100гц/16бит) я испорчу вышедшую из AIMP-а Hi-res музыку.

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

Спасибо за ответ! Всё понял. Используя в AIMP-е «WASAPI Exclusive» и установив (в AIMP-е) разрядность именно 96kHz, обнаружил то, что при регулировке громкости в AIMP-е (то-есть используя громкость встроенную в AIMP), громкость проигрываемого AIMP-ом муз.файла регулируется без искажений. А если хоть чуть чуть сдвигаю ползунок громкости ноутбука (то-есть основную громкость ноутбука), то звук сразу искажается и становится каким-то странным, как-будто прибрали средние и низкие частоты, а высокие остались прежними. Но, после того, как я в AIMP-е переключаю разрядность с 96кГц на 48 или на 44.1кГц, то регулируя любую громкость (в AIMP-е или основную громкость Windows) искажения проигрываемой в этот момент музыки не образуются. Всё это происходит в ноутбуке с встроенной звуковой картой «Realtek alc275», при прослушивании музыки через встроенные в ноутбук динамики. Размер кэша (в AIMP-е) пробовал увеличивать, но не помогает. Используя методы «DirectSound» и «WASAPI shared» (установив в AIMP-е разрядность 96кГц таких проблем нет). Может вам знакома причина?

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

Уважаемый, Sergey B, вы меня конечно извините, но зачем вы так заморачиваетесь со звуком своей уг встройки ноутбука?) Там ведь, как не настраивай, а звук будет, как из ведра))

Как из ведра звук не будет. Реалтеки давно уже выдают приемлемый звук.
Звуковая карта — это последнее, что нужно улучшать в звуковой системе.
Наибольший вклад в звук даёт акустика / наушники. Всё остальное влияет на порядки меньше.

Всё правильно он делает, что пытается разобраться в теории. Чтоб применить на практике.

«Как из ведра звук не будет. Реалтеки давно уже выдают приемлемый звук.»
Это смотря куда они его выдают) Если на колонки того же ноутбука, то приемлемым такой звук я бы точно не назвал бы) Сужу исключительно по своему ноуту, который через колонки выдает вообще что-то непонятное. Если же подключить наушники к звуковухе ноута напрямую, то тогда да, можно, впринципе, слушать)

Добрый день. Может быть нужно было где-то на форуме эти вопросы задать, а не в блоге, но тем не менее.
1. При конвертировании файлов в Аимпе там в настройках конвертера в пункте «параметры преобразования» в окошке «общее» нужно ли снимать галочки с пунктов: микширование каналов, дизеринг и антиклиппинг? Я вроде бы понял, что не нужно (правда я конвертировал винил-рип 32-192 wavpack в те же 32-192 в wav ), но тем не менее хотелось точно знать, влияют ли они на конвертацию все или по отдельности? Наверное это зависит от формата исходного файла и какой формат результирующего будет? Если битность и частота не меняется, включение или выключение дизеринга не будет влиять? А другие параметры при этом, микширование каналов и антиклиппинг? Если битность и частота уменьшаться будут, то понятное дело дизеринг включается. А в случае с сжатыми форматами? Если, напрмер, Flac 24-96 переводить в mp3 16-44 дизеринг включаем, а антиклиппинг? У меня такое ощущение, что я сам и оветил? ))) или где-то не прав?

2. Уже всем надоевший наверное вопрос. Встроенная звуковая на микросхеме Риалтек АLС887 аппаратно по даташиту поддерживает: Four stereo DACs (8 channels) support 16/20/24-bit PCM format for 7.1 sound playback и All DACs supports 16/20/24-bit, 44.1k/48k/96k/192kHz sample rate. Пользуюсь Аимпом чаще, и немного реже Фубаром. Из прочитанного мной понял, что в диспетчере Риалтек или в свойствах звука панели управления, на устройстве динамики, выставить нужно максимальные настройки битности и частоты (а это 24-192). А в Аимпе также максимально возможные, но не меньше чем в звуковухе? У меня в Аимпе сейчас стоит Direct Sound (Динамики Риалтек HDA или Windows Default — что возможно почти одинаково в моем случае) 32 бита floating — 192кГц, или нужно 24-192 оставить? Direct Sound нужен для других звуков, потому как и музыку слушаю и другие звуки необходимы. Фонотека на 75-80% лосслесс 16-44, процентов 10-15 Hi-Res и винил рипы, остальное Lossy. Или же правильно будет выставлять битность 24 в карте, а в плеере 24 и выше по возможности, а частоту 44,1 и в карте и в плеере из-за подавляющего количества фонограмм и радиофонограмм в этой частоте? А при прослушивании Hi-Res что тогда менять всё? Или оставить по максимуму, как у меня сейчас выше описано и включать в цепочку ресемплер SoX в Фубаре и в Аимпе, который по умолчанию включен? Что-то я уже запутался. )) Распутайте меня.)

1. Разве что дизеринг можно выключить, если нет понижения битности при конвертации.
2. В AIMP достаточно выбрать WASAPI: Windows Default. В Винде (в диспетчере Реалтек) — максимальные реально работающие параметры.

Здравствуйте. Вопрос: правильным решением для лучшего качества выводимого звука в настройках AIMP частоту дискретизации и разрядность выставлять как у прослушиваемых аудио-файлах или максимально возможное которое поддерживает мой AV-ресивер? (192kHz/24bit). Лично я полагаю что параметры должны быть синхронны с форматом аудио-файлов (что б избежать ресемплинга), но моя фонотека содержит музыку разной дискретизации и разрядности. Не буду ведь после каждого трека менять настройки плеера. Какое решение будет верным?

Честно говоря, меня замучили этим вопросом. Единственный верный вариант — определить с какой частотой реально на уровне железа ЦАПа работает ваше оборудование. Объективно это можно сделать с помощью измерений. Субъективно — на слух. Полагаться на маркетинговые цифры в 192kHz/24bit я бы не стал.
Если нет возможности измерений, и на слух разницы нет — то выбирайте на своё усмотрение, либо маркетинговые 192kHz/24bit, либо параметры большинства ваших файлов 44,1kHz/24bit.
Переключать каждый раз параметры, естественно, не нужно, ресемплинг в АИМПе работает очень качественно.

Уважаемые разработчики! У меня к вам огромная просьба, добавьте, пожалуйста, в AIMP функцию «Автоматически переключать частоту дискретизации выхода на звуковую карту в соответствии с частотой дискретизации входного аудио файла».
Я думаю что не только я, но и огромная армия аудиофилов и профессионалов звука скажет вам Большое спасибо за это!
В коллекции находится масса аудио-файлов, в основном в форматах 44.1/16, 48/16, 96/24, а также упакованных в WAV контейнер AC3 и DTS файлов. Хочется быть всегда уверенным, что любой файл, из совместимых с аудио-картой, воспроизводится на внешний цифровой выход с побитовой точностью. Это особенно важно для AC3 и DTS потоков, которые иначе вообще не декодируются внешним процессором. Иначе приходится десятки раз в день вручную переключать выходную частоту дискретизации в настройках плеера. Это очень досадно.

Я дополню:
Я читал комментарии на эту тему и представляю себе что в этом случае не будут работать различные функции сведения и переключение не будет бесшовным. Но это и понятно.
Бесшовная склейка нужна как правило для связного воспроизведения аудиофайлов из одного альбома, а они обязаны быть в одном формате, поэтому для них ничего не испортится.
Пусть наконец все эти функции отключаются при активации этой вожделенной опции! Это всё равно будет прекрасный выход из ситуации.
Я готов спонсировать эту доработку.

Это не нужно. АИМП имеет очень хороший ресемплер и за качество звука можно не волноваться. Лучше волноваться поддерживает ли ваша звуковая карта весь спектр заявленных частот на «железном уровне» без внутренней/драйверной непонятно какого качества передискретизации.
https://www.aimp.ru/blogs/?p=312

Привет. Являюсь обладателем звуковой картой Asus Xonar Essence ST + и наушниками Sennheiser HD 650. Подскажите какие настройки звука мне выставить?

Оставьте значения по умолчанию

Благодарю. Я и не знал, что OGG это файлы с Float, пока не наткнулся на статью и не начал ковыряться. Теперь стоит директ вместо васапи.

Float — это не более, чем формат семпла. DirectSound в наше время выбирать бессмысленно, это всего лишь обертка над WASAPI для обратной совместимости

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

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

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *