Java Speech API
Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini. Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan. (Januari 2023) |
Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini. Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan. (Oktober 2022) |
Java Speech API (JSAPI) adalah antarmuka pemrograman aplikasi untuk dukungan lintas platform dari pengenal perintah dan kontrol, sistem dikte, dan penyintesis ucapan. Meskipun JSAPI mendefinisikan antarmuka hanya ada beberapa implementasi yatng dibuat oleh pihak ketiga, misalnya FreeTTS.
Teknologi inti
Dua teknologi ucapan inti didukung melalui Java Speech API: sintesis ucapan dan pengenalan suara.
Sintesis ucapan
Sintesis ucapan menyediakan proses kebalikan dari menghasilkan ucapan sintetis dari teks yang dihasilkan oleh aplikasi, applet, atau pengguna. Hal ini sering disebut sebagai teknologi text-to-speech.
Langkah-langkah utama dalam memproduksi ucapan dari teks adalah sebagai berikut:
- Analisis struktur: Memproses teks masukan untuk menentukan di mana paragraf, kalimat, dan struktur lainnya dimulai dan diakhiri. Untuk sebagian besar bahasa, data tanda baca dan pemformatan digunakan dalam tahap ini.
- Pra-pemrosesan teks: Menganalisis teks input untuk konstruksi khusus bahasa. Dalam bahasa Inggris, perlakuan khusus diperlukan untuk singkatan, akronim, tanggal, waktu, angka, jumlah mata uang, alamat email, dan banyak bentuk lainnya. Bahasa lain memerlukan pemrosesan khusus untuk bentuk ini, dan sebagian besar bahasa memiliki persyaratan khusus lainnya.
Hasil dari dua langkah pertama ini adalah bentuk lisan dari teks tertulis. Berikut adalah contoh perbedaan antara teks tertulis dan lisan:
Rumah sakit St. Matthew ada di Main St. -> “Rumah sakit Saint Matthew ada di Main Street” Tambahkan $20 ke akun 55374. -> “Tambahkan dua puluh dolar ke akun lima lima, tiga tujuh empat.”
Langkah selanjutnya mengubah teks lisan menjadi ucapan:
- Konversi teks ke fonem: Mengonversi setiap kata menjadi fonem. Fonem adalah satuan dasar bunyi dalam suatu bahasa.
- Analisis prosodi: Memproses struktur kalimat, kata, dan fonem untuk menentukan prosodi yang sesuai untuk kalimat tersebut.
- Produksi bentuk gelombang: Menggunakan fonem dan informasi prosodi untuk menghasilkan bentuk gelombang audio untuk setiap kalimat.
Penyintesis ucapan dapat membuat kesalahan dalam salah satu langkah pemrosesan yang dijelaskan di atas. Telinga manusia disetel dengan baik untuk mendeteksi kesalahan ini, tetapi ketelitian oleh pengembang dapat meminimalkan kesalahan dan meningkatkan kualitas keluaran suara. Sementara Java Speech API 1 mengandalkan Java Speech API Markup Language (JSML), rilis yang lebih baru menggunakan SSML untuk menyediakan banyak cara bagi Anda untuk meningkatkan kualitas output dari penyintesis ucapan.
Pengenalan suara
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.
Spesifikasi terkait
Java Speech API ditulis sebelum Java Community Process (JCP) dan menargetkan Java Platform, Standard Edition (Java SE). Selanjutnya, Java Speech API 2 (JSAPI2) dibuat sebagai JSR 113 di bawah JCP. API ini menargetkan Java Platform, Micro Edition (Java ME), tetapi juga sesuai dengan Java SE.
Referensi
- FAQ Java Speech API oleh Sun/Oracle
- JavaDocs untuk JSAPI 1
- [1]Open Source JSAPI 2 Wrapper
- Teknologi ini digunakan untuk tujuan keamanan yang berbeda
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.