Tutorial: Aktifkan suara bot Anda

Anda dapat menggunakan Azure AI Speech untuk mengaktifkan suara bot obrolan.

Dalam tutorial ini, Anda menggunakan Microsoft Bot Framework untuk membuat bot yang merespons apa yang Anda katakan. Anda menyebarkan bot Anda ke Azure dan mendaftarkannya dengan saluran Bot Framework Direct Line Speech. Kemudian, Anda mengonfigurasi contoh aplikasi klien untuk Windows yang memungkinkan Anda berbicara dengan bot Anda dan mendengarnya berbicara kembali kepada Anda.

Untuk menyelesaikan tutorial, Anda tidak memerlukan pengalaman atau keakraban yang mendalam dengan Azure, bot Kerangka kerja Bot, atau Direct Line Speech.

Bot obrolan berkemampuan suara yang Anda buat dalam tutorial ini mengikuti langkah-langkah berikut:

  1. Contoh aplikasi klien dikonfigurasi untuk terhubung ke saluran Direct Line Speech dan Echo Bot.
  2. Saat pengguna menekan tombol, audio suara mengalir dari mikrofon. Atau audio terus direkam saat kata kunci kustom digunakan.
  3. Jika kata kunci kustom digunakan, deteksi kata kunci terjadi di perangkat lokal, menjaga streaming audio ke awan.
  4. Aplikasi klien sampel menggunakan Speech SDK untuk menyambungkan ke saluran Direct Line Speech dan mengalirkan audio.
  5. Secara opsional, verifikasi kata kunci akurasi yang lebih tinggi terjadi pada layanan.
  6. Audio diteruskan ke layanan pengenalan ucapan dan ditranskripsikan ke teks.
  7. Teks yang dikenali diteruskan ke Echo Bot sebagai Aktivitas Bot Framework.
  8. Teks respons diubah menjadi audio oleh layanan teks ke ucapan, dan dialirkan kembali ke aplikasi klien untuk pemutaran.

Diagram that illustrates the flow of the Direct Line Speech channel.

Catatan

Langkah-langkah dalam tutorial ini tidak memerlukan layanan berbayar. Sebagai pengguna Azure baru, Anda akan dapat menggunakan kredit dari langganan coba gratis Azure dan tingkat Layanan Azure Cognitive Service untuk Ucapan gratis untuk menyelesaikan tutorial ini.

Inilah yang dibahas dalam tutorial ini:

  • Membuat sumber daya Azure baru.
  • Bangun, uji, dan sebarkan sampel Echo Bot ke Azure App Service.
  • Daftarkan bot Anda dengan saluran Direct Line Speech.
  • Bangun dan jalankan Windows Voice Assistant Client untuk berinteraksi dengan echo bot Anda.
  • Tambahkan aktivasi kata kunci kustom.
  • Pelajari cara mengubah bahasa pidato yang dikenali dan diucapkan.

Prasyarat

Inilah yang Anda butuhkan untuk menyelesaikan tutorial ini:

Buat grup sumber daya

Aplikasi klien yang Anda buat dalam tutorial ini menggunakan beberapa layanan Azure. Untuk mengurangi waktu pulang pergi untuk respons dari bot, Anda ingin memastikan bahwa layanan ini berada di wilayah Azure yang sama.

Bagian ini memandu Anda membuat grup sumber daya di wilayah AS Barat. Anda menggunakan grup sumber daya ini saat membuat sumber daya individual untuk Kerangka Kerja Bot, saluran Direct Line Speech, dan layanan Ucapan.

  1. Buka halaman portal Azure untuk membuat grup sumber daya.
  2. Berikan informasi berikut:
    • Atur Langganan ke Uji Coba Gratis. (Anda juga dapat menggunakan langganan yang sudah ada.)
    • Masukkan nama untuk Grup Sumber Daya. Kami merekomendasikan SpeechEchoBotTutorial-ResourceGroup.
    • Dari menu drop down Wilayah, pilih US Barat.
  3. Pilih Tinjau dan buat. Anda akan melihat banner yang bertuliskan Lulus validasi.
  4. Pilih Buat. Proses ini mungkin membutuhkan beberapa menit untuk grup sumber daya.
  5. Seperti halnya sumber daya yang Anda buat nanti dalam tutorial ini, ada baiknya untuk menyematkan grup sumber daya ini ke dasbor Anda untuk akses yang mudah. Jika Anda ingin menyematkan grup sumber daya ini, pilih ikon pin di samping nama.

Pilih wilayah Azure

