ml.apps — ML-apps¶
De ml.apps-module bevat hoogniveau ML-applicatieklassen die bovenop ml.Model zijn gebouwd.
class MicroSpeech – Spraakherkenning¶
Het MicroSpeech-object herkent eenvoudige gesproken woorden met behulp van het MicroSpeech-model van TensorFlow Lite for Microcontrollers. Het standaardmodel herkent "Yes" en "No".
- class ml.apps.MicroSpeech(preprocessor: ml.Model = None, micro_speech: ml.Model = None, labels: list[str] = None, **kwargs)¶
Maakt een MicroSpeech-object aan.
preprocessoris het audio-preprocessor-ml.Model. AlsNone, wordt/rom/audio_preprocessor.tflitegeladen.micro_speechis het spraakherkennings-ml.Model. AlsNone, wordt/rom/micro_speech.tflitegeladen.labelsis een lijst van labelstrings die overeenkomen met de uitvoercategorieën van het model. AlsNone, worden de labels overgenomen uitmicro_speech.labels.Eventuele aanvullende sleutelwoordargumenten worden doorgegeven aan
audio.init()(het audiorandapparaat wordt geïnitialiseerd metchannels=1,frequency=16000ensamples=320).- audio_callback(buf: bytes) None¶
Interne audiostreaming-callback. Voegt nieuwe samples uit
buftoe aan de rollende audiobuffer, werkt het spectrogram bij door hetpreprocessor-model uit te voeren op het laatste venster, en werkt de voorspellingsgeschiedenis bij door hetmicro_speech-model uit te voeren op het spectrogram. Wordt normaal niet rechtstreeks aangeroepen.
- start_audio_streaming() None¶
Wist het spectrogram en de voorspellingsgeschiedenis, en start vervolgens audiostreaming met
MicroSpeech.audio_callbackals callback. Doet niets als streaming al is gestart.
- listen(timeout: int = 0, callback: callable = None, threshold: float = 0.65, filter: list[str] = ['Yes', 'No']) tuple[str, numpy.ndarray]¶
Luistert naar een gesproken woord en geeft een tuple
(label, average_scores)terug zodra een label wordt gedetecteerd waarvan de gemiddelde score boventhresholdligt en dat infilteris opgenomen. RoeptMicroSpeech.start_audio_streamingaan als er nog niet wordt gestreamd.timeoutis de maximale tijd in milliseconden om te luisteren. Als0, luistert het oneindig totdat een woord wordt herkend. Als-1, draait het in niet-blokkerende modus en geeft het onmiddellijk(None, average_scores)terug als er geen woord wordt herkend; audiostreaming blijft draaien. Voor elke positieve waarde luistert het dat aantal milliseconden en geeft het vervolgens(None, average_scores)terug bij een timeout.callbackis een optionele callable die wordt aangeroepen alscallback(label, average_scores)wanneer een woord wordt herkend, in plaats van terug te geven. Gecombineerd mettimeout=0maakt dit continue herkenning mogelijk.thresholdis de minimale gemiddelde betrouwbaarheid die vereist is om een herkenning te accepteren.filteris de lijst van labelstrings die worden geaccepteerd. Herkenningen buiten deze lijst worden genegeerd.