В данном репозитории представлен исключительно код проекта, обеспечивающий работу TinyML устройства для обнаружения слов-паразитов и активации вибромотора на ESP32. Причины отсутствия модели и датасета:
-
Лицензионные ограничения Используемые аудиодатасеты (например, Google Speech Commands) имеют собственные лицензионные условия. Включение их напрямую в репозиторий может нарушать права авторов и правила распространения.
-
Большой размер файлов Полные аудиоданные и модели .tflite занимают сотни мегабайт. Включение их в репозиторий существенно усложнило бы работу с ним и затруднило клонирование.
-
Гибкость и независимость пользователя Каждый пользователь может обучить собственную модель под индивидуальные условия: выбор конкретных слов-паразитов, голоса, фоновые шумы. Это повышает универсальность и применимость проекта.
-
Конфиденциальность данных Аудиозаписи содержат личную информацию. Для защиты приватности, датасеты должны формироваться локально пользователем, без распространения чужих голосовых данных.
Что включено в репозиторий:
-
Полный функциональный код ESP32 (PlatformIO/Arduino), включающий:
-
захват аудио с микрофона,
-
вычисление MFCC признаков,
-
запуск TinyML инференса,
-
активацию вибрации при обнаружении слова-паразита.
- Подготовленную структуру проекта для легкой интеграции пользовательской модели .tflite.
-
Инструкция по интеграции модели: 1. Обучите или скачайте TinyML модель (model.tflite) под свои слова-паразиты.
2. Конвертируйте модель в C-массив (model_data.cc) через xxd -i.
3. Разместите файл в папке src/ml/.
4. Скомпилируйте и прошейте проект на ESP32 через PlatformIO.
После этих шагов устройство будет автономно определять слова-паразиты и сигнализировать о них через вибрацию, полностью без серверов и интернет-соединения.