Pastikan Anda menggunakan wilayah Azure yang didukung. Saluran Direct Line Speech menggunakan layanan teks ke ucapan, yang memiliki suara neural dan standar. Suara neural digunakan di wilayah Azure ini, dan suara standar (berhenti) digunakan di wilayah Azure ini.

Untuk informasi selengkapnya tentang wilayah, lihat Lokasi Azure.

Membuat sumber daya

Sekarang Setelah Anda memiliki grup sumber daya di wilayah yang didukung, langkah selanjutnya adalah membuat sumber daya individual untuk setiap layanan yang akan Anda gunakan dalam tutorial ini.

Membuat sumber daya layanan Ucapan

  1. Buka halaman portal Azure untuk membuat sumber daya layanan Ucapan.
  2. Berikan informasi berikut:
    • Untuk Nama, kami merekomendasikan SpeechEchoBotTutorial-Speech sebagai nama sumber daya Anda.
    • Untuk Langganan,pastikan Coba Gratis dipilih.
    • Untuk Lokasi, pilih US Barat.
    • Untuk Tingkat harga, pilih F0. Ini adalah tingkat gratis.
    • Untuk Grup sumber daya, pilih SpeechEchoBotTutorial-ResourceGroup.
  3. Setelah Anda memasukkan semua informasi yang diperlukan, pilih Buat. Proses untuk membuat mesin virtual ini mungkin membutuhkan beberapa menit.
  4. Nanti dalam tutorial ini, Anda memerlukan kunci langganan untuk layanan ini. Anda dapat mengakses kunci ini kapan saja dari area Gambaran Umum Anda (di bawah kunci Mengelola) atau area Kunci.

Pada titik ini, periksa apakah grup sumber daya Anda(SpeechEchoBotTutorial-ResourceGroup)memiliki Sumber Daya Azure Cognitive Service untuk Ucapan:

Nama Jenis Lokasi
SpeechEchoBotTutorial-Speech Ucapan US Barat

Membuat paket Azure App Service

Paket App Service menentukan satu set sumber daya komputasi untuk dijalankan aplikasi web.

  1. Buka halaman portal Azure untuk membuat rencana Azure App Service.
  2. Berikan informasi berikut:
    • Atur Langganan ke Uji Coba Gratis. (Anda juga dapat menggunakan langganan yang sudah ada.)
    • Untuk Grup sumber daya, pilih SpeechEchoBotTutorial-ResourceGroup.
    • Untuk Nama, kami merekomendasikan SpeechEchoBotTutorial-AppServicePlan sebagai nama paket Anda.
    • Untuk Sistem Operasi, pilih Windows.
    • Untuk Wilayah, pilih US Barat.
    • Untuk Tingkat Harga,pastikan pilihS1 Standar. Ini harus menjadi nilai default. Jika tida, set Sistem Operasi ke Windows.
  3. Pilih Tinjau dan buat. Anda akan melihat banner yang bertuliskan Lulus validasi.
  4. Pilih Buat. Proses untuk membuat mesin virtual ini mungkin membutuhkan beberapa menit.

Pada titik ini, periksa apakah grup sumber daya Anda(SpeechEchoBotTutorial-ResourceGroup)memiliki Sumber Daya ucapan:

Nama Jenis Lokasi
SpeechEchoBotTutorial-AppServicePlan Paket App Service US Barat
SpeechEchoBotTutorial-Speech Layanan Azure AI US Barat

Bangun echo bot

Sekarang setelah Anda membuat sumber daya, mulailah dengan sampel bot echo, yang menggemakan teks yang Anda masukkan sebagai responsnya. Kode sampel sudah dikonfigurasi untuk bekerja dengan saluran Direct Line Speech, yang Anda sambungkan setelah Anda menyebarkan bot ke Azure.

Catatan

Instruksi yang mengikuti, serta informasi tambahan tentang Echo Bot tersedia dalam sampel README on GitHub.

Jalankan sampel bot pada mesin Anda

  1. Klon sampel repositori:

    git clone https://github.com/Microsoft/botbuilder-samples.git
    
  2. Buka Visual Studio.

  3. Dari bar alat, pilih File>Buka>Proyek/Solusi. Kemudian buka solusi proyek:

    samples\csharp_dotnetcore\02.echo-bot\EchoBot.sln
    
  4. Setelah proyek dimuat, tekan F5 untuk membangun dan menjalankan proyek.

    Di browser yang terbuka, Anda akan melihat layar yang mirip dengan yang satu ini:

    Screenshot that shows the EchoBot page with the message that your bot is ready.

