Знаете, что такое страшный сон метролога? Это когда для одного и того же объекта первые десять измерений дают один результат, а все последующие — совершенно другой, причем никак не выходит достичь результатов, получаемых при первоначальных замерах.
Примерно в такой же ситуации оказался и я. Но об этом чуть позже.
Итак, статья про звук на Андроиде претерпела весьма существенные измерения.
Во-первых, я выяснил, что на 4-м Андроиде существуют устройства с опорной (родной) частотой 44.1 и 48 кГц. Проверить это можно программкой AudioBuffer. В моём случае опорная частота - это 44.1 кГц.
Во-вторых, я пришел к пониманию того, как в Android регулируется уровень громкости. У нас есть уровень максимального усиления Vol. Max., а также значения множителя для семи положений регулятора громкости. Перемножая максимальную громкость и значение установленное для текущего положения регулятора — получается текущий уровень усиления (который, судя по всему, регулируется аппаратно, в ЦАП).
Интересно, что на моём устройстве (и не только на моём) для максимального положения регулятора изначально установлен не максимальный множитель (240 вместо 255). Это ввело меня в заблуждение — вместо повышения множителя до максимума я повысил уровень максимального усиления, опираясь на результаты замеров в Poweramp с включенной DVC. Однако, как оказалось, Poweramp в этом режиме управляет не положениями регулятора, а непосредственно значениями множителя, и — что самое интересное — всё равно не способен установить его максимальное значение. В результате громкость получается на 3 дБ ниже от максимума. При отключении же DVC, когда регулятор громкости на максимуме, мы получаем множитель 255 и уровень усиления, соответствующий Max. Vol. Таким образом функция DVC (по крайней мере на моём устройстве) оказалась даже вредна, т. к. даёт громкость на 3 дБ ниже максимума.
В итоге выяснилось, что Max.Vol., установленный мною ранее, слишком большой (при максимальной громкости возникали срезы). Я понизил его со 121 до 120 — и тогда наконец получил действительное номинальное значение громкости для моего устройства — –7.5 дБ для линейного входа моей звуковой карты, соответствующие 0.84 В. Такой уровень давала комбинация множителя 255 и уровня макс. громкости 120.
Еще интересней стало, когда я перешел к повторным тестам jetAudio. Во-первых, он по-прежнему давал громкость на 2 дБ ниже номинальной и джиттер. Во-вторых — тот самый страшный сон метролога — эффект с чистым тоном на графике шумов (и прочие странности с временными сдвигами в RMAA) пропал! Я перелопатил все возможные настройки, но мне не удавалось снова обнаружить этот эффект. Но затем я вспомнил о корректировке уровня макс. громкости в инженерном меню. Когда я вернул значение 121, эффект появился снова!
Более того: при комбинации значений множителя 255 и макс. громкости 121 jetAudio выдавал bit-perfect поток. Не знаю, совпадение это или нет. Факт — что jetAudio использует дополнительную корректировку громкости (либо встроенными средствами, либо коррекцией значений множителя — не знаю), и при перемножении всех этих составляющих (коррекции jetAudio, множителя 255 и Max. Vol.=121) получился номинальный уровень громкости моего устройства.
Все эти открытия конечно многое меняют, однако едва ли говорят в пользу jetAudio. Как уровень усиления может повлиять на временные задержки в этом плеере — снова загадка.
Так или иначе, предлагаю ознакомиться с обновленным тестом, результаты которого теперь, надеюсь, в большей мере соответствуют действительности.
Информация от спонсора
Celecom: