Звук Windows
Цель была разобраться со звуком в Windows, влияние плееров, настройки программного обеспечения, частоты дискретизации, битности, типа вывода звука и пр. Для начала, снял параметры с помощью RMAA для частоты дискретизации 44.1 кГц, установленной в системе, при стандартном выводе звукового потока Windows, для записи использовал аудио интерфейс ESI UGM192, подавая сигнал с выхода на вход. Использовал разрешение записи- воспроизведения 44.1 кГц/24 бит. Как не странно, частота 44,1 кГц дает лучшие результаты, чем более высокие кратные частоты 88,2 кГц, 176.4 кГц и т.д. Использовалась система Windows 11 x64.

Как видим, все плееры повторили параметры RMAA, кроме Roon ,где почему-то шумовая полка поднялась. Ниже на графике видно различие по шумам в Roon, разница около 3 дБ.

На графике хорошо видно, Roon подмешивает шум по всему спектру. Причем, это даже видно на импульсе, ниже, первый график получен через foobar2000, второй график получен через Roon (при системном выводе с частотой 44,1 кГц и записи на частоте 44,1 кГц). Импульсная характеристика у данного ЦАП (ESI UGM192) не стандартная, вариантов выбрать другие фильтры у данного ЦАП нет.


На звук добавление шума в Roon заметно, особенно при быстром сравнении графиков, звук при системном выводе в режиме 44,1 кГц жирненький получается. Графики были сняты на максимальной громкости без нагрузки на выходе ушного усилителя, как и полученные параметры в таблице, снятые без нагрузки, чтобы иметь низкие искажения, т.к. усилитель на выходе наушников посредственный у данного ЦАП, искажения сильно растут от нагрузки.
Громкость выхода была установлена 37 единиц в микшере Windows, на записи, в АЦП был использован весь диапазон, т.е. 100% по уровню, чтобы обеспечить максимум качества при записи сигнала, плюс 24 бита в системе выставлено, чтобы иметь запас по качеству для оценки искажений.
При передискретизации в системе (изменение опорной частоты) разные плееры по разному себя ведут, особенно выделился foobar2000, где получается импульсная характеристика почти чистый импульс, как показано ниже, если выставить частоту в системе выше, чем 48 кГц (на 48 кГц импульс получается похожий на рис.4, только биения возникают на ВЧ).

Но нужно учитывать, что на синусе 1 кГц проявляется ступенчатость, не большая. Поэтому выставив в системе 192 кГц можно воспроизводить все файлы, импульс будет стабильным, почти идеальным. Что может пригодиться для тех ЦАП, где нет выбора цифрового фильтра, чтобы сделать передискретизацию в системе с помощью плеера. Очевидно, Windows позволяет плееру определять параметры цифровой фильтрации при передискретизации.
По другому себя проявляет Roon при передискретизации в системе, он использует другую фильтрацию, при этом даже на 48 кГц, выставленных в системе, импульс стоит как вкопанный, ниже показан полученный график.

Медиаплеер, встроенный в систему при передискретизации делает стандартную фильтрацию, притом даже при 48 кГц воспроизводит импульс с записью 44,1 кГц чисто, импульс стоит на месте, без биений.

Похожий импульс делает при воспроизведении браузер Опера, импульс снят на 48 кГц выставленных в системе. Но данный импульс чуть ниже по амплитуде, чем на рис.7.

Поэтому это не кажется, что каждый плеер, браузер, программа при перередискретизации использует разные алгоритмы фильтрации (сглаживания). И поэтому звучание чуть, да отличается, на хорошем ЦАП и наушниках это можно заметить. Ниже проведу измерение параметров при передискретизации в системе до частоты 192 кГц, для тех же плееров, воспроизводя запись частотой 44,1 кГц.

Как видим, параметры не отличаются от вывода через RMAA (кроме плеера foobar2000), ведь по сути ЦАП делает внутри тоже самое, пересчитывает частоту на более высокую. Но из всех отличился foobar2000, где АЧХ изменяется, падение начинается уже с 5 кГц и искажения появляются, как это показано на рис.10 (АЧХ) и рис.11(КНИ).


