Interaksi ucapan

Integrasikan pengenalan ucapan dan teks ke ucapan (juga dikenal sebagai TTS, atau sintesis ucapan) langsung ke pengalaman pengguna aplikasi Anda.

Pengenalan ucapan Pengenalan ucapan mengonversi kata-kata yang diucapkan oleh pengguna menjadi teks untuk input formulir, untuk dikte teks, untuk menentukan tindakan atau perintah, dan untuk menyelesaikan tugas. Tata bahasa yang telah ditentukan sebelumnya untuk dikte teks bebas dan pencarian web, dan tata bahasa kustom yang ditulis menggunakan Spesifikasi Tata Bahasa Pengenalan Ucapan (SRGS) Versi 1.0 didukung.

TTS TTS menggunakan mesin sintesis ucapan (suara) untuk mengonversi string teks menjadi kata yang diucapkan. String input dapat berupa teks dasar yang tidak diurutkan, atau Bahasa Markup Sintesis Ucapan (SSML) yang lebih kompleks. SSML menyediakan cara standar untuk mengontrol karakteristik output ucapan, seperti pengucapan, volume, nada, laju atau kecepatan, dan penekanan.

Komponen terkait ucapan lainnya:Cortana di aplikasi Windows menggunakan perintah suara yang disesuaikan (diucapkan atau diketik) untuk meluncurkan aplikasi Anda ke latar depan (aplikasi mengambil fokus, sama seperti jika diluncurkan dari menu Mulai) atau diaktifkan sebagai layanan latar belakang (Cortana mempertahankan fokus tetapi memberikan hasil dari aplikasi). Lihat panduan perintah suara Cortana (VCD) jika Anda mengekspos fungsionalitas aplikasi di UI Cortana .

Desain interaksi ucapan

Dirancang dan diimplementasikan dengan bijaksana, ucapan dapat menjadi cara yang kuat dan menyenangkan bagi orang untuk berinteraksi dengan aplikasi Anda, melengkapi, atau bahkan mengganti, keyboard, mouse, sentuhan, dan gerakan.

Panduan dan rekomendasi ini menjelaskan cara terbaik untuk mengintegrasikan pengenalan ucapan dan TTS ke dalam pengalaman interaksi aplikasi Anda.

Jika Anda mempertimbangkan untuk mendukung interaksi ucapan di aplikasi Anda:

  • Tindakan apa yang dapat diambil melalui ucapan? Bisakah pengguna menavigasi antara halaman, memanggil perintah, atau memasukkan data sebagai bidang teks, catatan singkat, atau pesan panjang?
  • Apakah input ucapan merupakan opsi yang baik untuk menyelesaikan tugas?
  • Bagaimana pengguna tahu kapan input ucapan tersedia?
  • Apakah aplikasi selalu mendengarkan, atau apakah pengguna perlu mengambil tindakan agar aplikasi memasuki mode mendengarkan?
  • Frasa apa yang memulai tindakan atau perilaku? Apakah frasa dan tindakan perlu dijumlahkan di layar?
  • Apakah layar perintah, konfirmasi, dan disambiguasi atau TTS diperlukan?
  • Apa dialog interaksi antara aplikasi dan pengguna?
  • Apakah kosakata kustom atau dibatasi diperlukan (seperti kedokteran, sains, atau lokal) untuk konteks aplikasi Anda?
  • Apakah konektivitas jaringan diperlukan?

Masukan teks

Ucapan untuk input teks dapat berkisar dari bentuk pendek (kata atau frasa tunggal) hingga bentuk panjang (dikte berkelanjutan). Panjang input formulir pendek harus kurang dari 10 detik, sedangkan sesi input formulir panjang dapat mencapai dua menit. (Input bentuk panjang dapat dimulai ulang tanpa intervensi pengguna untuk memberikan kesan dikte berkelanjutan.)

Anda harus memberikan isyarat visual untuk menunjukkan bahwa pengenalan ucapan didukung dan tersedia untuk pengguna dan apakah pengguna perlu mengaktifkannya. Misalnya, tombol bilah perintah dengan glyph mikrofon (lihat Bilah perintah) dapat digunakan untuk menampilkan ketersediaan dan status.

