Bagikan melalui


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. Ini mendukung 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.

Speech synthesis/Text to Speech (TTS) TTS menggunakan mesin sintesis ucapan (suara) untuk mengonversi string teks menjadi kata yang diucapkan. String input dapat berupa teks dasar, tidak beradornasi, atau Speech Synthesis Markup Language (SSML) yang lebih kompleks. SSML menyediakan cara standar untuk mengontrol karakteristik output ucapan, seperti pengucapan, volume, nada, laju atau kecepatan, dan penekanan.

Desain interaksi ucapan

Ketika Anda merancang dan mengimplementasikan ucapan dengan cermat, itu bisa menjadi cara yang efektif, dapat diakses, dan alami bagi orang untuk berinteraksi dengan aplikasi Windows Anda, melengkapi atau bahkan mengganti pengalaman interaksi tradisional berdasarkan mouse, keyboard, pengontrol, atau sentuhan.

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, ajukan pertanyaan berikut kepada diri Anda:

  • Tindakan apa yang dapat dilakukan pengguna melalui ucapan? Bisakah mereka menavigasi antar 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

Input teks dapat berkisar dari input formulir pendek, seperti satu kata atau frasa, hingga input formulir panjang, seperti beberapa frasa, paragraf, atau dikte berkelanjutan. Input formulir pendek biasanya kurang dari 10 detik, sedangkan sesi input bentuk panjang bisa hingga dua menit panjangnya. Input formulir panjang dapat dimulai ulang tanpa intervensi pengguna untuk memberikan kesan dikte berkelanjutan.

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

Berikan umpan balik pengakuan berkelanjutan untuk meminimalkan kurangnya tanggapan yang terlihat saat pengenalan berlangsung.

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

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

Tentukan durasi waktu tidak ada masukan suara yang menandakan pengenalan sudah selesai. Jangan memulai ulang pengenalan secara otomatis setelah periode waktu ini, karena biasanya menunjukkan pengguna berhenti terlibat dengan aplikasi Anda.

Dalam beberapa kasus, koneksi jaringan mungkin diperlukan untuk mendukung pengenalan ucapan. Jika tidak tersedia, nonaktifkan semua UI pengenalan berkelanjutan dan hentikan sesi pengenalan.

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. Pendekatan ini mengurangi potensi respons yang perlu diproses aplikasi Anda dan juga menghilangkan kebingungan bagi pengguna.

Cobalah untuk membingkai pertanyaan Anda untuk memunculkan respons spesifik mungkin. Misalnya, "Apa yang ingin Anda lakukan hari ini?" sangat terbuka dan 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.

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

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

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

Jika pengguna memulai pengenalan, pertimbangkan untuk menggunakan pengalaman pengenalan bawaan untuk konsistensi. Pengalaman bawaan mencakup layar yang dapat disesuaikan dengan petunjuk, contoh, klarifikasi, konfirmasi, dan pesan kesalahan.

Layar bervariasi tergantung pada batasan yang ditentukan:

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

    • Jendela Mendengarkan
    • Tampilan Thinking.
    • Layar Heard You Say atau layar kesalahan.
  • Daftar kata atau frasa, atau file tata bahasa SRGS

    • Jendela Mendengarkan
    • Layar Apakah Anda mengucapkan ini, seandainya ucapan pengguna dapat ditafsirkan sebagai lebih dari satu pilihan.
    • Layar Heard You Say atau layar kesalahan.

Di layar Mendengarkan , Anda dapat:

  • Kustomisasi teks judul.
  • Berikan contoh teks tentang apa yang dapat dikatakan pengguna.
  • Tentukan apakah layar Mendengar yang Anda ucapkan ditayangkan.
  • Baca kembali string yang dikenali kepada pengguna di layar Heard you say .

Gambar berikut menunjukkan contoh alur pengenalan bawaan untuk pengenal ucapan yang menggunakan batasan yang ditentukan SRGS. Dalam contoh ini, pengenalan ucapan berhasil.

layar pengenalan awal untuk kendala berdasarkan berkas tata bahasa sgrs

layar pengenalan menengah untuk pembatasan 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.