Uji sampel bot dengan Emulator Bot Framework

Bot Framework Emulator adalah aplikasi desktop yang memungkinkan pengembang bot menguji dan men-debug bot secara lokal (atau dari jarak jauh melalui terowongan). Emulator menerima teks yang diketik sebagai input (bukan suara). Bot juga merespons dengan teks.

Ikuti langkah-langkah ini untuk menggunakan Bot Framework Emulator untuk menguji Echo Bot yang berjalan secara lokal, dengan input teks dan output teks. Setelah menyebarkan bot ke Azure, kami akan mengujinya dengan input suara dan output suara.

  1. Pasang Bot Framework Emulator versi 4.3.0 atau yang lebih tinggi.

  2. Buka Bot Framework Emulator, dan kemudian pilih File>Buka Bot.

  3. Masukkan URL untuk bot Anda. Misalnya:

    http://localhost:3978/api/messages
    
  4. Pilih Sambungkan.

  5. Bot akan menyambut Anda dengan pesan "Halo dan selamat datang!" Ketik pesan teks apa pun dan konfirmasikan Anda mendapatkan respons dari bot.

    Seperti inilah pertukaran komunikasi dengan bot echo: Screenshot shows the Bot Framework Emulator.

Sebarkan bot Anda ke Azure App Service

Langkah selanjutnya adalah menyebarkan echo bot ke Azure. Ada beberapa cara untuk menyebarkan bot, termasuk Azure CLI dan templat penyebaran. Tutorial ini berfokus pada penerbitan langsung dari Visual Studio.

Catatan

Jika Publikasikan tidak muncul saat Anda melakukan langkah-langkah berikut, gunakan Penginstal Visual Studio untuk menambahkan beban kerja pengembangan ASP.NET dan web.

  1. Dari Visual Studio, buka echo bot yang telah dikonfigurasi untuk digunakan dengan saluran Direct Line Speech:

    samples\csharp_dotnetcore\02.echo-bot\EchoBot.sln
    
  2. Di Penjelajah Solusi, Klik kanan EchoBot proyek dan pilih Terbitkan.

  3. Di jendela Terbitkan yang terbuka:

    1. Pilih Azure>Berikutnya.
    2. Pilih Azure App Service (Windows)>Berikutnya.
    3. Pilih Buat Azure App Service baru dengan tanda plus hijau.
  4. Saat jendela Azure App Service (Windows) muncul:

    • Klik Tambahkan akun, dan masuk dengan informasi masuk akun Azure Anda. Jika Anda sudah masuk, pilih akun yang Anda inginkan dari daftar drop-down.

    • Untuk Nama, pilih nama unik global untuk bot Anda. Nama ini digunakan untuk membuat URL bot unik.

      Nama default yang menyertakan tanggal dan waktu muncul di kotak (misalnya, EchoBot20190805125647). Anda dapat menggunakan nama default untuk tutorial ini.

    • Untuk Langganan, pilih Coba Gratis.

    • Untuk Grup Sumber Daya, pilih SpeechEchoBotTutorial-ResourceGroup.

    • Untuk Paket Hosting,pilih SpeechEchoBotTutorial-AppServicePlan.

  5. Pilih Buat. Pada layar wizard akhir, klik Selesai.

  6. Pilih Terbitkan. Visual Studio menyebarkan bot ke Azure.

    Anda akan melihat pesan sukses di jendela output Visual Studio yang terlihat seperti ini:

    Publish Succeeded.
    Web App was published successfully https://EchoBot20190805125647.azurewebsites.net/
    

    Browser default Anda harus membuka dan menampilkan halaman yang tertulis: "Bot Anda sudah siap!"

Pada titik ini, periksa Grup Sumber Daya (SpeechEchoBotTutorial-ResourceGroup) Anda di portal Microsoft Azure. Konfirmasikan bahwa itu berisi tiga sumber daya ini:

Nama Jenis Lokasi
EchoBot20190805125647 App Service US Barat
SpeechEchoBotTutorial-AppServicePlan Paket App Service US Barat
SpeechEchoBotTutorial-Speech Layanan Azure AI US Barat

Fungsikan soket web

Anda harus membuat perubahan konfigurasi kecil sehingga bot Anda dapat berkomunikasi dengan saluran Direct Line Speech menggunakan soket web. Ikuti langkah-langkah ini untuk mengaktifkan soket web:

  1. Buka portal Azure, dan pilih sumber daya App Service Anda. Sumber daya harus dinamai mirip dengan EchoBot20190805125647 (nama aplikasi unik Anda).
  2. Di panel kiri, di bawah Pengaturan, pilih Konfigurasi.
  3. Pilih tab Pengaturan umum.
  4. Temukan sakelar untuk Soket web dan atur ke Aktif.
  5. Pilih Simpan.

