

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

# Speak
<a name="speak"></a>

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](https://aws.amazon.com/polly/pricing/) Amazon Polly atau dasbor penagihan Anda untuk informasi harga.

**penting**  
Penggunaan Amazon Polly tunduk pada [Ketentuan Layanan AWS, termasuk persyaratan](https://aws.amazon.com/service-terms/) khusus untuk AWS Machine Learning dan Layanan Kecerdasan Buatan.

**Topics**
+ [Menggunakan Speak tindakan](#speak-action)
+ [Penanganan ACTION\$1SUCCESSFUL peristiwa](#speak-action-success)
+ [Penanganan ACTION\$1FAILED peristiwa](#speak-action-fail)
+ [Alur program](#speak-flow)

## Menggunakan Speak tindakan
<a name="speak-action"></a>

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**  
*Deskripsi* — `CallId` 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` sebagai`TextType`, 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 \$1 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](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-LanguageCode)  
*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](https://docs.aws.amazon.com/polly/latest/dg/ssml.html) di Panduan Pengembang Amazon Polly.*  
*Nilai yang diizinkan* - ssml \$1 teks  
*Diperlukan* - Tidak  
*Nilai default* - Tidak ada

**VoiceId**  
*Deskripsi* - Menentukan ID suara yang ingin Anda gunakan.  
*Nilai yang diizinkan* - [Suara Amazon Polly IDs](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-VoiceId)  
*Diperlukan* - Tidak  
*Nilai default* - Joanna

## Penanganan ACTION\$1SUCCESSFUL peristiwa
<a name="speak-action-success"></a>

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

```
{
    "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":{       
       ...
    }
}
```

## Penanganan ACTION\$1FAILED peristiwa
<a name="speak-action-fail"></a>

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` | `AWSServiceRoleForAmazonChimeVoiceConnector`Peran 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](speak-and-get-digits.md#speak-digits-policy) bagian | 
| `InvalidActionParameter` |   | Ada kesalahan memvalidasi parameter tindakan. Lihat [SynthesizeSpeech API](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech) 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 \$1limits -throttle.](https://docs.aws.amazon.com/polly/latest/dg/limits.html#limits-throttle) | 
| `MissingRequiredActionParameter` | `Text`adalah parameter yang diperlukan. | Di sana parameter tindakan harus memiliki `Text` nilai | 
| `MissingRequiredActionParameter` | `Text`dibatasi hingga 1.000 karakter | Teks melebihi batas karakter. | 
| `SystemException` | Kesalahan sistem saat menjalankan tindakan. | Terjadi kesalahan sistem saat menjalankan tindakan. | 

## Alur program
<a name="speak-flow"></a>

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.\]](http://docs.aws.amazon.com/id_id/chime-sdk/latest/dg/images/Speak1.png)


**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.\]](http://docs.aws.amazon.com/id_id/chime-sdk/latest/dg/images/Speak2.png)


**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](call-and-bridge.md) 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](call-and-bridge.md) tindakan ke fungsi Lambda. Fungsi kemudian mengembalikan tindakan Speak dan data ke aplikasi SIP, yang mengkonversi 