ml.apps --- Ứng dụng ML¶
Mô-đun ml.apps chứa các lớp ứng dụng ML cấp cao được xây dựng trên nền tảng ml.Model.
class MicroSpeech -- Nhận dạng giọng nói¶
Đối tượng MicroSpeech nhận dạng các từ nói đơn giản bằng cách sử dụng mô hình (ML) MicroSpeech từ TensorFlow Lite for Microcontrollers. Mô hình mặc định nhận dạng "Yes" và "No".
- class ml.apps.MicroSpeech(preprocessor: ml.Model = None, micro_speech: ml.Model = None, labels: list[str] = None, **kwargs)¶
Tạo một đối tượng MicroSpeech.
preprocessorlàml.Modeltiền xử lý âm thanh. Nếu làNone,/rom/audio_preprocessor.tflitesẽ được tải.micro_speechlàml.Modelnhận dạng giọng nói. Nếu làNone,/rom/micro_speech.tflitesẽ được tải.labelslà danh sách các chuỗi nhãn khớp với các danh mục đầu ra của mô hình (ML). Nếu làNone, các nhãn được lấy từmicro_speech.labels.Bất kỳ đối số từ khóa bổ sung nào đều được chuyển tiếp đến
audio.init()(ngoại vi âm thanh được khởi tạo vớichannels=1,frequency=16000, vàsamples=320).- audio_callback(buf: bytes) None¶
Hàm gọi lại phát trực tuyến âm thanh nội bộ. Thêm các mẫu mới từ
bufvào bộ đệm âm thanh cuộn, cập nhật phổ tần bằng cách chạy mô hình (ML)preprocessortrên cửa sổ mới nhất, và cập nhật lịch sử dự đoán bằng cách chạy mô hình (ML)micro_speechtrên phổ tần. Thường không được gọi trực tiếp.
- start_audio_streaming() None¶
Xóa phổ tần và lịch sử dự đoán, sau đó bắt đầu phát trực tuyến âm thanh với
MicroSpeech.audio_callbacklàm hàm gọi lại. Không làm gì nếu phát trực tuyến đã được bắt đầu.
- listen(timeout: int = 0, callback: callable = None, threshold: float = 0.65, filter: list[str] = ['Yes', 'No']) tuple[str, numpy.ndarray]¶
Lắng nghe một từ được nói và trả về một tuple
(label, average_scores)khi phát hiện nhãn có điểm trung bình vượt ngưỡngthresholdvà có trongfilter. GọiMicroSpeech.start_audio_streamingnếu chưa phát trực tuyến.timeoutlà thời gian lắng nghe tối đa tính bằng mili giây. Nếu là0, lắng nghe vô thời hạn cho đến khi nhận ra một từ. Nếu là-1, chạy ở chế độ không chặn và trả về ngay lập tức với(None, average_scores)nếu không có từ nào được nhận ra; phát trực tuyến âm thanh vẫn tiếp tục chạy. Đối với bất kỳ giá trị dương nào, lắng nghe trong số mili giây đó rồi trả về(None, average_scores)khi hết thời gian.callbacklà một hàm gọi được tùy chọn, được gọi làcallback(label, average_scores)khi nhận ra một từ thay vì trả về. Kết hợp vớitimeout=0, điều này cho phép nhận dạng liên tục.thresholdlà mức độ tin cậy trung bình tối thiểu cần thiết để chấp nhận một kết quả nhận dạng.filterlà danh sách các chuỗi nhãn cần chấp nhận. Các kết quả nhận dạng ngoài danh sách này sẽ bị bỏ qua.