Tip

Anda dapat menggunakan kontrol di bagian atas halaman Azure App Service untuk menghentikan atau memulai ulang layanan. Kemampuan ini bisa berguna saat Anda memecahkan masalah.

Buat pendaftaran saluran

Setelah Anda membuat sumber daya Azure App Service untuk menghosting bot Anda, langkah selanjutnya adalah membuat pendaftaran saluran. Membuat pendaftaran saluran adalah prasyarat untuk mendaftarkan bot Anda dengan saluran Bot Framework, termasuk saluran Direct Line Speech. Jika Anda ingin mempelajari selengkapnya tentang cara bot menggunakan saluran, lihat Sambungkan bot ke saluran.

  1. Buka halaman portal Azure untuk membuat bot Azure.
  2. Berikan informasi berikut:
    • Untuk handle Bot, masukkan SpeechEchoBotTutorial-BotRegistration-####. Ganti #### dengan banyak pilihan Anda.

      Catatan

      Perhatikan bahwa handle Bot harus unik secara global. Jika Anda memasukkan handle Bot tetapi mendapatkan pesan kesalahan "ID bot yang diminta tidak tersedia," pilih nomor yang berbeda. Contoh berikut menggunakan 8726.

    • Untuk Langganan, pilih Coba Gratis.

    • Untuk Grup sumber daya, pilih SpeechEchoBotTutorial-ResourceGroup.

    • Untuk Lokasi, pilih US Barat.

    • Untuk Tingkat harga, pilih F0.

    • Abaikan Buat otomatis ID Aplikasi dan kata sandi.

  3. Di bagian bawah panel Azure Bot, pilih Buat.
  4. Setelah Anda membuat sumber daya, buka sumber daya SpeechEchoBotTutorial-BotRegistration-#### di portal Azure.
  5. Dari area Pengaturan, pilih Konfigurasi.
  6. Untuk Titik akhir olahpesan, masukkan URL untuk aplikasi web Anda dengan jalur append /api/messages. Misalnya, jika nama aplikasi yang unik secara global Anda adalah EchoBot20190805125647, titik akhir olahpesan Anda adalah https://EchoBot20190805125647.azurewebsites.net/api/messages/.

Pada titik ini, periksa Grup Sumber Daya (SpeechEchoBotTutorial-ResourceGroup) Anda di portal Microsoft Azure. Sekarang tampilkan setidaknya empat sumber daya:

Nama Jenis Lokasi
EchoBot20190805125647 App Service US Barat
SpeechEchoBotTutorial-AppServicePlan Paket App Service US Barat
SpeechEchoBotTutorial-BotRegistration-8726 Layanan bot Global
SpeechEchoBotTutorial-Speech Layanan Azure AI US Barat

Penting

Sumber daya Azure AI Bot Service menunjukkan wilayah Global, meskipun Anda memilih US Barat. Ini diharapkan.

Opsional: Uji di obrolan web

Halaman Azure Bot memiliki opsi Uji di Web Chat di bagian Pengaturan. Ini tidak berfungsi secara default dengan bot Anda karena obrolan web perlu mengautentikasi terhadap bot Anda.

Jika Anda ingin menguji bot Anda yang tersebar dengan masukan teks, gunakan langkah-langkah berikut. Langkah-langkah ini bersifat opsional dan tidak diperlukan bagi Anda untuk melanjutkan tutorial.

  1. Di portal Azure, temukan dan buka sumber daya EchoBotTutorial-BotRegistration-####. Anda.

  2. Dari area Pengaturan, pilih Konfigurasi. Salin nilai di bawah ID Aplikasi Microsoft.

  3. Buka solusi Visual Studio EchoBot. Di Penjelajah Solusi, temukan dan pilih dua kali appsettings.json.

  4. Ganti string kosong di samping MicrosoftAppId dalam file JSON dengan nilai ID yang disalin.

  5. Kembali ke portal Microsoft Azure. Di area Pengaturan area, pilih Konfigurasi. Kemudian pilih Kelola di samping ID Aplikasi Microsoft.

  6. Pilih Rahasia klien baru. Tambahkan deskripsi (misalnya, web chat) dan pilih Tambahkan. Salin rahasia baru.

  7. Ganti string kosong di samping MicrosoftAppPassword dalam file JSON dengan nilai rahasia yang disalin.

  8. Simpan file JSON. Hasilnya akan terlihat seperti ini:

    {
      "MicrosoftAppId": "YourAppId",
      "MicrosoftAppPassword": "YourAppPassword"
    }
    
  9. Terbitkan ulang aplikasi: klik kanan proyek EchoBot di Penjelajah Solusi Visual Studio, pilih Terbitkan, lalu klik tombol Terbitkan.

