ml.apps --- Aplikasi ML¶
Modul ml.apps berisi kelas aplikasi ML tingkat tinggi yang dibangun di atas ml.Model.
class MicroSpeech -- Pengenalan Ucapan¶
Objek MicroSpeech mengenali kata-kata lisan sederhana menggunakan model MicroSpeech dari TensorFlow Lite untuk Mikrokontroler. Model default mengenali "Yes" dan "No".
- class ml.apps.MicroSpeech(preprocessor: ml.Model = None, micro_speech: ml.Model = None, labels: list[str] = None, **kwargs)¶
Membuat objek MicroSpeech.
preprocessoradalahml.Modelpraprosesor audio. JikaNone,/rom/audio_preprocessor.tflitedimuat.micro_speechadalahml.Modelpengenalan ucapan. JikaNone,/rom/micro_speech.tflitedimuat.labelsadalah daftar string label yang sesuai dengan kategori keluaran model. JikaNone, label diambil darimicro_speech.labels.Argumen kata kunci tambahan apa pun diteruskan ke
audio.init()(periferal audio diinisialisasi denganchannels=1,frequency=16000, dansamples=320).- audio_callback(buf: bytes) None¶
Callback streaming audio internal. Menambahkan sampel baru dari
bufke dalam buffer audio bergilir, memperbarui spektrogram dengan menjalankan modelpreprocessorpada jendela terbaru, dan memperbarui riwayat prediksi dengan menjalankan modelmicro_speechpada spektrogram. Biasanya tidak dipanggil langsung.
- start_audio_streaming() None¶
Membersihkan spektrogram dan riwayat prediksi, lalu memulai streaming audio dengan
MicroSpeech.audio_callbacksebagai callback. Tidak beroperasi jika streaming sudah dimulai.
- listen(timeout: int = 0, callback: callable = None, threshold: float = 0.65, filter: list[str] = ['Yes', 'No']) tuple[str, numpy.ndarray]¶
Mendengarkan kata yang diucapkan dan mengembalikan tuple
(label, average_scores)setelah label yang skor rata-ratanya di atasthresholddan terdapat dalamfilterterdeteksi. MemanggilMicroSpeech.start_audio_streamingjika belum streaming.timeoutadalah waktu maksimum dalam milidetik untuk mendengarkan. Jika0, mendengarkan tanpa batas waktu hingga kata dikenali. Jika-1, berjalan dalam mode non-blocking dan segera mengembalikan(None, average_scores)jika tidak ada kata yang dikenali; streaming audio dibiarkan berjalan. Untuk nilai positif apa pun, mendengarkan selama milidetik tersebut lalu mengembalikan(None, average_scores)saat habis waktu.callbackadalah callable opsional yang dipanggil sebagaicallback(label, average_scores)ketika kata dikenali alih-alih dikembalikan. Dikombinasikan dengantimeout=0, ini memungkinkan pengenalan berkelanjutan.thresholdadalah kepercayaan rata-rata minimum yang diperlukan untuk menerima pengenalan.filteradalah daftar string label yang diterima. Pengenalan di luar daftar ini diabaikan.