ml.apps — Applications ML¶
Le module ml.apps contient des classes d’application ML de haut niveau construites au-dessus de ml.Model.
class MicroSpeech – Reconnaissance vocale¶
L’objet MicroSpeech reconnaît des mots prononcés simples à l’aide du modèle MicroSpeech de TensorFlow Lite for Microcontrollers. Le modèle par défaut reconnaît "Yes" et "No".
- class ml.apps.MicroSpeech(preprocessor: ml.Model = None, micro_speech: ml.Model = None, labels: list[str] = None, **kwargs)¶
Crée un objet MicroSpeech.
preprocessorest le préprocesseur audioml.Model. SiNone,/rom/audio_preprocessor.tfliteest chargé.micro_speechest leml.Modelde reconnaissance vocale. SiNone,/rom/micro_speech.tfliteest chargé.labelsest une liste de chaînes d’étiquettes correspondant aux catégories de sortie du modèle. SiNone, les étiquettes sont tirées demicro_speech.labels.Tout argument nommé supplémentaire est transmis à
audio.init()(le périphérique audio est initialisé avecchannels=1,frequency=16000etsamples=320).- audio_callback(buf: bytes) None¶
Fonction de rappel interne de diffusion audio. Ajoute les nouveaux échantillons de
bufdans le tampon audio glissant, met à jour le spectrogramme en exécutant le modèlepreprocessorsur la dernière fenêtre, et met à jour l’historique des prédictions en exécutant le modèlemicro_speechsur le spectrogramme. N’est normalement pas appelée directement.
- start_audio_streaming() None¶
Efface le spectrogramme et l’historique des prédictions, puis démarre la diffusion audio avec
MicroSpeech.audio_callbackcomme fonction de rappel. Sans effet si la diffusion est déjà démarrée.
- listen(timeout: int = 0, callback: callable = None, threshold: float = 0.65, filter: list[str] = ['Yes', 'No']) tuple[str, numpy.ndarray]¶
Écoute un mot prononcé et renvoie un tuple
(label, average_scores)dès qu’une étiquette dont le score moyen est supérieur àthresholdet qui est contenue dansfilterest détectée. AppelleMicroSpeech.start_audio_streamingsi la diffusion n’est pas déjà en cours.timeoutest le temps maximal en millisecondes pendant lequel écouter. Si0, écoute indéfiniment jusqu’à ce qu’un mot soit reconnu. Si-1, s’exécute en mode non bloquant et renvoie immédiatement(None, average_scores)si aucun mot n’est reconnu ; la diffusion audio reste active. Pour toute valeur positive, écoute pendant ce nombre de millisecondes puis renvoie(None, average_scores)à l’expiration du délai.callbackest un appelable optionnel invoqué sous la formecallback(label, average_scores)lorsqu’un mot est reconnu, au lieu d’un retour. Combiné àtimeout=0, cela permet une reconnaissance continue.thresholdest la confiance moyenne minimale requise pour accepter une reconnaissance.filterest la liste des chaînes d’étiquettes à accepter. Les reconnaissances hors de cette liste sont ignorées.