ml.apps — ML-застосунки¶
Модуль ml.apps містить високорівневі класи ML-застосунків, побудовані на основі ml.Model.
class MicroSpeech – Розпізнавання мовлення¶
Об’єкт MicroSpeech розпізнає прості вимовлені слова за допомогою моделі (МН) MicroSpeech з TensorFlow Lite for Microcontrollers. Модель за замовчуванням розпізнає "Yes" та "No".
- class ml.apps.MicroSpeech(preprocessor: ml.Model = None, micro_speech: ml.Model = None, labels: list[str] = None, **kwargs)¶
Створює об’єкт MicroSpeech.
preprocessor—ml.Modelаудіопрепроцесора. ЯкщоNone, завантажується/rom/audio_preprocessor.tflite.micro_speech—ml.Modelрозпізнавання мовлення. ЯкщоNone, завантажується/rom/micro_speech.tflite.labels— список рядків міток, що відповідають вихідним категоріям моделі (МН). ЯкщоNone, мітки беруться зmicro_speech.labels.Будь-які додаткові аргументи-ключові слова передаються до
audio.init()(аудіо периферійний пристрій ініціалізується зchannels=1,frequency=16000таsamples=320).- audio_callback(buf: bytes) None¶
Внутрішній зворотний виклик потокового передавання аудіо. Додає нові зразки з
bufдо ковзного аудіобуфера, оновлює спектрограму, запускаючи модель (МН)preprocessorна останньому вікні, та оновлює історію передбачень, запускаючи модель (МН)micro_speechна спектрограмі. Зазвичай не викликається безпосередньо.
- start_audio_streaming() None¶
Очищає спектрограму та історію передбачень, а потім запускає потокове передавання аудіо з
MicroSpeech.audio_callbackяк зворотним викликом. Не робить нічого, якщо потокове передавання вже запущено.
- listen(timeout: int = 0, callback: callable = None, threshold: float = 0.65, filter: list[str] = ['Yes', 'No']) tuple[str, numpy.ndarray]¶
Слухає вимовлене слово та повертає кортеж
(label, average_scores), як тільки мітка, усереднений показник якої перевищуєthresholdта яка міститься уfilter, виявлена. ВикликаєMicroSpeech.start_audio_streaming, якщо потокове передавання ще не запущено.timeout— максимальний час прослуховування в мілісекундах. Якщо0, слухає необмежено до розпізнавання слова. Якщо-1, працює в неблокуючому режимі та негайно повертає(None, average_scores), якщо слово не розпізнано; потокове передавання аудіо залишається активним. Для будь-якого позитивного значення слухає стільки мілісекунд, а потім повертає(None, average_scores)після таймауту.callback— необов’язковий виклик, що викликається якcallback(label, average_scores)при розпізнаванні слова замість повернення. У поєднанні зtimeout=0дозволяє безперервне розпізнавання.threshold— мінімальна усереднена впевненість, необхідна для прийняття розпізнавання.filter— список рядків міток для прийняття. Розпізнавання, що не входять до цього списку, ігноруються.