Рост искажений и отклонение АЧХ связаны с необычной импульсной характеристикой foobar2000 при передискретизации (рис.5). При этом мы видим, что плеер Roon шумов в данном случае не добавляет, единственное, что график импульсный не стандартный (рис.6), надо заметить, что только для данного ЦАП, на другом ЦАП может быть другой вид импульса в Roon, это зависит от драйвера ЦАП.
Но самое приятное, что в данном случае можно выбрать фильтр передискретизации в DSP настройках Roon, как показано ниже. Хотя фильтр не включен в настройках DSP в пункте меню «Передискретизация» (рис.12), но он влияет на фильтрацию, это видно на осциллографе.

Ниже приведены импульсные характеристики Roon для всех фильтров, в порядке как они идут в списке на рис.12. Данные фильтры на всех ЦАП одинаковые.

Первый фильтр похож на классический, третий схож на работу системы LegatoLink от фирмы Pioneer или Denon с её Alfa системой. Сегодня во многих ЦАП на чипах ESS и AK есть подобные фильтры. И ниже результаты с измеренными параметрами для всех фильтров Roon сведены в таблицу.

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

Первые два фильтра совпадают (зеленый цвет на графике), третий и четвертый фильтр обрезают ВЧ, они показаны фиолетовым цветом, но делают срез ВЧ гораздо меньше, чем foobar2000 при передискретизации (рис.10). У Roon на 3 и 4 фильтре получается, что-то среднее, где ВЧ сглаживаются, но импульс имеет еще небольшие остаточные колебания до и после импульса.
И, кажется, что система Windows делает всё идеально, выставляй частоту 96 или 192 кГц, делай передискретизацию в системе и никаких проблем, слушай музыку на любой частоте записи везде, в игре, в кино, в музыке и будет счастье.
Но всё же остается одна еще хитрая проблема с передискретизацией, которая ускользает от нашего зрения даже при измерении параметров через RMAA, где программа проводит измерение искажений при уровне записи около -3 дБ! Но на записи меандра 1 кГц с уровнем 0 дБ (по максимуму) при передискретизации в системе возникают ограничения сверху или(и) биения.
Ниже на рис.16 показан меандр с уровнем записи 0 дБ при записи и воспроизведении на частоте 44,1 кГц через Roon, где передискретизацию делает ЦАП внутри, а система подает ему 44,1 кГц, как есть на записи.

А ниже, выставляю в системе 48 кГц, т.е. передискретизацию включаю и меандр начинает дышать, хотя по уровню (по высоте её) полочки он соответствует.

Что ещё интереснее, что иногда, Windows, сама снижает меандр (полочку), делает полочку ниже, чем уровень пика на синусе 1 кГц (именно так нужно определять компрессию сигнала на высоком уровне записи, ЦАП должен выдавать полочку на меандре там, где у синуса 1 кГц находится максимум). Оба сигнала должны при этом быть записаны под 0 дБ. При этом меандр получается обычно, но не всегда, стабильный, без колебаний или биений, но его выдает пониженный уровень. Тип фильтрации, по всей видимости, задается плеером, т.е. источником.
Поэтому звук Windows не предсказуем при системном выводе, но при выводе через WASAPI или ASIO процедура передискретизации отдается под управление ЦАП, а там, звучание зависит, как это реализовано программно и аппаратно в ЦАП. Вот почему получило широкое распространение способов вывода WASAPI, ASIO, а в Андроиде и Люнексе вывод через ALSA! Это не связано с побитовой точностью, джиттером и пр. магией, разница связана с разной обработкой сигнала при передискретизации, когда вмешиваются алгоритмы цифровой фильтрации виндуз, что зависит от программы воспроизведения и драйверов устройства.
И что ещё интересно, кажется, если возникает компрессия на мендре, ну уменьши громкость и не будет проблем с меандром, будет запас сверху по уровням сигнала, как это обычно происходит при прослушивании, где мы громкость снижаем. Но все дело в том, что уменьшая громкость в микшере Windows это не меняет форму меандра, если он был обрезанный или уменьшенный, он такой и остается при уменьшении громкости, он просто уменьшается в масштабе. Часто меандр либо «дышит», т.е. возникают ВЧ биения, при этом он нормальный по уровню, по высоте, либо стабильный, без биений, но полочка снижается, притом, не важно, какой полузнок в микшере Windows задействовать!
Получается, что при уровне записи от 0 до -3 дБ получаются искажения сигнала и помогает только уменьшение громкости в самом источнике, если, там есть такая возможность. Или же нужно использовать вывод WASAPI или ASIO, но при условии, что производитель ЦАП не накосячил и драйвер хороший. Причем, подобного ограничения высокоуровневого сигнала в ЦАП не встречал, видимо, это особенность Windows, возможно из прошлого, когда звуковые карты были примитивные, обрезали всё, что выше пика синуса с уровнем 0 дБ.
В Roon для снижения уровня сигнала есть в DSP настройках специальная регулировка «Запас динамического диапазона», где можно выставить уменьшение уровня на-3 дБ и тогда меандр, записанный с частотой 44,1 кГц воспроизводится на частоте 48 кГц и выше чисто, без биений, при системном выводе и правильной высоты. Функция может быть полезна при передискретизации в самом Roon, например, в частоту 176,4 кГц и 192 кГц, когда меандр с уровнем записи 0 дБ сверху обрезается, т.е. жестко клипируется. И, видимо, по этой причине Windows делает мягкое ограничение уровня, на частотах выше 48 кГц, что плохо сказывается, по больше части на НЧ, которые обычно на записи находятся на высоком уровне.
И поэтому многие меломаны звук Windows недолюбливают! Ниже пример, как выглядит меандр с уровнем записи 0 дБ, при снижении уровня -3 дБ в плеере Roon при передискретизации.

