Хотелось сравнить, как один и тот же алгоритм анализа звука ведёт себя на принципиально разном железе — от полноценного компьютера с большим запасом вычислительной мощности до маленького микроконтроллера с жёсткими ограничениями по памяти и скорости.
Цифровой микрофонный модуль оцифровывает звук, после чего программа строит его частотный спектр в реальном времени методом быстрого преобразования Фурье. Один и тот же принцип анализа реализован тремя независимыми портами под разное железо — полноценная версия под компьютер с богатой визуализацией, облегчённая версия под ESP32 с учётом ограниченной памяти, и версия под Raspberry Pi Pico, где звук передаётся по цифровому интерфейсу I2S от отдельного АЦП-модуля.
Цифровой микрофонный модуль (АЦП PCM1808 в версии для Pico), быстрое преобразование Фурье, три независимых порта под разные платформы: ПК, ESP32 и Raspberry Pi Pico.
Готово — все три порта работают, версия под Raspberry Pi Pico считается наиболее законченной.