Добился отключения сигнала с левого канала от АЦП на 34ый пин ESP32 и, соответственно, "фильтров".
Но, скажу сразу, у меня ничего не поменялось) Вроде бы и не должно - писк не из-за этого.
1) в комплекте с прошивкой Алекса идёт библиотека ESP32-audioI2S. У неё версия 2.1.0. В репозитории самого автора этой
библиотеки на гитхабе последняя версия 2.0.0. Надо скачать её.
2) в версии 2.0.0 у класса Audio есть метод getVUlevel(). Чтобы отрисовывать рот, Алекс считывает аналоговый сигнал на ноге 34 (у ESP32 12-битный АЦП, значения сигнала с 0 по 4095). Audio::getVUlevel() выдаёт с 0 по 65535 (uint16_t). И оказалось, что этот метод выдаёт то, что нам нужно. Надо просто перевести его в пределы 12 бит. Но на практике получил глюки с матрицами. Если переводить в uint8_t, то всё отлично. Мне даже показалось, что рот стал плавнее и точнее. Использовать значения аудиобиблиотеки можно двумя способами.
Первый - не особо правильный, я применял его с целью вообще выпилить библиотеку VolAnalyzer. Не получилось. В core0.cpp добавить одну строку и поправить две:
mtrx.rect(0, 0, ANALYZ_WIDTH - 1, 7, GFX_CLEAR); // это строка 219
uint8_t VUlevel = map(audio.getVUlevel(), 0, 65535, 0, 255); //добавить // это строка 220
switch (data.mode) { // это строка 221
case 0: // это строка 222
analyz0(VUlevel); // изменить // это строка 223
break; // это строка 224
case 1: // это строка 225
analyz1(VUlevel); // изменить // это строка 226
break; // это строка 227
} // это строка 228
mtrx.update(); // это строка 229
P.S.: ну да, Алекс берёт значения с ноги 34 в типе uint16_t, как я и делал, а потом при обработке уменьшает разрядность побитовым сдвигом, и на отрисовку попадают уже uint8_t данные.
P.S2.: зрачки перестают расширяться при громких моментах и рот должен двигаться не в такт.
Второй способ - добавить строку и исправить один вызов:
uint16_t VUlevel = map(audio.getVUlevel(), 0, 65535, 0, 4095); // строка 209
if (sound.tick(VUlevel) && data.state && !matrix_tmr.state()) { // строка 210
Если в метод sound.tick() ничего не передаётся, считываются значения с пина 34, если передаётся - используюется переданное.
В оригинальной прошивке при отваливании звука, рот всё равно дёргался. Сейчас - нет. Благодаря этому стало понятно, что нет сигнала с ESP32, а я грешил на плату ЦАП. Понять бы почему музыка пропадает, и иногда с временем появлялись глюки на глазах и рте. Чувствую, что что-то с размерами данных. т.к. когда пытался отрисовать большие значения (больше uint8_t), всё рушилось. Сейчас всё ок. Никак не могу прикрутить WiFiManger - точно так же со врменем ползут глаза, рот, музыка пропадает.