Berinteraksi dengan API Speech di Windows Phone

API Speech merupakan satu dari sekian banyak fitur baru yang di tambahkan pada Windows Phone 8. Dengan API ini, pengguna dapat mengatur semua seting pada Windows Phone dengan menggunakan suara, tapi itu semua tergantung kepada bahasa yang di support oleh Windows Phone untuk API ini. Biasanya sudah disediakan beberapa bahasa yang bisa di download berupa voice pack, tapi belum ada untuk Indonesia.

API Speech di Windows Phone

Nah untuk menggunakan API ini, penting untuk di ketahui bagaimana speech service dapat diatur, karena di aplikasi kita nantinya kita bisa menggunkan speech recognitin hanya untuk bahasa yang telah di instal oleh user. Maksud dari speech service adalah untuk menambahkan vocel recognitin kedalam aplikasi dengan cara :

  • Memperbolehkan user berbicara untuk berinteraksi dengan aplikasi, seperti membuka aplikasi atau menjalankan sebuah tugas.
  • Memperbolehlan fitur text-to-speech yang artinya aplikasi dapat membacakan text kepada user.
  • Memperbolehkan fitur text recognition yang artinya user dapat menambahkan text dan aplikasi juga menirunya.

Oleh karena itu kita akan mencari tahu apa dasar kebutuhan untuk mengimplementasikan 3 cara diatas ke dalam aplikasi.

 

Voice Commands

Voice commands meruapakan cara untuk memulai aplikasi kita dan mengeksekusi sebuah task yang lebih spesifik tanpa memperhatikan apa yang user sedang lakukan. Itu akan aktfik dengan cara di tap dan menahan tombol search. Windows Phone menawarkan support native untuk banyak voice commands, seperti menjalankan perintah panggilan telepone, membuat email, pencarian via Bing, dsb.

User sangat dimudahkan dengan perintah melalui suara, jika itu berhasil, aplikasi akan terbuka, dan sebagai developer kita akan mendapat beberapa informasi untuk mengerti mana perintah yang berhasil, jadi kita bisa mendapat pola penggunaan user untuk menjalankan perintah spesifik dengan lebih ringan.

Voice command ini dasarnya adalah sebuah file VCD, yang merupakan file XML yang terdapat dalam project. Dengan menggunakan syntak yang special, kita akan bisa mendefinisikan semua perintah yang ingin kita support pada aplikasi dan bagaimana aplikasi harus berjalan ketika digunakan. File nya support di Visual Studio, dan jika kita klik-kanan pada project kita dan memilih Add new item, kita akan menemukan templat yang dinamakan VoiceCommandDefinition.

Berikut contoh code dari file VCD tersebut :

Seperti yang terlihat pada code diatas, file VCD ini terdiri dari tag CommandSet, yang diidentifikasi dengan sebuah Name dan bahasa yang spesifik. Attribute/tag kedua tidak kalah pentingnya adalah CommanPrefix. Aplikasi kita akan support perintah suara hanya jika kita mendefinisikan CommandSet di dalam file VCD, dan didalam file tersebut kita bisa mempunyai tag CommandSet lebih dari satu untuk support banyak bahasa.

Setiap CommandSet bisa mempunyai CommandPrefix, yang artinya text yang seharunya di disampaikan oleh user untuk mulai mengirim perintah ke aplikasi kita. Jika salah satu perintahnya tidak begitu spesifik, tag name dari aplikasi akan otomatis di gunakan. Kita juga bisa menambahkan taq Example , yang didalamnya berisikan text dalam bentuk dialog untuk ditampilkan kepada user yang berfungsi untuk membantu user apa perintah yang bisa user gunakan.

Kemudian, didalam tag CommandSet, kita bisa menambahkan 100 perintah yang diidentifikasi dengan tag Command. Setiap command harus mempunyai karakteristik sebagai berikut :

  • Nama yang unik, yang di tambahkan kedalam attribute Name
  • Tag Example menampilkan text untuk contoh perintah kepada user.
  • Feedback adalah perintah text oleh sistem untuk diberitahukan kepada user agar megnerti perintahnya dan prosesnya.
  • NavigateTarget dapat digunakan untuk merubah alur navigasi dari aplikasi. Contohnya, jika kita tidak memasanya, aplikasi akan membuka halam utama secara default. Dengan NavigateTaget kita bisa mengarahkannya ke halaman yang ingin dituju.

Itulah beberapa penjelasan tentang file VCD, selanjutnya kita sudah bisa menggunakannya kedalam aplikasi. Ada yang perlu diingat juga, untuk bisa menggunakan speech service, kita harus enable ID_CAP_SPEECH_RECOGNITION  didalam file manifest.

Perintah telah tertanam didalam aplikasi Windows Phone dengan menggunakan class yang dipanggil dengan VoiceCommandService, yang termasuk kedalam namespace Windows.Phone.Speech.VoiceCommands.  Class statis ini menyiapkan sebuah method yang dinamakan InstallCommandSetFromFileAsync(), yang memerlukan persetujuan dari file VCD ketika kita membuatnya. Seperti method dibawah ini:

Using text-to-speech (TTS)

Text-to-speech merupakan teknologi yang dapat membaca text kepada user dalam bentuk suara. Ini bisa digunakan untuk membuat sebuah dialog dengan user, jadi usert tidak harus melihat layar ketika berinteraksi dengan aplikasi. Dasar penggunaan fitur ini sangatlah mudah, class yang digunakanan untuk berinteraksi adalah SpeechSynthesizer, yang nantinya akan memanggil sebuah method yang dinamakan SpeakTextAsync(). Kita bisa dengan mudah membuat contoh method yang kita ingin baca textnya, seperti contoh dibawah ini:

Selain itu, kita juga bisa merubah bagaimana text dibacakan menggunakan bahasa standar yang dinamakan dengan Synthesis Markip Language (SSML), yang merupakan standar XML. Standar ini menyediakan tag yang hampir sama dengan xml dan juga penggunaanya. Contohnnya, language, voice gender, dan banyak lagi. Berikut contoh file SSML :

Seperti yang kita lihat di contoh diatas, terdapat tiga tag utama, yaitu voice yang digunakan ntuk mensimulasikan umur suara, break untuk berhenti, dan prosody untuk memasang kecepatan baca.

Cara dalam menggunakan SSML ini, pertama adalah membuat file external dengan menambhakan file XML yang baru kedalam project. Kemudian kita bisa memanggilnya filenya dengan menambahkan method SpeackSsmlFromUriAsync() dari class SpeechSynthesizer, seperti contoh dibawah ini:

 

Iklan

Good People write good comments ..

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s