micro_speech.py
# Dieses Werk ist unter der MIT-Lizenz lizenziert.
# Copyright (c) 2024 OpenMV LLC. Alle Rechte vorbehalten.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Das MicroSpeech-Modul wurde für Echtzeit-Audioverarbeitung und Spracherkennung entwickelt
# auf Mikrocontroller-Plattformen. Es nutzt vortrainierte Modelle für die Audiovorverarbeitung und
# Spracherkennung, speziell optimiert für die Erkennung von Schlüsselwörtern wie "Yes" und "No".
import time
from ml.apps import MicroSpeech
def callback(label, scores):
print(f'\nHeard: "{label}" @{time.ticks_ms()}ms Scores: {scores}')
# Standardmäßig verwendet das MicroSpeech-Objekt den integrierten Audio-Preprocessor (float) und das
# Micro-Speech-Modul für die Audiovorverarbeitung bzw. Spracherkennung. Der
# Benutzer kann beide überschreiben, indem er zwei Modelle übergibt:
# MicroSpeech(preprocessor=ml.Model(...), micro_speech=ml.Model(...), labels=["label",...])
speech = MicroSpeech()
# Startet das Audio-Streaming und verarbeitet eingehendes Audio, um Sprachbefehle zu erkennen.
# Wenn ein Callback übergeben wird, läuft listen() endlos und ruft den Callback auf, wenn ein Schlüsselwort
# erkannt wird. Alternativ kann `listen()` mit einem Timeout (in ms) aufgerufen werden, und es
# kehrt zurück, wenn der Timeout abläuft, bevor ein Schlüsselwort erkannt wird.
speech.listen(callback=callback, threshold=0.70)