Speak - Amazon Chime SDK

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Speak

Anda dapat memainkan pidato di kaki panggilan apa pun dengan memberikan teks. Anda dapat menggunakan teks biasa atau Speech Synthesis Markup Language (SSML). SSML memberikan kontrol lebih besar atas bagaimana Amazon Chime SDK menghasilkan ucapan dengan menambahkan jeda, menekankan kata-kata tertentu, atau mengubah gaya berbicara.

Amazon Chime SDK menggunakan layanan Amazon Polly untuk mengonversi. text-to-speech Amazon Polly memungkinkan Anda memilih antara mesin standar atau saraf untuk meningkatkan kualitas bicara. Amazon Polly mendukung lebih dari 20 bahasa dan 60 suara untuk menyesuaikan pengalaman pengguna aplikasi Anda. Amazon Chime SDK menyediakan fitur ucapan tanpa biaya, tetapi Anda membayar untuk menggunakan Amazon Polly. Lihat halaman harga Amazon Polly atau dasbor penagihan Anda untuk informasi harga.

penting

Penggunaan Amazon Polly tunduk pada Ketentuan Layanan AWS, termasuk persyaratan khusus untuk AWS Machine Learning dan Layanan Kecerdasan Buatan.

Menggunakan Speak tindakan

Contoh berikut menunjukkan penggunaan khas Speak tindakan.