Berikan umpan balik pengenalan yang sedang berlangsung untuk meminimalkan kurangnya respons yang jelas saat pengenalan sedang dilakukan.

Izinkan pengguna merevisi teks pengenalan menggunakan input keyboard, perintah disambiguasi, saran, atau pengenalan ucapan tambahan.

Hentikan pengenalan jika input terdeteksi dari perangkat selain pengenalan ucapan, seperti sentuhan atau keyboard. Ini mungkin menunjukkan bahwa pengguna telah pindah ke tugas lain, seperti mengoreksi teks pengenalan atau berinteraksi dengan bidang formulir lainnya.

Tentukan lamanya waktu yang tidak ada input ucapan yang menunjukkan bahwa pengenalan telah berakhir. Jangan memulai ulang pengenalan secara otomatis setelah periode waktu ini karena biasanya menunjukkan pengguna telah berhenti berinteraksi dengan aplikasi Anda.

Nonaktifkan semua UI pengenalan berkelanjutan dan hentikan sesi pengenalan jika koneksi jaringan tidak tersedia. Pengenalan berkelanjutan memerlukan koneksi jaringan.

Komandan

Input ucapan dapat memulai tindakan, memanggil perintah, dan menyelesaikan tugas.

Jika ruang mengizinkan, pertimbangkan untuk menampilkan respons yang didukung untuk konteks aplikasi saat ini, dengan contoh input yang valid. Ini mengurangi potensi respons yang harus diproses aplikasi Anda dan juga menghilangkan kebingungan bagi pengguna.

Cobalah untuk membingkai pertanyaan Anda sehingga mereka memunculkan respons spesifik mungkin. Misalnya, "Apa yang ingin Anda lakukan hari ini?" sangat terbuka dan akan memerlukan definisi tata bahasa yang sangat besar karena seberapa bervariasi responsnya. Atau, "Apakah Anda ingin memainkan game atau mendengarkan musik?" membatasi respons terhadap salah satu dari dua jawaban yang valid dengan definisi tata bahasa yang sama kecil. Tata bahasa kecil jauh lebih mudah ditulis dan menghasilkan hasil pengenalan yang jauh lebih akurat.

Konfirmasi permintaan dari pengguna saat keyakinan pengenalan ucapan rendah. Jika niat pengguna tidak jelas, lebih baik mendapatkan klarifikasi daripada memulai tindakan yang tidak diinginkan.

Anda harus memberikan isyarat visual untuk menunjukkan bahwa pengenalan ucapan didukung dan tersedia untuk pengguna dan apakah pengguna perlu mengaktifkannya. Misalnya, tombol bilah perintah dengan glyph mikrofon (lihat Panduan untuk bilah perintah) dapat digunakan untuk menampilkan ketersediaan dan status.

Jika sakelar pengenalan ucapan biasanya tidak terlihat, pertimbangkan untuk menampilkan indikator status di area konten aplikasi.

Jika pengenalan dimulai oleh pengguna, pertimbangkan untuk menggunakan pengalaman pengenalan bawaan untuk konsistensi. Pengalaman bawaan mencakup layar yang dapat disesuaikan dengan perintah, contoh, disambiguasi, konfirmasi, dan kesalahan.

Layar bervariasi tergantung pada batasan yang ditentukan:

  • Tata bahasa yang telah ditentukan sebelumnya (dikte atau pencarian web)

    • Layar Mendengarkan .
    • Layar Berpikir .
    • Layar Heard yang Anda ucapkan atau layar kesalahan.
  • Daftar kata atau frasa, atau file tata bahasa SRGS

    • Layar Mendengarkan .
    • Layar Apakah Anda mengatakan , jika apa yang dikatakan pengguna dapat ditafsirkan sebagai lebih dari satu hasil potensial.
    • Layar Heard yang Anda ucapkan atau layar kesalahan.

Di layar Mendengarkan , Anda dapat:

  • Kustomisasi teks judul.
  • Berikan contoh teks tentang apa yang dapat dikatakan pengguna.
  • Tentukan apakah layar Heard yang Anda katakan ditampilkan.
  • Baca string yang dikenali kembali ke pengguna di layar Heard yang Anda ucapkan .

