ml.apps — App ML¶
Il modulo ml.apps contiene classi di applicazioni ML di alto livello costruite sopra ml.Model.
class MicroSpeech – Riconoscimento vocale¶
L’oggetto MicroSpeech riconosce semplici parole pronunciate usando il modello MicroSpeech di TensorFlow Lite for Microcontrollers. Il modello predefinito riconosce "Yes" e "No".
- class ml.apps.MicroSpeech(preprocessor: ml.Model = None, micro_speech: ml.Model = None, labels: list[str] = None, **kwargs)¶
Crea un oggetto MicroSpeech.
preprocessorè ilml.Modeldi preprocessing audio. SeNone, viene caricato/rom/audio_preprocessor.tflite.micro_speechè ilml.Modeldi riconoscimento vocale. SeNone, viene caricato/rom/micro_speech.tflite.labelsè una lista di stringhe di etichetta corrispondenti alle categorie di output del modello. SeNone, le etichette vengono prese damicro_speech.labels.Eventuali argomenti keyword aggiuntivi vengono inoltrati a
audio.init()(la periferica audio viene inizializzata conchannels=1,frequency=16000esamples=320).- audio_callback(buf: bytes) None¶
Callback interno di streaming audio. Aggiunge i nuovi campioni da
bufnel buffer audio scorrevole, aggiorna lo spettrogramma eseguendo il modellopreprocessorsull’ultima finestra e aggiorna la cronologia delle predizioni eseguendo il modellomicro_speechsullo spettrogramma. Normalmente non chiamato direttamente.
- start_audio_streaming() None¶
Cancella lo spettrogramma e la cronologia delle predizioni, quindi avvia lo streaming audio con
MicroSpeech.audio_callbackcome callback. Non fa nulla se lo streaming è già avviato.
- listen(timeout: int = 0, callback: callable = None, threshold: float = 0.65, filter: list[str] = ['Yes', 'No']) tuple[str, numpy.ndarray]¶
Resta in ascolto di una parola pronunciata e restituisce una tupla
(label, average_scores)una volta rilevata un’etichetta il cui punteggio medio è soprathresholded è contenuta infilter. ChiamaMicroSpeech.start_audio_streamingse non è già in streaming.timeoutè il tempo massimo in millisecondi di ascolto. Se0, ascolta indefinitamente finché una parola non viene riconosciuta. Se-1, viene eseguito in modalità non bloccante e restituisce immediatamente(None, average_scores)se nessuna parola viene riconosciuta; lo streaming audio viene lasciato in esecuzione. Per qualsiasi valore positivo, ascolta per quel numero di millisecondi e poi restituisce(None, average_scores)allo scadere del timeout.callbackè un callable opzionale invocato comecallback(label, average_scores)quando una parola viene riconosciuta invece di restituire il risultato. Combinato contimeout=0, ciò consente il riconoscimento continuo.thresholdè la confidenza media minima richiesta per accettare un riconoscimento.filterè la lista di stringhe di etichetta da accettare. I riconoscimenti al di fuori di questa lista vengono ignorati.