Меандр получается правильный и стабильный (по сравнению с рис.17) и по высоте правильный, относительно синуса 1 кГц. А так выглядит меандр без передискретизации в Roon, когда это делает система, где используется классическая фильтрация (в Roon -3 дБ тоже выставлено). Тут тоже по высоте и стабильности меандра все нормально, из-за разной фильтрации получаются больше колебаний на ВЧ.

Браузер Опера выдал высокий меандр, но загнал меандр в ограничение при передискретизации в системе.

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

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

Это всё в итоге означает, чтобы иметь качественный звук в Windows при разных частотах записи (дискретизации) можно в системе поставить дискретизацию больше 48 кГц, но при этом громкость в самом источнике (не в микшере) нужно ограничивать, чтобы не возникало компрессии сигнала на верхних уровнях.
Но то же приложение Яндекс.Музыка для Windows по умолчанию делает меандр стабильным (для данного ЦАП), без биений, снижая полочку. Встроенный медиаплеер в Windows тоже по умолчанию меандр делает стабильным, но так же полочка по высоте снижается, т.е. на высоких уровнях записи происходит компрессия, при этом на синусе 1 кГц все выдают одинаковый результат и при изменении параметров в RMAA разницы нет никакой совершенно. И поэтому со звуком в системе Windows получается полная непредсказуемость.
Единственную стабильность дает режим ASIO и WASAPI, подавая сигнал на ЦАП без влияния системы и это можно использовать, сделав передискретизацию в плеере качественно, например, в плеере Roon и подав сигнал на ЦАП без вмешательства Windows, если в ЦАП накосячили с внутренней обработкой, если звук не нравится. И эти косяки, как уже сказал, RMAA не видит по причине, что уровень тестовой записи -3 дБ или даже меньше, т.к. еще запас делается при записи тестового сигнала -1 дБ примерно, как советует RMAA при настройке уровня. Ну и в заключение тест на 48 кГц записи, при установленной в системе 48 кГц, 24 бит, т.е. без передискретизации.

Тут видим, все плееры один в один сработали, даже Roon не накинул ВЧ шумов, как он это сделал при записи на 44,1 кГц. Тут проблем не возникает, тем не менее, похоже, что система может всегда изменить звук, из-за других источников, при работе браузера и пр. программ, замечал, даже после переустановки драйвера на ЦАП после регулировки громкости звук меняется (ЦАП Shanling UA3), т.е. система химичит.
В принципе, используя Roon можно настроить звук под себя, используя разные режимы, системный вывод задействуя или WASAPI, передискретизацию активировать, снижение выходного уровня на -3 дБ применить. Можно использовать 4- х кратную передискретизацию в Roon до 192 кГц или 176,4 кГц, в режиме WASAPI или ASIO, в зависимости какой кварц установлен в ЦАП (больше частота не имеет смысла, на слух разницу не слышно), используя фильтр Roon на выбор, мне нравится третий фильтр по счету сверху (Гладкий. Линейно-фазовый), где импульс похож на систему LegatoLink от Pioneer (рис.13, 3 позиция).
И вообщеRoon плеер удачный, использую 1,8 версию, гуляющую в сети, если подходить с умом, с пониманием, а лучше еще с осциллографом и хорошей картой (АЦП) для измерения параметров через RMAA. Ниже для примера приведу графики для ЦАП Shanling UA3, первый график показывает синус 1 кГц при воспроизведении на максимальной громкости (синус записан по уровню на 0 дБ, т.е. до упора), при системном выводе 48 кГц (запись 44,1 кГц), т.е. сигнал проходит передискретизацию в системе.

