Speech Service


Saya lanjutkan catatan dari training AI102. Kali ini tentenga speech service API. API ini bisa digunakan untuk membangun aplikasi yang menggunakan speech. Diantaranya: Speech-to-text (input suara), text-to-speech (output suara), speech translation (terjemahan), speaker recognition (pengenalan suara), intent recognition (memahami semantik dari input suara).

Speech service menyediakan dua API rest yaitu speech-to-text dan speech-to-text short audio (untuk audio stream kurang dari 60 detik). API speech-to-text bisa digunakan juga untuk batch transcription, membuat transkrip multipel audio files ke teks sebagai operasi batch. Dokumentasi tentang API ini bisa dilihat disini:

https://docs.microsoft.com/id-id/azure/cognitive-services/speech-service/rest-speech-to-text

Biasanya speech service digunakan dalam aplikasi melalui SDK khusus bahasa. Langkah yang digunakan untuk menggunakan SDK speech-to-text API umumnya adalah:

Menggunakan obyek SpeechConfig untuk melakukan encapsulate informasi yang dibutuhkan untuk menghubungkan resource suara, biasanya lokasi dan kunci.Menggunakan AudioConfig untuk mendefinisikan sumber input yang akan dibuat transkripnya. Secara default, inputnya adalah system microphone, tapi bisa juga berupa file audio. Menggunakan SpeechConfig dan AudioConfig untuk membuat obyek SpeechRecognizer. Obyek ini adalah proxy client untuk API Speech-to-text. Menggunakan obyek SpeechRecognizer untuk memanggil fungsi API functions. Contohnya etode  RecognizeOnceAsync() menggunakan Speech service untuk membuat transkrip asinkron pada sebuah ucapan.

Kemudian respon dari Speech service diproses. Pada metode  RecognizeOnceAsync(), hasilnya adalah obyek SpeechRecognitionResult yang memiliki parameter berikut: Duration, OffsetInTicks, Properties, Reason, ResultId dan Text

Bila operasinya berhasil, parameter Reason menghasilkan value RecognizedSpeech, dan parameter Text yang mengandung transkrip. Nilai Result lainnya diantaranya adalah NoMatch, yaitu bila audio berhasil diparing tapi tidak ada suara yang dikenali. Output lainnya adalah cancelled, yaitu kalo ada error. Bila ini terjadi kita bisa memeriksa parameter Properties pada CancellationReason untuk mencari tahu penyebab erornya.

Sampai disini dulu, semoga bermanfaat!


Silahkan tuliskan tanggapan, kritik maupun saran