Как стать автором
Обновить

Как мы делали гибридную обработку звука: всё об аудиософте в SberBoom и почему просто годных излучателей недостаточно

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров1.8K
Всего голосов 11: ↑10 и ↓1+12
Комментарии7

Комментарии 7

Тема крайне интересная, тем более, что некоторый опыт в аудио dsp имеется.

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

Судя по тексту, претензии к звучанию вполне понятны - автор весьма слабо разбирается в вопросе и по сути в статье не сказано вообще ничего. Ну в частности, "Virtual Bass" на самом деле называется "Missing fundamental". Про биквадратные фильтры автор слышал, а вот как ими аппроксимировать произвольную АЧХ для её коррекции - вероятно нет, потому что в статье об этом тоже ни слова. Выровнять АЧХ у автора тоже не получилось, перепады в 15 дБ на средних частотах - совсем не то, чем можно гордиться. Да и для подобных девайсов это и не важно, а важно разборчивость речи и громкое ненапряжное звучание. Для которого нужно не ровнять АЧХ, а давить определённые частоты.

Ну да, особенно изыскания про IEEE754 ... и секретные алгоритмы по работе с экспонентой. Да и выбор NTP - весьма спорный. Касательно подавления некоторых частот - субъективное ощущение, что в середине несколько режекторов, вероятно, для улучшения распознавания голоса во время воспроизведения музыки. Но ребята пытаются. Не будем их расстраивать!

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

Усилители выбираются по состоянию рынка компонентов на момент разработки, чтобы попасть в таргет на нашем рынке устройств. В таких условиях не всегда возможно использовать другие усилители с более гибким DSP и лучшим звуком. Но команда работает над тем, чтобы обеспечить максимально хороший пользовательский опыт в данной нише, с учётом ограничений рынка.

А путешествие в плавучку NTP было достаточно забористым)

Если есть, какие нибудь ещё вопросы, всегда рад обсудить.

Касательно плавающей точки в звуке - мои изыскания привели меня к выводу, что для любой реализации IIR или FIR, как и для большинства аудио алгоритмов, хоть как-то претендующих на хороший звук, это совершенно не нужно и кроме того, часто просто вредно. Здоровый dither и если нужно (что редко бывает без изменения fs) noise shaping, полностью решают главную проблему - корреляцию ошибки с сигналом. NTP скорее всего про использование плавучки немножко приукрашивают - в силиконе это занимает больше места, чем fixed point. То с чем ваша команда столкнулась - это скорее всего особенности преобразования коэффициентов к fixed point внутри NTP. Вообще, имея в кармане аж 4 ядра A53 вполне можно на одном обсчитать весь звуковой вывод и сделать конфетку без непонятно как реализованных алгоритмов в DSP явно бюджетных усилителей.


А вопрос один - как получить ssh без коннекта по usb, чтобы поправить звучание.

Собственно Virtual bass и является одной из реализаций "Missing fundamental". По такому названию проще найти детали конкретного алгоритма. Но спасибо за ссылку на более подробную информацию по теме, будет полезно для тех, кому захочется разобраться подробнее.

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

Проблема Room EQ Wizard и подобных в отсутствии у них хорошо проработанного мат.аппарата для коррекции АЧХ. Недостаточно просто взять и сделать 1/x над амплитудами, интерференционные провалы таким образом не компенсируются. Адекватного сглаживания АЧХ/ФЧХ я тоже нигде не встречал, везде какие-то мутные алгоритмы и сомнительные результаты. Корректное сглаживание достигается аппроксимацией методом наименьших квадратов, ФЧХ лучше вообще не корректировать, а посчитать как минимально-фазовую от АЧХ (через кепстр). Применительно к IIR-фильтрам эти вопросы хорошо рассмотрены в работах Balázs Bank-а.

Ещё одно хитрое решение существует - это использовать 2 излучателя, играющих с задержкой пропорционально расстоянию между ними. В более сложном случае можно рассчитать сдвиг фаз на каждой частоте таким образом, чтобы заодно ещё и АЧХ корректировать.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий