ml.apps — Aplicaciones de ML¶
El módulo ml.apps contiene clases de aplicación de ML de alto nivel construidas sobre ml.Model.
class MicroSpeech – Reconocimiento de voz¶
El objeto MicroSpeech reconoce palabras habladas simples utilizando el modelo MicroSpeech de TensorFlow Lite for Microcontrollers. El modelo predeterminado reconoce "Yes" y "No".
- class ml.apps.MicroSpeech(preprocessor: ml.Model = None, micro_speech: ml.Model = None, labels: list[str] = None, **kwargs)¶
Crea un objeto MicroSpeech.
preprocessores elml.Modelpreprocesador de audio. Si esNone, se carga/rom/audio_preprocessor.tflite.micro_speeches elml.Modelde reconocimiento de voz. Si esNone, se carga/rom/micro_speech.tflite.labelses una lista de cadenas de etiquetas que coinciden con las categorías de salida del modelo. Si esNone, las etiquetas se toman demicro_speech.labels.Cualquier argumento de palabra clave adicional se reenvía a
audio.init()(el periférico de audio se inicializa conchannels=1,frequency=16000ysamples=320).- audio_callback(buf: bytes) None¶
Función de retorno (callback) interna de transmisión de audio. Añade nuevas muestras de
bufal búfer de audio rotativo, actualiza el espectrograma ejecutando el modelopreprocessorsobre la ventana más reciente, y actualiza el historial de predicciones ejecutando el modelomicro_speechsobre el espectrograma. Normalmente no se llama directamente.
- start_audio_streaming() None¶
Borra el espectrograma y el historial de predicciones, y luego inicia la transmisión de audio con
MicroSpeech.audio_callbackcomo función de retorno. No hace nada si la transmisión ya está iniciada.
- listen(timeout: int = 0, callback: callable = None, threshold: float = 0.65, filter: list[str] = ['Yes', 'No']) tuple[str, numpy.ndarray]¶
Escucha una palabra hablada y devuelve una tupla de
(label, average_scores)una vez que se detecta una etiqueta cuya puntuación promediada está por encima dethresholdy está contenida enfilter. Llama aMicroSpeech.start_audio_streamingsi aún no está transmitiendo.timeoutes el tiempo máximo en milisegundos para escuchar. Si es0, escucha indefinidamente hasta que se reconozca una palabra. Si es-1, se ejecuta en modo no bloqueante y devuelve de inmediato(None, average_scores)si no se reconoce ninguna palabra; la transmisión de audio se deja en ejecución. Para cualquier valor positivo, escucha durante esa cantidad de milisegundos y luego devuelve(None, average_scores)al expirar el tiempo de espera.callbackes un invocable opcional que se invoca comocallback(label, average_scores)cuando se reconoce una palabra en lugar de devolverla. Combinado contimeout=0, esto permite el reconocimiento continuo.thresholdes la confianza promediada mínima requerida para aceptar un reconocimiento.filteres la lista de cadenas de etiquetas a aceptar. Los reconocimientos fuera de esta lista se ignoran.