Tolong jelaskan mengenai Pengenalan suara dari Java Speech API

Pengenalan suara memberi komputer kemampuan untuk mendengarkan bahasa lisan dan menentukan apa yang telah dikatakan. Dengan kata lain, ia memproses input audio yang berisi ucapan dengan mengubahnya menjadi teks.

Langkah-langkah utama dari pengenalan ucapan biasa adalah sebagai berikut:

Desain tata bahasa: Mendefinisikan kata-kata yang mungkin diucapkan oleh pengguna dan pola di mana mereka dapat diucapkan.

Pemrosesan sinyal: Menganalisis karakteristik spektrum (yaitu, frekuensi) dari audio yang masuk.

Pengenalan fonem: Membandingkan pola spektrum dengan pola fonem bahasa yang dikenali.

Pengenalan kata: Membandingkan urutan kemungkinan fonem dengan kata dan pola kata yang ditentukan oleh tata bahasa aktif.

Pembuatan hasil: Menyediakan aplikasi dengan informasi tentang kata-kata yang telah dideteksi oleh pengenal dalam audio yang masuk.

Tata bahasa adalah objek di Java Speech API yang menunjukkan kata-kata apa yang diduga diucapkan oleh pengguna dan dalam pola apa kata-kata itu mungkin muncul. Tata bahasa penting bagi pengenal suara karena membatasi proses pengenalan. Pembatas ini membuat pengenalan lebih cepat dan lebih akurat karena pengenal tidak harus memeriksa kalimat aneh.

Java Speech API 1 mendukung dua tipe tata bahasa dasar: tata bahasa aturan dan tata bahasa dikte. Jenis-jenis ini berbeda dalam berbagai cara, termasuk bagaimana aplikasi mengatur tata bahasa; jenis kalimat yang mereka izinkan; bagaimana hasil disediakan; jumlah sumber daya komputasi yang dibutuhkan; dan bagaimana mereka digunakan dalam desain aplikasi. Tata bahasa aturan ditentukan dalam JSAPI 1 oleh JSGF, Java Speech Grammar Format. JSAPI 2 yang lebih baru mendukung format SRGS yang lebih baru. JSAPI 2 tidak menawarkan dukungan untuk dikte.

Kelas dan antarmuka Java Speech API

Kelas dan antarmuka berbeda yang membentuk Java Speech API dikelompokkan ke dalam tiga paket berikut:

javax.speech : Berisi kelas dan antarmuka untuk mesin ucapan generik.

javax.speech.synthesis : Berisi kelas dan antarmuka untuk sintesis ucapan.

javax.speech.recognition : Berisi kelas dan antarmuka untuk pengenalan ucapan.

Kelas EngineManager seperti kelas pabrik yang digunakan oleh semua aplikasi Java Speech API. Kelas tersebut menyediakan metode statis untuk memungkinkan akses ke sintesis ucapan dan mesin pengenalan suara. Antarmuka Engine merangkum operasi umum yang harus disediakan oleh mesin ucapan yang sesuai dengan Java Speech API untuk aplikasi ucapan.

Aplikasi ucapan utamanya dapat menggunakan metode untuk melakukan tindakan seperti mengambil properti dan status mesin ucapan dan mengalokasikan serta membatalkan alokasi sumber daya untuk mesin ucapan. Selain itu, antarmuka Engine memaparkan mekanisme untuk menjeda dan melanjutkan aliran audio yang dihasilkan atau diproses oleh mesin ucapan. AudioManager dapat memanipulasi aliran. Antarmuka Engine disubklasifikasikan oleh antarmuka Synthesizer dan Recognizer, yang menentukan fungsi sintesis ucapan dan pengenalan suara tambahan. Antarmuka Synthesizer merangkum operasi mesin sintesis ucapan yang sesuai dengan Java Speech API untuk aplikasi ucapan.

Java Speech API didasarkan pada penanganan event. Event yang dihasilkan oleh mesin ucapan dapat diidentifikasi dan ditangani sesuai kebutuhan. Event ucapan dapat ditangani melalui antarmuka EngineListener, khususnya melalui RecognizerListener dan SynthesizerListener.