Daftarkan saluran Direct Line Speech

Inilah saatnya untuk mendaftarkan bot Anda ke saluran Direct Line Speech. Saluran ini membuat koneksi antara bot dan aplikasi klien yang dikompilasi dengan Speech SDK.

  1. Di portal Azure, temukan dan buka sumber daya SpeechEchoBotTutorial-BotRegistration-####. Anda.

  2. Dari area Pengaturan, pilih Saluran lalu ambil langkah-langkah berikut:

    1. Di bawah Saluran lainnya, klik Direct Line Speech.
    2. Tinjau teks di halaman berjudul Konfigurasikan Direct Line Speech, lalu perluas menu drop-down Akun layanan kognitif.
    3. Pilih sumber daya Azure Cognitive Service untuk Ucapan yang Anda buat sebelumnya (misalnya, SpeechEchoBotTutorial-Speech) dari menu untuk mengaitkan bot Anda ke kunci langganan ucapan Anda.
    4. Abaikan bidang opsional lainnya.
    5. Pilih Simpan.
  3. Dari area Pengaturan, pilih Konfigurasi lalu ambil langkah-langkah berikut:

    1. Pilih kotak centang Aktifkan Titik Akhir Streaming. Ini diperlukan untuk membuat protokol komunikasi yang dibangun di atas soket web antara bot dan saluran Direct Line Speech.
    2. Pilih Simpan.

Jika Anda ingin mempelajari lebih lanjut, lihat Sambungkan bot ke Direct Line Speech.

Jalankan Windows Voice Assistant Client

Klien Asisten Windows Voice adalah aplikasi Windows Presentation Foundation (WPF) di C# yang menggunakan Speech SDK untuk mengelola komunikasi dengan bot Anda menggunakan saluran Direct Line Speech. Gunakan untuk berinteraksi dan menguji bot Anda sebelum menulis aplikasi klien khusus. Ini adalah sumber terbuka, sehingga Anda dapat mengunduh yang dapat dieksekusi dan menjalankannya, atau membangunnya sendiri.

Windows Voice Assistant Client memiliki antarmuka pengguna sederhana yang memungkinkan Anda mengonfigurasi koneksi ke bot Anda, melihat percakapan teks, melihat aktivitas Bot Framework dalam format JSON, dan menampilkan kartu adaptif. Ini juga mendukung penggunaan kata kunci kustom. Anda menggunakan klien ini untuk berbicara dengan bot Anda dan menerima respons suara.

Catatan

Pada titik ini, konfirmasikan bahwa mikrofon dan speaker Anda diaktifkan dan berfungsi.

  1. Pergi ke Repositori GitHub untuk Windows Voice Assistant Client.

  2. Ikuti instruksi yang disediakan untuk:

    • Unduh file yang dapat dieksekusi bawaan dalam paket .zip untuk dijalankan
    • Membangun file yang dapat dieksekusi sendiri, dengan mengkloning repositori dan membangun proyek
  3. Luncurkan aplikasi klien VoiceAssistantClient.exe dan konfigurasikan untuk terhubung ke bot Anda, dengan mengikuti instruksi di repositori GitHub.

  4. Pilih Sambungkan kembali dan pastikan Anda melihat pesan "Percakapan baru dimulai - ketik atau tekan tombol mikrofon."

  5. Ayo kita uji. Klik tombol mikrofon, dan ucapkan beberapa kata dalam bahasa Inggris. Teks yang dikenali akan muncul saat Anda berbicara. Ketika Anda selesai berbicara, bot akan membalas dengan suaranya sendiri, mengatakan "echo" diikuti dengan kata-kata yang dikenali.

    Anda juga dapat menggunakan teks untuk berkomunikasi dengan bot. Cukup ketik teks di bilah bawah.

Pemecahan masalah kesalahan di Windows Voice Assistant Client

Jika Anda mendapatkan pesan kesalahan di jendela aplikasi utama, gunakan tabel ini untuk mengidentifikasi dan memecahkan masalah kesalahan:

