Moonshine Micro: распознавание и синтез речи меньше 500 КБ

Разработчики open source ИИ-инструментария для голосовых приложений Moonshine выпустили Moonshine Micro, версию платформы распознавания и синтеза речи, рассчитанную специально на встраиваемые системы: микроконтроллеры и DSP-чипы. Референсной платформой выбрана Raspberry Pi RP2350, чип, который в рознице стоит всего 80 центов.
В состав Moonshine Micro входят детекция голосовой активности (VAD), распознавание речи в текст (STT), распознавание заданных ключевых слов и команд, а также нейросетевой синтез речи (TTS). Все компоненты можно использовать по отдельности; для нейросетевых вычислений они опираются на библиотеку TensorFlow Lite Micro (TFLM).
Заявленный минимальный объём оперативной памяти для работы, около 470 КБ. В опубликованном подробном бюджете памяти для демо-прошивки на RP2350 указано: VAD, STT и TTS выполняются последовательно и по очереди используют один и тот же буфер TensorFlow Lite Micro размером около 384 КиБ, поэтому память не складывается между этапами, а разделяется, итоговый бюджет составляет около 468 КиБ из 520 КиБ SRAM чипа (вариант прошивки с поддержкой Wi-Fi требует около 491 КиБ). Размер флеш-памяти (кода и констант, включая встроенный нейросетевой голосовой пакет) измерялся утилитой arm-none-eabi-size на прошивке moonshine_micro_echo по умолчанию.
Авторы опубликовали видео-разбор возможностей и готовый end-to-end пример: настройка Wi-Fi-соединения на микроконтроллере с помощью голосовых команд, на базе RP2350. Код проекта (кроме сторонних библиотек в папке third-party/), включая модели SpellingCNN и TinyVadCNN, распространяется по разрешительной лицензии MIT, что допускает коммерческое использование. Код в third-party/ лицензирован на условиях исходных open source проектов, из которых он взят.
Публикацию на Hacker News разместил пользователь petewarden; на момент проверки пост набрал 399 баллов и 44 комментария.
Ключевые факты
- Moonshine Micro, версия голосового ИИ-инструментария Moonshine для встраиваемых систем (микроконтроллеры, DSP), референсная платформа, Raspberry Pi RP2350 стоимостью 80 центов
- В комплект входят детекция голосовой активности (VAD), распознавание речи (STT), распознавание команд и нейросетевой синтез речи (TTS); все, на базе TensorFlow Lite Micro
- Работает при объёме памяти от ~470 КБ; детальный бюджет, около 468 КиБ из 520 КиБ SRAM RP2350 (491 КиБ с поддержкой Wi-Fi), так как VAD/STT/TTS по очереди делят один буфер ~384 КиБ
- Есть готовый пример: настройка Wi-Fi на микроконтроллере голосовыми командами
- Код выпущен под лицензией MIT (разрешает коммерческое использование), кроме сторонних зависимостей в third-party/
Почему это важно
Это пример работающего голосового ИИ без облака и без мощного процессора: распознавание речи, распознавание команд и синтез голоса умещаются в память дешёвого микроконтроллера ценой в доли доллара. До сих пор подобные функции обычно требовали отправки аудио на сервер или как минимум мощного SoC, здесь весь стек нейросетевых вычислений работает локально, в реальном времени, на чипе за 80 центов.
Кому это важно
В первую очередь, разработчикам встраиваемых систем и IoT-устройств: тем, кто делает умные колонки, бытовую технику, носимые гаджеты, датчики и другие устройства с голосовым управлением на дешёвых и маломощных чипах. Также полезно инженерам, которые сейчас вынуждены гонять голос через облако ради базовых функций вроде команд или простых фраз.
Как это применить
Код опубликован на GitHub под лицензией MIT (кроме сторонних зависимостей в third-party/), что разрешает свободное использование, включая коммерческие продукты. VAD, STT, распознавание команд и TTS можно подключать по отдельности. В репозитории есть готовый end-to-end пример: настройка Wi-Fi-соединения на микроконтроллере RP2350 голосовыми командами, с него удобно начать интеграцию.
Можно ли доверять
Это официальный релиз проекта Moonshine на его собственном GitHub (moonshine-ai/moonshine), с открытым исходным кодом и подробным опубликованным бюджетом памяти (конкретные цифры по флеш- и SRAM-потреблению, методика измерения через arm-none-eabi-size). Пост набрал 399 баллов и 44 комментария на Hacker News, сообщество имело возможность проверить код и цифры.
Риски и подводные камни
Заявленные цифры памяти получены на конкретной референсной плате (RP2350) и конкретной демо-прошивке, на другом железе или с другим набором функций бюджет может отличаться. VAD, STT и TTS делят один буфер и работают строго последовательно, а не параллельно, что ограничивает сценарии одновременной обработки. Раздел third-party/ лицензирован отдельно от основного MIT-кода, это стоит проверить перед коммерческим использованием.