Berikut adalah contoh alur pengenalan bawaan untuk pengenal ucapan yang menggunakan batasan yang ditentukan SRGS. Dalam contoh ini, pengenalan ucapan berhasil.

layar pengenalan awal untuk batasan berdasarkan file tata bahasa sgrs

layar pengenalan menengah untuk batasan berdasarkan file tata bahasa sgrs

layar pengenalan akhir untuk batasan berdasarkan file tata bahasa sgrs

Selalu mendengarkan

Aplikasi Anda dapat mendengarkan dan mengenali input ucapan segera setelah aplikasi diluncurkan, tanpa intervensi pengguna.

Anda harus menyesuaikan batasan tata bahasa berdasarkan konteks aplikasi. Ini membuat pengalaman pengenalan ucapan sangat ditargetkan dan relevan dengan tugas saat ini, dan meminimalkan kesalahan.

"Apa yang bisa kukatakan?"

Ketika input ucapan diaktifkan, penting untuk membantu pengguna menemukan apa yang sebenarnya dapat dipahami dan tindakan apa yang dapat dilakukan.

Jika pengenalan ucapan diaktifkan pengguna, pertimbangkan untuk menggunakan bilah perintah atau perintah menu untuk menampilkan semua kata dan frasa yang didukung dalam konteks saat ini.

Jika pengenalan ucapan selalu aktif, pertimbangkan untuk menambahkan frasa "Apa yang bisa saya katakan?" ke setiap halaman. Ketika pengguna mengatakan frasa ini, tampilkan semua kata dan frasa yang didukung dalam konteks saat ini. Menggunakan frasa ini menyediakan cara yang konsisten bagi pengguna untuk menemukan kemampuan ucapan di seluruh sistem.

Kegagalan pengenalan

Pengenalan ucapan akan gagal. Kegagalan terjadi ketika kualitas audio buruk, ketika hanya bagian dari frasa yang dikenali, atau ketika tidak ada input yang terdeteksi.

Tangani kegagalan dengan baik, bantu pengguna memahami mengapa pengenalan gagal, dan pulih.

Aplikasi Anda harus memberi tahu pengguna bahwa mereka tidak dipahami dan bahwa mereka perlu mencoba lagi.

Pertimbangkan untuk memberikan contoh satu atau beberapa frasa yang didukung. Pengguna kemungkinan akan mengulangi frasa yang disarankan, yang meningkatkan keberhasilan pengenalan.

Anda harus menampilkan daftar potensi kecocokan untuk dipilih pengguna. Ini bisa jauh lebih efisien daripada melalui proses pengenalan lagi.

Anda harus selalu mendukung jenis input alternatif, yang sangat membantu untuk menangani kegagalan pengenalan berulang. Misalnya, Anda dapat menyarankan agar pengguna mencoba menggunakan keyboard, atau menggunakan sentuhan atau mouse untuk memilih dari daftar potensi kecocokan.

Gunakan pengalaman pengenalan ucapan bawaan karena menyertakan layar yang memberi tahu pengguna bahwa pengenalan tidak berhasil dan memungkinkan pengguna melakukan upaya pengenalan lain.

Dengarkan dan cobalah untuk memperbaiki masalah dalam input audio. Pengenal ucapan dapat mendeteksi masalah dengan kualitas audio yang mungkin berdampak buruk pada akurasi pengenalan ucapan. Anda dapat menggunakan informasi yang diberikan oleh pengenal ucapan untuk memberi tahu pengguna tentang masalah ini dan membiarkan mereka mengambil tindakan korektif, jika memungkinkan. Misalnya, jika pengaturan volume pada mikrofon terlalu rendah, Anda dapat meminta pengguna untuk berbicara lebih keras atau menyalakan volume.

Batasan

Batasan, atau tata bahasa, menentukan kata dan frasa lisan yang dapat dicocokkan oleh pengenal ucapan. Anda dapat menentukan salah satu tata bahasa layanan web yang telah ditentukan sebelumnya atau Anda dapat membuat tata bahasa kustom yang diinstal dengan aplikasi Anda.

Tata bahasa yang telah ditentukan sebelumnya

