ml.apps — Aplicações ML¶
O módulo ml.apps contém classes de aplicações ML de alto nível construídas sobre ml.Model.
classe MicroSpeech – Reconhecimento de Voz¶
O objeto MicroSpeech reconhece palavras faladas simples utilizando o modelo MicroSpeech do TensorFlow Lite for Microcontrollers. O modelo predefinido reconhece "Yes" e "No".
- class ml.apps.MicroSpeech(preprocessor: ml.Model = None, micro_speech: ml.Model = None, labels: list[str] = None, **kwargs)¶
Cria um objeto MicroSpeech.
preprocessoré oml.Modelde pré-processamento de áudio. SeNone, é carregado/rom/audio_preprocessor.tflite.micro_speeché oml.Modelde reconhecimento de voz. SeNone, é carregado/rom/micro_speech.tflite.labelsé uma lista de strings de etiqueta correspondentes às categorias de saída do modelo. SeNone, as etiquetas são obtidas a partir demicro_speech.labels.Quaisquer argumentos de palavra-chave adicionais são repassados a
audio.init()(o periférico de áudio é inicializado comchannels=1,frequency=16000esamples=320).- audio_callback(buf: bytes) None¶
Callback interno de streaming de áudio. Acrescenta novas amostras de
bufao buffer de áudio deslizante, atualiza o espectrograma executando o modelopreprocessorna janela mais recente, e atualiza o histórico de predições executando o modelomicro_speechno espectrograma. Normalmente não é chamado diretamente.
- start_audio_streaming() None¶
Limpa o espectrograma e o histórico de predições e, em seguida, inicia o streaming de áudio com
MicroSpeech.audio_callbackcomo callback. Não faz nada se o streaming já estiver a decorrer.
- listen(timeout: int = 0, callback: callable = None, threshold: float = 0.65, filter: list[str] = ['Yes', 'No']) tuple[str, numpy.ndarray]¶
Aguarda uma palavra falada e devolve um tuplo de
(label, average_scores)assim que for detetada uma etiqueta cuja pontuação média está acima dethresholde está contida emfilter. ChamaMicroSpeech.start_audio_streamingse ainda não estiver a fazer streaming.timeouté o tempo máximo em milissegundos para escutar. Se0, escuta indefinidamente até que uma palavra seja reconhecida. Se-1, executa em modo não bloqueante e devolve imediatamente(None, average_scores)se nenhuma palavra for reconhecida; o streaming de áudio fica em execução. Para qualquer valor positivo, escuta durante esse número de milissegundos e devolve(None, average_scores)no tempo limite.callbacké um callable opcional invocado comocallback(label, average_scores)quando uma palavra é reconhecida, em vez de ser devolvido. Combinado comtimeout=0, permite o reconhecimento contínuo.thresholdé a confiança média mínima necessária para aceitar um reconhecimento.filteré a lista de strings de etiqueta a aceitar. Os reconhecimentos fora desta lista são ignorados.