Sesuaikan batasan tata bahasa berdasarkan konteks aplikasi. Pendekatan ini membuat pengalaman pengenalan ucapan sangat ditargetkan dan relevan dengan tugas saat ini, dan meminimalkan kesalahan.

"Apa yang bisa kukatakan?"

Saat Anda mengaktifkan input ucapan, bantu pengguna menemukan apa yang dapat dipahami aplikasi dan tindakan apa yang dapat dilakukannya.

Jika pengguna mengaktifkan pengenalan ucapan, 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 dapat gagal. Kegagalan terjadi ketika kualitas audio buruk, ketika pengenal hanya mendeteksi bagian dari frasa, atau ketika pengenal tidak mendeteksi input sama sekali.

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

Aplikasi Anda harus memberi tahu pengguna bahwa pengenal tidak memahaminya 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.

Tampilkan daftar potensi kecocokan untuk dipilih pengguna. Pendekatan ini bisa jauh lebih efisien daripada melalui proses pengenalan lagi.

Selalu dukung 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 disediakan oleh pengenal ucapan untuk memberi tahu pengguna tentang masalah 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.

Constraints

Batasan, atau tata bahasa, menentukan kata dan frasa lisan yang dapat dicocokkan dengan pengenal ucapan. Anda dapat menentukan salah satu tata bahasa layanan web yang telah ditentukan sebelumnya atau Anda dapat membuat tata bahasa kustom yang Anda instal 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 membuat tata bahasa. Saat Anda menggunakan tata bahasa ini, layanan web jarak jauh melakukan pengenalan ucapan dan mengembalikan hasilnya ke perangkat.

  • Tata bahasa dikte teks bebas default mengenali sebagian besar kata dan frasa yang dapat dikatakan pengguna dalam bahasa tertentu. Ini dioptimalkan untuk mengenali frasa pendek. Gunakan dikte teks bebas saat 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.

Nota

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

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

Tata bahasa kustom

Desain dan tulis tata bahasa kustom, dan instal dengan aplikasi Anda. Perangkat melakukan pengenalan ucapan dengan menggunakan batasan kustom.

  • Batasan daftar terprogram menyediakan pendekatan ringan untuk membuat tata bahasa sederhana dengan 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. Anda juga dapat memperbarui daftar 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 mengaktifkan dan menonaktifkan tata bahasa sesuai kebutuhan.
    • Rancang setiap tata bahasa sehingga pengguna dapat berbicara perintah dengan berbagai cara. Misalnya, gunakan aturan GARBAGE untuk mencocokkan input ucapan yang tidak ditentukan oleh tata bahasa yang Anda gunakan. Aturan ini memungkinkan pengguna mengucapkan kata tambahan yang tidak memiliki arti untuk aplikasi Anda. Misalnya, "beri saya", "dan", "ehm", "mungkin", dan sebagainya.
    • Gunakan elemen sapi:subset untuk membantu mencocokkan input ucapan. Elemen ini adalah ekstensi Microsoft untuk 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.

Nota

Jenis batasan mana yang Anda gunakan tergantung pada kompleksitas pengalaman pengenalan yang ingin Anda buat. Jenis 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, buat 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, buat dokumen leksikon pengucapan terpisah. Lihat Tentang Leksikon dan Alfabet Fonetik untuk informasi selengkapnya.

Testing

Menguji akurasi pengenalan ucapan dan antarmuka pengguna pendukung apa pun dengan audiens target aplikasi Anda. Pendekatan ini membantu Anda menentukan seberapa efektif 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 pengguna dapat dengan mudah menemukannya.

Teks ke Suara (TTS)

TTS menghasilkan output ucapan dari teks biasa atau SSML.

Cobalah untuk merancang prompt yang sopan dan menggembirakan.

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

Berikan kontrol media untuk memungkinkan pengguna menjeda atau menghentikan TTS.

Dengarkan semua string TTS untuk memastikan mereka mudah dipahami dan terdengar alami.

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

Anda dapat mengatasi kedua masalah dengan menggunakan SSML alih-alih teks biasa sebagai input ke penyintesis ucapan. Untuk informasi selengkapnya tentang SSML, lihat Menggunakan SSML untuk Mengontrol Sintesis Ucapan dan Referensi Bahasa Markup Sintesis Ucapan.

Samples