Dikte dan tata bahasa pencarian web yang telah ditentukan sebelumnya memberikan pengenalan ucapan untuk aplikasi Anda tanpa mengharuskan Anda menulis tata bahasa. Saat menggunakan tata bahasa ini, pengenalan ucapan dilakukan oleh layanan web jarak jauh dan hasilnya dikembalikan ke perangkat

  • Tata bahasa dikte teks bebas default dapat mengenali sebagian besar kata dan frasa yang dapat dikatakan pengguna dalam bahasa tertentu, dan dioptimalkan untuk mengenali frasa pendek. Dikte teks bebas berguna ketika Anda tidak ingin membatasi jenis hal yang dapat dikatakan pengguna. Penggunaan umum termasuk membuat catatan atau mendikte konten untuk pesan.
  • Tata bahasa pencarian web, seperti tata bahasa dikte, berisi sejumlah besar kata dan frasa yang mungkin dikatakan pengguna. Namun, dioptimalkan untuk mengenali istilah yang biasanya digunakan orang saat mencari di web.

Catatan

Karena dikte dan tata bahasa pencarian web yang telah ditentukan sebelumnya bisa besar, dan karena online (bukan pada perangkat), performa mungkin tidak secepat tata bahasa kustom yang diinstal pada perangkat.

Tata bahasa yang telah ditentukan sebelumnya ini dapat digunakan untuk mengenali hingga 10 detik input ucapan dan tidak memerlukan upaya penulisan di pihak Anda. Namun, mereka memerlukan koneksi ke jaringan.

Tata bahasa kustom

Tata bahasa kustom dirancang dan ditulis oleh Anda dan diinstal dengan aplikasi Anda. Pengenalan ucapan menggunakan batasan kustom dilakukan pada perangkat.

  • Batasan daftar terprogram memberikan pendekatan ringan untuk membuat tata bahasa sederhana menggunakan daftar kata atau frasa. Batasan daftar berfungsi dengan baik untuk mengenali frasa pendek dan berbeda. Secara eksplisit menentukan semua kata dalam tata bahasa juga meningkatkan akurasi pengenalan, karena mesin pengenalan ucapan hanya boleh memproses ucapan untuk mengonfirmasi kecocokan. Daftar ini juga dapat diperbarui secara terprogram.

  • Tata bahasa SRGS adalah dokumen statis yang, tidak seperti batasan daftar terprogram, menggunakan format XML yang ditentukan oleh SRGS Versi 1.0. Tata bahasa SRGS memberikan kontrol terbesar atas pengalaman pengenalan ucapan dengan memungkinkan Anda menangkap beberapa arti semantik dalam satu pengenalan.

    Berikut adalah beberapa tips untuk menulis tata bahasa SRGS:

    • Jaga agar setiap tata bahasa tetap kecil. Tata bahasa yang berisi lebih sedikit frasa cenderung memberikan pengenalan yang lebih akurat daripada tata bahasa yang lebih besar yang berisi banyak frasa. Lebih baik memiliki beberapa tata bahasa yang lebih kecil untuk skenario tertentu daripada memiliki satu tata bahasa untuk seluruh aplikasi Anda.
    • Beri tahu pengguna apa yang harus dikatakan untuk setiap konteks aplikasi dan aktifkan dan nonaktifkan tata bahasa sesuai kebutuhan.
    • Rancang setiap tata bahasa sehingga pengguna dapat berbicara perintah dengan berbagai cara. Misalnya, Anda dapat menggunakan aturan SAMPAH untuk mencocokkan input ucapan yang tidak ditentukan tata bahasa Anda. Ini memungkinkan pengguna mengucapkan kata-kata tambahan yang tidak memiliki arti untuk aplikasi Anda. Misalnya, "beri saya", "dan", "uh", "mungkin", dan sebagainya.
    • Gunakan elemen sapi:subset untuk membantu mencocokkan input ucapan. Ini adalah ekstensi Microsoft ke spesifikasi SRGS untuk membantu mencocokkan frasa parsial.
    • Cobalah untuk menghindari menentukan frasa dalam tata bahasa Anda yang hanya berisi satu suku kata. Pengenalan cenderung lebih akurat untuk frasa yang berisi dua suku kata atau lebih.
    • Hindari menggunakan frasa yang terdengar mirip. Misalnya, frasa seperti "hello", "bellow", dan "fellow" dapat membingungkan mesin pengenalan dan menghasilkan akurasi pengenalan yang buruk.