Pesan Apa yang harus Anda lakukan?
Kesalahan (AuthenticationFailure) : Peningkatan WebSocket gagal dengan kesalahan autentikasi (401). Periksa kunci sumber daya yang benar (atau token otorisasi) dan nama wilayah Pada halaman Pengaturan aplikasi, pastikan Anda memasukkan kunci dan wilayahnya dengan benar.
Kesalahan (ConnectionFailure) : Koneksi ditutup oleh host jarak jauh. Kode kesalahan: 1011. Detail kesalahan: Kami tidak dapat tersambung ke bot sebelum mengirim pesan Pastikan Anda memilih kotak centang Aktifkan Titik Akhir Streaming dan/atau menyalakan soket web.
Pastikan Azure App Service Anda berjalan. Jika sudah, coba mulai ulang.
Kesalahan (ConnectionFailure) : Koneksi ditutup oleh host jarak jauh. Kode kesalahan: 1002. Detail kesalahan: Server menampilkan kode status '503' saat kode status '101' diharapkan Pastikan Anda memilih kotak centang Aktifkan Titik Akhir Streaming kotak dan/atau menyalakan soket web.
Pastikan Azure App Service Anda berjalan. Jika sudah, coba mulai ulang.
Kesalahan (ConnectionFailure) : Koneksi ditutup oleh host jarak jauh. Kode kesalahan: 1011. Detail kesalahan: Kode status respons tidak menunjukkan keberhasilan: 500 (InternalServerError) Bot Anda menentukan suara neural di bidang berbicara dari aktivitas outputnya, tetapi wilayah Azure yang terkait dengan kunci sumber daya Anda tidak mendukung suara saraf. Lihat suara neural dan suara standar.

Jika tindakan dalam tabel tidak mengatasi masalah Anda, lihat Asisten suara: Pertanyaan yang sering diajukan. Jika Anda masih tidak dapat mengatasi masalah setelah mengikuti semua langkah dalam tutorial ini, masukkan masalah baru di halaman GitHub Asisten Suara.

Catatan tentang batas waktu koneksi

Jika Anda terhubung ke bot dan tidak ada aktivitas yang terjadi dalam lima menit terakhir, layanan akan secara otomatis menutup koneksi soket web dengan klien dan dengan bot. Ini memang disengaja. Pesan akan muncul di bilah bawah: "Koneksi aktif habis tetapi siap untuk terhubung kembali sesuai permintaan."

Anda tidak perlu memilih tombol Sambungkan Kembali. Tekan tombol mikrofon dan mulai berbicara, masukkan pesan teks, atau kata kunci (jika salah satu diaktifkan). Sambungan akan otomatis dipublikasikan kembali.

Lihat aktivitas bot

Setiap bot mengirim dan menerima pesan aktivitas. Di Jendela log Windows Voice Assistant Client, Anda akan melihat log tanda waktu dengan setiap aktivitas yang diterima klien dari bot. Anda juga dapat melihat aktivitas tang klien kirim ke bot dengan menggunakan metode DialogServiceConnector.SendActivityAsync. Saat Anda memilih item log, item tersebut akan menampilkan detail aktivitas terkait sebagai JSON.

Berikut adalah contoh JSON dari aktivitas yang diterima klien:

{
    "attachments":[],
    "channelData":{
        "conversationalAiData":{
             "requestInfo":{
                 "interactionId":"8d5cb416-73c3-476b-95fd-9358cbfaebfa",
                 "version":"0.2"
             }
         }
    },
    "channelId":"directlinespeech",
    "conversation":{
        "id":"129ebffe-772b-47f0-9812-7c5bfd4aca79",
        "isGroup":false
    },
    "entities":[],
    "from":{
        "id":"SpeechEchoBotTutorial-BotRegistration-8726"
    },
    "id":"89841b4d-46ce-42de-9960-4fe4070c70cc",
    "inputHint":"acceptingInput",
    "recipient":{
        "id":"129ebffe-772b-47f0-9812-7c5bfd4aca79|0000"
    },
    "replyToId":"67c823b4-4c7a-4828-9d6e-0b84fd052869",
    "serviceUrl":"urn:botframework:websocket:directlinespeech",
    "speak":"<speak version='1.0' xmlns='https://www.w3.org/2001/10/synthesis' xml:lang='en-US'><voice name='en-US-JennyNeural'>Echo: Hello and welcome.</voice></speak>",
    "text":"Echo: Hello and welcome.",
    "timestamp":"2019-07-19T20:03:51.1939097Z",
    "type":"message"
}

Untuk mempelajari selengkapnya tentang apa yang dikembalikan dalam output JSON, lihat bidang di Aktivitas. Untuk tutorial ini, Anda dapat fokus pada teks dan berbicara bidang.