И ниже для вывода WASAPI, без внутренней передискретизации в Roon, т.е. сигнал идет на ЦАП, какой он есть.

Если сравнить внимательно графики, то видно, что через WASAPI сигнал чуть выше по амплитуде. Но еще больше будет разница, если сравнить меандры в этих двух режимах, ниже, сначала системный вывод, затем вывод через WASAPI.


Хорошо видно, что через системный вывод меандр меньше, полочка не достигает пика на синусе (рис.24) в 3 вольта, при этом возникают ВЧ биения на осциллографе. А для WASAPI полочка достигает ровно 3В и без биений! При этом при системном выводе Roon берет фильтрацию не стандартную и выбор фильтров в передискретизации ее не меняет, как это было у ESI UGM192. Ниже показан импульс при системном выводе через Roon и еще ниже вывод через WASAPI.


Как видим, через WASAPI получаем импульс (без биений), какой его делает ЦАП, потому, что знаю этот импульс, а через системный вывод импульс получается с большими колебаниями и плюс ВЧ биения возникают.
К сожалению, для Shanling UA3 не смог измерить параметры с помощью ESI UGM192, так как наводки появляются, шумы и искажения из-за токовой петли между устройствами сильно большие, по хорошему, для точной настройки необходим еще ноутбук или другой компьютер, без связи по земляному проводу, чтобы измерять искажения в разных режимах, чтобы получить минимум искажений и по осциллографу контролировать меандр, синус, импульс, биения и ограничения. Поэтому приходиться на слух ориентироваться.
Мне нравится как на компьютере на Shanling UA3 звучит Яндекс.Музыка в браузере Опера, при частоте выставленной в системе 48 кГц, ниже показан вид меандра при проигрывании в браузере Опера, где меандр в полный рост возникает (проверил на Яндекс. Музыка меандр такой же), полочка достигает 3 В (пик для данного ЦАП без нагрузки), при этом есть биения на ВЧ. А вот приложение Яндекс.Музыка уже меандр ограничивает по амплитуде, при этом биения сохраняются, поэтому звук кажется менее интересный. Видимо, очень желательно иметь меандр в полный рост.
И возможно, что ВЧ биения, возникаемые при передискретизации в 48 кГц могут приятно усиливать ВЧ (подчеркивать), подобно механическим устройствам аналоговой записи, где все дышит, что для уха более приятно воспринимается.

Как итог можно резюмировать, что Windows по звуку загадка в себе, где единственный вариант контролировать звучание это режим ASIO или WASAPI и использование хорошего, правильно настроенного плеера (Roon и подобные), важен не побитовый вывод сам по себе и всякий джиттер, важно не давать системе влиять на звук, меняя его не понятным и непредсказуемым образом. Кстати, насчет джиттера, как оказалось он усиливается и хорошо фиксируется RMAA при проигрывании через интернет (проверял на Яндекс.Музыке), это видно на графике КНИ, как расширение основания на графике частоты 1 кГц, но на звук играет хорошо.
У меня Shanling UA3 через Roon хорошо (полноценно) звучит, когда меандр полный в двух случаях: при системном выводе в Roon (частота в системе 48 кГц установлена и 32 бит) и включенной внутренней передискретизации на 48 кГц для сигнала 44,1 кГц, если её выключить, то меандр «падает» уменьшается, Windows звук компрессирует. Или же использую вывод WASAPI, при этом можно включить внутреннюю передискретизацию на 48 кГц, чтобы создавать биения сигнала для записи 44,1 кГц, чтобы подчеркивать ВЧ, придать аналоговость звуку, фильтр 3 использую обычно (рис. 13.3), он дает меньше грязи на ВЧ, хорошо подчищает. Для записи 48 кГц можно настроить передискретизацию на 44,1 кГц, чтобы биения так же возникали.
И еще вопрос остается о влиянии микшера громкости Windows, в хорошем ЦАП, где громкость внутри регулируется, можно попробовать от него избавиться, выставив громкость в системе 100%, т.е. на максимум и попробовать регулировать ЦАП-ом, хотя как по мне микшер Windows сам по себе проблем не создает.