Catatan

Jenis jenis batasan mana yang Anda gunakan tergantung pada kompleksitas pengalaman pengenalan yang ingin Anda buat. Apa pun bisa menjadi pilihan terbaik untuk tugas pengenalan tertentu, dan Anda mungkin menemukan penggunaan untuk semua jenis batasan di aplikasi Anda.

Pengucapan kustom

Jika aplikasi Anda berisi kosakata khusus dengan kata-kata yang tidak biasa atau fiksi, atau kata-kata dengan pengucapan yang tidak biasa, Anda mungkin dapat meningkatkan performa pengenalan untuk kata-kata tersebut dengan menentukan pengucapan kustom.

Untuk daftar kecil kata dan frasa, atau daftar kata dan frasa yang jarang digunakan, Anda dapat membuat pengucapan kustom dalam tata bahasa SRGS. Lihat Elemen token untuk informasi selengkapnya.

Untuk daftar kata dan frasa yang lebih besar, atau kata dan frasa yang sering digunakan, Anda dapat membuat dokumen leksikon pengucapan terpisah. Lihat Tentang Leksikon dan Alfabet Fonetik untuk informasi selengkapnya.

Pengujian

Uji akurasi pengenalan ucapan dan antarmuka pengguna pendukung apa pun dengan audiens target aplikasi Anda. Ini adalah cara terbaik untuk menentukan efektivitas pengalaman interaksi ucapan di aplikasi Anda. Misalnya, apakah pengguna mendapatkan hasil pengenalan yang buruk karena aplikasi Anda tidak mendengarkan frasa umum?

Ubah tata bahasa untuk mendukung frasa ini atau berikan daftar frasa yang didukung kepada pengguna. Jika Anda sudah memberikan daftar frasa yang didukung, pastikan frasa tersebut mudah ditemukan.

Teks ke ucapan (TTS)

TTS menghasilkan output ucapan dari teks biasa atau SSML.

Cobalah untuk merancang perintah yang sopan dan menggembirakan.

Pertimbangkan apakah Anda harus membaca string teks yang panjang. Ini adalah satu hal untuk mendengarkan pesan teks, tetapi yang lain untuk mendengarkan daftar panjang hasil pencarian yang sulit diingat.

Anda harus menyediakan kontrol media untuk memungkinkan pengguna menjeda, atau menghentikan, TTS.

Anda harus mendengarkan semua string TTS untuk memastikan string tersebut cerdas dan terdengar alami.

  • Merangkai urutan kata yang tidak biasa atau mengucapkan nomor bagian atau tanda baca dapat menyebabkan frasa menjadi tidak memenuhi syarat.
  • Ucapan dapat terdengar tidak wajar ketika prosodi atau irama berbeda dari bagaimana penutur asli akan mengucapkan frasa.

Kedua masalah dapat diatasi dengan menggunakan SSML alih-alih teks biasa sebagai input ke penyintesis ucapan. Untuk informasi selengkapnya tentang SSML, lihat Menggunakan SSML untuk MengontrolReferensi Bahasa Markup Ucapan dan Sintesis Ucapan.

Topik Deskripsi
Pengenalan ucapan Gunakan pengenalan ucapan untuk memberikan input, menentukan tindakan atau perintah, dan menyelesaikan tugas.
Tentukan bahasa pengenal ucapan Pelajari cara memilih bahasa yang diinstal untuk digunakan untuk pengenalan ucapan.
Menentukan batasan pengenalan kustom Pelajari cara menentukan dan menggunakan batasan kustom untuk pengenalan ucapan.
Aktifkan dikte berkelanjutan Pelajari cara menangkap dan mengenali input ucapan dikte berkelanjutan bentuk panjang.
Mengelola masalah dengan input audio Pelajari cara mengelola masalah dengan akurasi pengenalan ucapan yang disebabkan oleh kualitas input audio.
Mengatur batas waktu pengenalan ucapan Atur berapa lama pengenal ucapan mengabaikan keheningan atau suara yang tidak dikenali (babble) dan terus mendengarkan input ucapan.

 Sampel