micro_speech.py
# Questo lavoro è concesso in licenza MIT.
# Copyright (c) 2024 OpenMV LLC. Tutti i diritti riservati.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Il modulo MicroSpeech è progettato per l'elaborazione audio in tempo reale e il riconoscimento vocale
# su piattaforme a microcontrollore. Sfrutta modelli pre-addestrati per il preprocessing audio e
# il riconoscimento vocale, ottimizzati specificamente per rilevare parole chiave come "Yes" e "No".
import time
from ml.apps import MicroSpeech
def callback(label, scores):
print(f'\nHeard: "{label}" @{time.ticks_ms()}ms Scores: {scores}')
# Per impostazione predefinita, l'oggetto MicroSpeech usa il preprocessore audio integrato (float) e il
# modulo micro speech rispettivamente per il preprocessing audio e il riconoscimento vocale. L'
# utente può sovrascrivere entrambi passando due modelli:
# MicroSpeech(preprocessor=ml.Model(...), micro_speech=ml.Model(...), labels=["label",...])
speech = MicroSpeech()
# Avvia lo streaming audio ed elabora l'audio in ingresso per riconoscere i comandi vocali.
# Se viene passato un callback, listen() eseguirà un ciclo infinito e chiamerà il callback quando viene rilevata
# una parola chiave. In alternativa, `listen()` può essere chiamata con un timeout (in ms), e
# restituisce il controllo se il timeout scade prima di rilevare una parola chiave.
speech.listen(callback=callback, threshold=0.70)