Tampilkan kode sumber klien untuk panggilan ke Speech SDK

Klien Windows Voice Assistant Client menggunakan paket NuGet Microsoft.CognitiveServices.Speech, yang berisi Speech SDK. Tempat yang baik untuk mulai meninjau kode sampel adalah metode InitSpeechConnector() di file VoiceAssistantClient\MainWindow.xaml.cs, yang membuat dua objek Speech SDK:

  • DialogServiceConfig: Untuk pengaturan konfigurasi seperti kunci sumber daya dan wilayahnya.
  • DialogServiceConnector: Untuk mengelola koneksi saluran dan acara berlangganan klien untuk menghandel respons ucapan dan bot yang diakui.

Tambahkan aktivasi kata kunci kustom

SDK Ucapan mendukung aktivasi kata kunci kustom. Mirip dengan "Hey Cortana" untuk asisten Microsoft, Anda dapat menulis aplikasi yang akan terus mendengarkan kata kunci pilihan Anda. Perlu diingat bahwa kata kunci bisa menjadi kata tunggal atau frasa multi-kata.

Catatan

Istilah kata kunci seringkali digunakan bergantian dengan istilah wake word. Anda mungkin melihat keduanya digunakan dalam dokumentasi Microsoft.

Deteksi kata kunci dilakukan pada aplikasi klien. Jika menggunakan kata kunci, audio hanya di-streaming ke saluran Direct Line Speech jika kata kunci terdeteksi. Saluran Direct Line Speech menyertakan komponen yang disebut verifikasi kata kunci, yang melakukan pemrosesan yang lebih kompleks di cloud untuk memverifikasi bahwa kata kunci yang Anda pilih berada di awal aliran audio. Jika verifikasi kata kunci berhasil, maka saluran akan berkomunikasi dengan bot.

Ikuti langkah-langkah ini untuk membuat model kata kunci, konfigurasikan Windows Voice Assistant Client untuk menggunakan model ini, dan akhirnya, uji dengan bot Anda:

  1. Buat kata kunci kustom dengan menggunakan layanan Azure Cognitive Service untuk Ucapan.
  2. Buka zip file model yang Anda unduh di langkah sebelumnya. Ini harus dinamai untuk kata kunci Anda. Anda sedang mencari file bernama kws.table.
  3. Di Windows Voice Assistant Client, cari menu Pengaturan (cari ikon roda gigi di kanan atas). cari Jalur file model dan masukkan nama jalur lengkap untuk file kws.table dari langkah 2.
  4. Pilih kotak centang Diaktifkan. Anda akan melihat pesan ini di samping kotak centang: "Akan mendengarkan kata kunci pada koneksi berikutnya." Jika Anda memberikan file yang salah atau jalur yang tidak valid, Anda akan melihat pesan kesalahan.
  5. Masukkan nilai untuk kunci Langganan dan wilayah kunci Langganan, lalu pilih OK untuk menutup menu Pengaturan.
  6. Pilih Sambungkan Kembali. Anda akan melihat pesan yang berbunyi: "Percakapan baru dimulai - ketik, tekan tombol mikrofon, atau ucapkan kata kunci".
  7. Ucapkan frasa apa pun yang dimulai dengan kata kunci Anda. Misalnya: "{kata kunci Anda}, jam berapa sekarang?" Anda tidak perlu berhenti sejenak setelah mengucapkan kata kunci. Setelah selesai, dua hal terjadi:
    • Anda akan melihat transkripsi dari apa yang Anda bicarakan.
    • Anda mendengar jawaban bot.
  8. Lanjutkan bereksperimen dengan tiga jenis input yang didukung bot Anda:
    • Memasukkan teks di bilah bawah
    • Menekan ikon mikrofon dan berbicara
    • Ucapkan frasa apa pun yang dimulai dengan kata kunci Anda

Tampilkan kode sumber yang mengaktifkan kata kunci

Dalam kode sumber klien Asisten Windows Voice, gunakan file-file ini untuk meninjau kode yang memungkinkan deteksi kata kunci:

Opsional: Ubah bahasa dan suara bot

Bot yang Anda buat akan mendengarkan dan merespons dalam bahasa Inggris, dengan teks bahasa Inggris AS default ke suara ucapan. Namun, Anda tidak dibatasi dalam menggunakan bahasa Inggris, atau suara default.

Di bagian ini, Anda mempelajari cara mengubah bahasa yang didengarkan dan direspons bot Anda. Anda juga mempelajari cara memilih suara yang berbeda untuk bahasa tersebut.

