翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Speak
テキストを入力すれば、どの通話レッグでも音声を再生できます。プレーンテキストまたは音声合成マークアップ言語 (SSML) を使用できます。SSML では、一時停止を追加したり、特定の単語を強調したり、話し方を変更したりすることで、Amazon Chime SDK が音声を生成する方法をより細かく制御できます。
Amazon Chime SDK は、Amazon Polly サービスを使用してテキストを音声に変換します。Amazon Polly では、音声品質を向上させるために、標準エンジンとニューラルエンジンのどちらかを選択できます。Amazon Polly は、20 以上の言語と 60 の音声をサポートしており、アプリケーションのユーザーエクスペリエンスをカスタマイズすることができます。Amazon Chime SDK では音声機能は無料で提供されますが、Amazon Polly の使用には料金がかかります。価格情報については、Amazon Polly の料金ページ
重要
Amazon Polly の使用には、AWS Machine Learning および人工知能サービスに固有の条件を含む、AWS のサービス条件
Speak アクションの使用
次の例は、Speak
アクションの一般的な使用方法を示しています。
{ "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
-
説明 – Lambda 関数呼び出しの
CallDetails
における、参加者のCallId
使用できる値 – 有効な通話 ID
必須 – はい
デフォルト値 – なし
- Text
-
説明 - 音声に合成する入力テキストを指定します。
ssml
をTextType
として指定した場合は、入力テキストの SSML 形式に従います。使用できる値 - 文字列
必須 – はい
デフォルト値 – なし
- Engine
-
説明 - 音声合成用のテキストを処理するときに使用するエンジン (標準またはニューラル) を指定します。
使用できる値 – standard | neural
必須 – いいえ
デフォルト値 - standard
- LanguageCode
-
説明 - 言語コードを指定します。バイリンガル音声を使用する場合にのみ必要となります。言語コードなしでバイリンガル音声を使用した場合は、バイリンガル音声のデフォルト言語が使用されます。
使用できる値 - Amazon Polly の言語コード
必須 – いいえ
デフォルト値 – なし
- TextType
-
説明 - 入力テキストのタイプ、つまりプレーンテキストか SSML かを指定します。入力タイプが指定されていない場合は、デフォルトとしてプレーンテキストが使用されます。SSML の詳細については、「Amazon Polly デベロッパーガイド」の「SSML ドキュメントから音声を生成する」を参照してください。
使用できる値 – ssml | text
必須 – いいえ
デフォルト値 – なし
- VoiceId
-
説明 - 使用する音声の ID を指定します。
使用できる値 - Amazon Polly の音声 ID
必須 – いいえ
デフォルト値 - Joanna
ACTION_SUCCESSFUL イベントの処理
次の例は、Amazon Polly の Joanna
の音声を使用して「Hello World」というテキストを英語の音声に合成するアクションの一般的な ACTION_SUCCESSFUL
イベントを示しています。
{ "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":{ ... } }
ACTION_FAILED イベントの処理
次の例は、前の例で使用された同じイベントの一般的な ACTION_FAILED
イベントを示しています。
{ "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":{ ... } }
エラー処理
以下の表では、Speak
アクションによってスローされるエラーメッセージを列挙し、説明しています。
エラー | メッセージ | 理由 |
---|---|---|
|
|
Amazon Polly へのリクエストに使用された、サービスにリンクされたロールが、存在しないかアクセス許可がありません。これを解決するには、「Amazon Chime SDK 音声コネクタサービスにリンクされたロールの使用」セクションの手順を参照してください。 |
|
|
アクションのパラメータの検証中にエラーが発生しました。パラメータの詳細については、「Amazon Polly デベロッパーガイド」の「SynthesizeSpeech API」を参照してください。 |
ActionExecutionThrottled |
Amazon Polly は、音声合成のリクエストをスロットリングしています。 | Amazon Polly へのリクエストがスロットリング例外を返しています。Amazon Polly のスロットリング制限の詳細については、「https://docs.aws.amazon.com/polly/latest/dg/limits.html#limits-throttle」を参照してください。 |
|
|
このアクションのパラメータには |
|
|
テキストが文字数制限を超えています。 |
|
アクションの実行中にシステムエラーが発生しました。 |
アクションの実行中にシステムエラーが発生しました。 |
プログラムフロー
次の図は、発信者の Speak
アクションを可能にするプログラムフローを示しています。この例では、発信者には次のようなテキストが聞こえます。
![発信者の Speak アクションを可能にするプログラムフローを示す図。](images/Speak1.png)
図の説明
発信者は、ソフトフォンを使用して、SIP メディアアプリケーションに登録されている番号を入力します。アプリケーションは、SIP INVITE
メソッドを使用して、発信者に Trying
(100)
応答を送信します。これは、ネクストホップサーバーが呼び出しリクエストを受信したことを示しています。SIP アプリケーションは、INVITE
を使用してエンドポイントに連絡します。接続が確立されると、アプリケーションは発信者に Ringing (180)
応答を送信し、アラートが開始されます。
次に、SIP メディアアプリケーションが Lambda 関数に NEW_INBOUND_CALL
イベントを送信します。Lambda 関数は、発信者の ID と、音声に変換するテキストが含まれた Speak
アクションで応答します。そして、SIP アプリケーションは、呼び出しが応答されたことを示す 200 (OK)
応答を送信します。このプロトコルにより、メディアも有効になります。
Speak
アクションが成功してテキストが音声に変換されると、SIP メディアアプリケーションに ACTION_SUCCESSFUL
イベントが返されます。そして、SIP メディアアプリケーションは次のアクションセットを返します。アクションが失敗した場合、SIP メディアアプリケーションは Lambda 関数に ACTION_FAILED
イベントを送信します。Lambda 関数は Hangup
アクションセットで応答します。アプリケーションは発信者をハングアップし、Lambda 関数に HANGUP
イベントを返します。Lambda 関数は、それ以上アクションを実行しません。
次の図は、受信者の Speak
アクションを可能にするプログラムフローを示しています。
![受信者の Speak アクションを可能にするプログラムフローを示す図。これは、どのブリッジ通話でも実行できます。](images/Speak2.png)
図の説明
発信者が、SIP メディアアプリケーションに登録されている番号を入力すると、アプリケーションは、前の図で説明したように応答します。Lambda 関数は、NEW_INBOUND_CALL
イベントを受信すると、SIP アプリケーションに CallAndBridge アクションを返します。アプリケーションは、SIP INVITE
メソッドを使用して、受信者に Trying (100)
応答と Ringing (180)
応答を送信します。
受信者が応答すると、SIP メディアアプリケーションは 200 (OK)
応答を受信し、その同じ応答を発信者に送信します。これによりメディアが確立され、SIP アプリケーションは CallAndBridge アクションの ACTION_SUCCESSFUL
イベントを Lambda 関数に送信します。この関数は、Speak アクションとデータを SIP アプリケーションに返します。SIP アプリケーションはこれを変換します。