{ "SchemaVersion": "1.0", "Actions":[ { "Type": "Speak", "Parameters": { "Text": "Hello, World!", // required "CallId": "call-id-1", // required "Engine": "neural", // optional. Defaults to standard "LanguageCode": "en-US", // optional "TextType": "text", // optional "VoiceId": "Joanna" // optional. Defaults to Joanna } } ] }
CallId

DeskripsiCallId Peserta dalam CallDetails pemanggilan fungsi Lambda

Nilai yang diizinkan - ID panggilan yang valid

Diperlukan - Ya

Nilai default - Tidak ada

Text

Deskripsi - Menentukan teks masukan untuk disintesis ke dalam ucapan. Jika Anda menentukan ssml sebagaiTextType, ikuti format SSML untuk teks input.

Nilai yang diizinkan - String

Diperlukan - Ya

Nilai default - Tidak ada

Engine

Deskripsi — Menentukan mesin—standar atau neural—yang akan digunakan saat memproses teks untuk sintesis ucapan.

Nilai yang diizinkan - standar | saraf

Diperlukan - Tidak

Nilai default - standar

LanguageCode

Deskripsi - Menentukan kode bahasa. Hanya diperlukan jika menggunakan suara bilingual. Jika Anda menggunakan suara bilingual tanpa kode bahasa, bahasa default suara bilingual akan digunakan.

Nilai yang diizinkan - kode bahasa Amazon Polly

Diperlukan - Tidak

Nilai default - Tidak ada

TextType

Deskripsi - Menentukan jenis teks masukan, teks biasa atau SSML. Jika jenis input tidak ditentukan, teks biasa digunakan sebagai default. Untuk informasi selengkapnya tentang SSML, lihat Menghasilkan Pidato dari Dokumen SSML di Panduan Pengembang Amazon Polly.

Nilai yang diizinkan - ssml | teks

Diperlukan - Tidak

Nilai default - Tidak ada

VoiceId

Deskripsi - Menentukan ID suara yang ingin Anda gunakan.

Nilai yang diizinkan - ID suara Amazon Polly

Diperlukan - Tidak

Nilai default - Joanna

Menangani ACTION_SUCCESSFUL acara

Contoh berikut menunjukkan ACTION_SUCCESSFUL peristiwa khas untuk tindakan yang mensintesis teks “Hello World” ke dalam pidato, dalam bahasa Inggris, menggunakan suara Amazon PollyJoanna.

{ "SchemaVersion": "1.0", "Sequence": 3, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "Speak", "Parameters": { "CallId": "call-id-1", "Engine": "neural", "LanguageCode": "en-US", "Text": "Hello World", "TextType": "text", "VoiceId": "Joanna" } }, "CallDetails":{ ... } }

Menangani ACTION_FAILED acara

Contoh berikut menunjukkan ACTION_FAILED peristiwa khas untuk acara yang sama yang digunakan dalam contoh sebelumnya.

{ "SchemaVersion": "1.0", "Sequence":2, "InvocationEventType": "ACTION_FAILED", "ActionData":{ "Type": "Speak", "Parameters": { "CallId": "call-id-1", "Engine": "neural", "LanguageCode": "en-US", "Text": "Hello World", "TextType": "text", "VoiceId": "Joanna" }, "ErrorType": "SystemException", "ErrorMessage": "System error while running action" }, "CallDetails":{ ... } }
Penanganan kesalahan

Tabel ini mencantumkan dan menjelaskan pesan kesalahan yang dilemparkan oleh Speak tindakan.

Kesalahan Pesan Alasan

AccessDenied

AWSServiceRoleForAmazonChimeVoiceConnectorPeran terkait layanan tidak dikonfigurasi dengan benar.

Peran terkait layanan yang digunakan untuk membuat permintaan ke Amazon Polly tidak ada atau tidak memiliki izin. Untuk mengatasinya, lihat langkah-langkah di Menggunakan peran terkait layanan Amazon Chime SDK Voice Connector bagian

InvalidActionParameter

 

Ada kesalahan memvalidasi parameter tindakan. Lihat SynthesizeSpeech API di Panduan Pengembang Amazon Polly untuk informasi selengkapnya tentang parameter.

ActionExecutionThrottled Amazon Polly membatasi permintaan untuk mensintesis ucapan. Permintaan ke Amazon Polly mengembalikan pengecualian pelambatan. Untuk informasi selengkapnya tentang batas pembatasan Amazon Polly, lihat https://docs.aws.amazon.com/polly/latest/dg/limits.html#limits-throttle.

MissingRequiredActionParameter

Textadalah parameter yang diperlukan.

Di sana parameter tindakan harus memiliki Text nilai

MissingRequiredActionParameter

Textdibatasi hingga 1.000 karakter

Teks melebihi batas karakter.

SystemException

Kesalahan sistem saat menjalankan tindakan.

Terjadi kesalahan sistem saat menjalankan tindakan.

Alur program

Diagram berikut menunjukkan aliran program yang memungkinkan Speak tindakan untuk penelepon. Dalam contoh ini, penelepon mendengar teks yang

Diagram yang menunjukkan alur program untuk mengaktifkan Speak tindakan untuk penelepon.
Dalam diagram

Menggunakan ponsel lunak, penelepon memasukkan nomor yang terdaftar ke aplikasi media SIP. Aplikasi ini menggunakan INVITE metode SIP dan mengirimkan Trying (100) respons kepada penelepon. Itu menunjukkan bahwa server next-hop menerima permintaan panggilan. Aplikasi SIP kemudian menggunakan INVITE untuk menghubungi titik akhir. Setelah koneksi dibuat, aplikasi mengirimkan Ringing (180) respons ke penelepon, dan peringatan dimulai.

Aplikasi media SIP kemudian mengirimkan NEW_INBOUND_CALL acara ke fungsi Lambda, yang merespons dengan Speak tindakan yang menyertakan ID pemanggil dan teks yang ingin Anda ubah menjadi ucapan. Aplikasi SIP kemudian mengirimkan 200 (OK) respons untuk menunjukkan bahwa panggilan telah dijawab. Protokol juga memungkinkan media.

Jika Speak tindakan berhasil dan mengubah teks menjadi ucapan, ia mengembalikan ACTION_SUCCESSFUL acara ke aplikasi media SIP, yang mengembalikan serangkaian tindakan berikutnya. Jika tindakan gagal, aplikasi media SIP mengirimkan ACTION_FAILED acara ke fungsi Lambda, yang merespons dengan serangkaian tindakan. Hangup Aplikasi menutup pemanggil dan mengembalikan HANGUP acara ke fungsi Lambda, yang tidak mengambil tindakan lebih lanjut.

Diagram berikut menunjukkan aliran program daripada memungkinkan Speak tindakan untuk callee.

Diagram yang menunjukkan alur program untuk mengaktifkan Speak aksi untuk callee. Anda dapat melakukan ini pada panggilan yang dijembatani.
Dalam diagram

Penelepon memasukkan nomor yang terdaftar ke aplikasi media SIP, dan aplikasi merespons seperti yang dijelaskan untuk diagram sebelumnya. Ketika fungsi Lambda menerima NEW_INBOUND_CALL acara, ia mengembalikan CallAndBridge tindakan ke aplikasi SIP. Aplikasi kemudian menggunakan INVITE metode SIP untuk mengirim Trying (100) dan Ringing (180) tanggapan ke callee.

Jika panggilan menjawab, aplikasi media SIP menerima 200 (OK) respons, dan mengirimkan respons yang sama ke penelepon. Itu menetapkan media, dan aplikasi SIP mengirimkan ACTION_SUCCESSFUL acara untuk CallAndBridge tindakan ke fungsi Lambda. Fungsi kemudian mengembalikan tindakan Speak dan data ke aplikasi SIP, yang mengkonversi