Ubah bahasa

Anda dapat memilih dari salah satu bahasa yang disebutkan dalam tabel ucapan ke teks . Contoh berikut mengubah bahasa menjadi bahasa Jerman.

  1. Buka aplikasi Windows Voice Assistant Client, klik tombol pengaturan (ikon roda gigi kanan atas), dan masukkan de-de di bidang Bahasa. Ini adalah nilai lokal yang disebutkan dalam tabel ucapan ke teks .

    Ini mengatur bahasa pemrograman lisan yang akan dikenali, yang mengesampingkan default en-us. Ini juga menginstruksikan saluran Direct Line Speech untuk menggunakan suara Jerman default untuk balasan Bot.

  2. Tutup halaman pengaturan, dan klik tombol Sambungkan Kembali untuk membuat koneksi baru ke bot echo Anda.

  3. Klik tombol mikrofon, dan ucapkan frasa dalam Bahasa Jerman. Anda akan melihat teks yang dikenali dan bot gema membalas dengan suara Jerman default.

Ubah suara bot default

Anda dapat memilih teks ke suara ucapan dan pengucapan kontrol jika bot menentukan balasan dalam bentuk Speech Synthesis Markup Language (SSML) alih-alih teks sederhana. Bot echo tidak menggunakan SSML, tetapi kita dapat dengan mudah memodifikasi kode untuk melakukannya.

Contoh berikut menambahkan SSML ke balasan bot echo sehingga suara Jerman (suara de-DE-RalfNeural laki-laki) digunakan alih-alih suara perempuan default. Lihat daftar suara standar dan daftar suara neural yang didukung untuk bahasa Anda.

  1. Open samples\csharp_dotnetcore\02.echo-bot\echo-bot.cs.

  2. Temukan baris-baris ini:

    var replyText = $"Echo: {turnContext.Activity.Text}";
    await turnContext.SendActivityAsync(MessageFactory.Text(replyText, replyText), cancellationToken);
    

    Ganti dengan kode ini:

    var replyText = $"Echo: {turnContext.Activity.Text}";
    var replySpeak = @"<speak version='1.0' xmlns='https://www.w3.org/2001/10/synthesis' xml:lang='de-DE'>
                    <voice name='de-DE-RalfNeural'>" +
                    $"{replyText}" + "</voice></speak>";
    await turnContext.SendActivityAsync(MessageFactory.Text(replyText, replySpeak), cancellationToken);
    
  3. Buat solusi Anda di Visual Studio dan perbaiki kesalahan build apa pun.

Argumen kedua dalam metode MessageFactory.Text mengatur aktivitas bidang bicara di balasan bot. Dengan perubahan sebelumnya, ini diganti dari teks sederhana ke SSML untuk menentukan suara Jerman non-default.

Terapkan ulang bot Anda

Sekarang setelah Anda membuat perubahan yang diperlukan pada bot, langkah selanjutnya adalah menerbitkan ulang ke Azure App Service dan mencobanya:

  1. Di jendela Penjelajah Solusi, klik kanan proyek EchoBot dan pilih Terbitkan.

  2. Konfigurasi penyebaran Anda sebelumnya telah dimuat sebagai default. Cukup klik Terbitkan di samping EchoBot20190805125647 - Web Deploy.

    Pesan Terbitkan Berhasil akan muncul di jendela output Visual Studio, dan halaman web akan diluncurkan dengan pesan "Bot Anda sudah siap!"

  3. Jalankan aplikasi Windows Voice Assistant Client. Pilih tombol Pengaturan (ikon gigi kanan atas), dan pastikan Anda masih memiliki de-de di bidang Bahasa.

  4. Ikuti instruksi dalam Jalankan Windows Voice Assistant Client untuk terhubung kembali dengan bot yang baru anda sebarkan, bicaralah dalam bahasa baru dan dengarkan bot Anda membalas dalam bahasa tersebut dengan suara baru.

Membersihkan sumber daya

Jika Anda tidak akan terus menggunakan bot echo yang disebarkan dalam tutorial ini, Anda dapat menghapusnya dan semua sumber daya Azure terkait dengan hanya menghapus grup Sumber Daya Azure:

  1. Di portal Azure, pilih Grup Sumber Daya di bawah layanan Azure.
  2. Cari grup sumber daya SpeechEchoBotTutorial-ResourceGroup. Pilih tiga titik (...).
  3. Pilih Hapus grup sumber daya.

Jelajahi dokumentasi

Langkah berikutnya