micro_speech.py
# Эта работа лицензирована по лицензии MIT.
# Copyright (c) 2024 OpenMV LLC. All rights reserved.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Модуль MicroSpeech предназначен для обработки аудио в реальном времени и распознавания речи
# на платформах микроконтроллеров. Он использует предобученные модели для предобработки аудио и
# распознавания речи, специально оптимизированные для обнаружения ключевых слов, таких как "Yes" и "No".
import time
from ml.apps import MicroSpeech
def callback(label, scores):
print(f'\nHeard: "{label}" @{time.ticks_ms()}ms Scores: {scores}')
# По умолчанию объект MicroSpeech использует встроенный препроцессор аудио (float) и
# модуль micro speech для предобработки аудио и распознавания речи соответственно.
# Пользователь может переопределить оба варианта, передав две модели:
# MicroSpeech(preprocessor=ml.Model(...), micro_speech=ml.Model(...), labels=["label",...])
speech = MicroSpeech()
# Запускает потоковую передачу аудио и обрабатывает входящий звук для распознавания голосовых команд.
# Если передан обратный вызов, listen() будет работать в бесконечном цикле и вызывать его при обнаружении
# ключевого слова. В качестве альтернативы `listen()` можно вызвать с тайм-аутом (в мс), и функция
# вернёт управление, если тайм-аут истечёт до обнаружения ключевого слова.
speech.listen(callback=callback, threshold=0.70)