SpeakAndGetDigits - Amazon Chime SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

SpeakAndGetDigits

通過提供文本播放語音並從用戶那裡收集雙音多頻(DTMF)數字。文字可以是純文字或語音合成標記語言 (SSML) 增強型文字,讓 Amazon Chime SDK 透過新增暫停、強調特定字詞或變更朗讀樣式 (以及其他支援的 SSML 功能) 產生語音的方式提供更好的控制權。如果發生失敗 (例如使用者未輸入正確的 DTMF 位數),動作會播放「失敗」語音,然後重播主要語音,直到 SIP 媒體應用程式耗盡參數中定義的嘗試次數為止。Repeat

Amazon Chime SDK 使用 Amazon Polly 這是一種可將文字轉換為逼真語音的雲端服務,Amazon Polly 同時提供標準和神經引擎,以改善語音品質、20 多種支援的語言和 60 種語音。亞馬遜 Polly 免費提供語音功能,但您需要為使用 Amazon Polly 付費。如需定價資訊,請參閱 Amazon Polly 定價頁面或帳單儀表板。

重要

Amazon Polly 的使用受AWS 服務條款約束,包括 Machine L AWS earning 和人工智慧服務的特定條款。

使用動SpeakAndGetDigits作

下列範例顯示SpeakAndGetDigits動作的典型使用方式:

{ "SchemaVersion": "1.0", "Actions":[ { "Type": "SpeakAndGetDigits", "Parameters": { "CallId": "call-id-1", // required "InputDigitsRegex": "^\d{2}#$", // optional "SpeechParameters": { "Text": "Hello World", // required "Engine": "neural", // optional. Defaults to standard "LanguageCode": "en-US", // optional "TextType": "text", // optional "VoiceId": "Joanna" // optional. Defaults to Joanna }, "FailureSpeechParameters": { "Text": "Hello World", // required "Engine": "neural", // optional. Defaults to the Engine value in SpeechParameters "LanguageCode": "en-US", // optional. Defaults to the LanguageCode value in SpeechParameters "TextType": "text", // optional. Defaults to the TextType value in SpeechParameters "VoiceId": "Joanna" // optional. Defaults to the VoiceId value in SpeechParameters }, "MinNumberOfDigits": 3, // optional "MaxNumberOfDigits": 5, // optional "TerminatorDigits": ["#"], // optional "InBetweenDigitsDurationInMilliseconds": 5000, // optional "Repeat": 3, // optional "RepeatDurationInMilliseconds": 10000 // required } } ] }
CallId

說明CallId Lambda 函數叫用 CallDetails 的參與者。

允許的值-A 有效 callID

必要 — 是

預設值 — 否

InputDigitsRegex

描述 — 規則運算式模式,可協助確保使用者輸入正確的數字和字母。

允許的值 — 有效的規則運算式模式

必要 — 否

預設值 — 無

SpeechParameters.Engine

說明 — 指定在處理語音合成文字時要使用的引擎 (標準或神經)。

允許的值standard | neural

必要 — 否

預設值 — 標準

SpeechParameters.LanguageCode

描述 — 指定語言代碼。只有在使用雙語語音時才需要這樣做。如果使用雙語語音且未指定語言代碼,則會使用雙語語音的預設語言。

允許的值Amazon Polly 語言代碼

必要 — 否

預設值 — 無

SpeechParameters.Text

描述 — 指定輸入文字。如果指定ssmlSpeechParameters.TextType,則必須遵循輸入文字的 SSML 格式。如需 SSML 的詳細資訊,請參閱 Amazon Polly 開發人員指南中的從 SSML 文件產生語音

允許的值 — 字串

必要 — 是

預設值 — 無

SpeechParameters.TextType

描述 — 指定的文字格式SpeechParameters.Text。如果未指定,text則依預設使用。如需 SSML 的詳細資訊,請參閱 Amazon Polly 開發人員指南中的從 SSML 文件產生語音

允許的值ssml | text

必要 — 否

預設值text

SpeechParameters.VoiceId

— 用來朗讀中SpeechParameters.Text文字的 Amazon Polly 語音識別碼。

允許的值Amazon Polly 語音 ID

必要 — 否

默認值-喬安娜

FailureSpeechParameters.Engine

描述 — 指定當客戶輸入語音合成的無效回應時,處理失敗訊息所使用的引擎 (標準或神經)。

允許的值standard | neural

必要 — 否

預設值SpeechParameters.Engine

FailureSpeechParameters.LanguageCode

描述」— 指定客戶輸入無效響應時所使用的語言代碼。只有在使用雙語語音時才需要。如果您在未指定語言代碼的情況下使用雙語語音,則會使用雙語語音的預設語言。

允許的值Amazon Polly 語言代碼

必要 — 否

預設值SpeechParameters.LanguageCode 值。

FailureSpeechParameters.Text

描述 — 指定當客戶輸入無效回應時所說的輸入文字。如果指定ssmlFailureSpeechParameters.TextType,則必須遵循輸入文字的 SSML 格式。

允許的值 — 字串

必要 — 是

預設值 — 無

FailureSpeechParameters.TextType

描述 — 指定中指定的輸入文字FailureSpeechParameters.Text為純文字還是 SSML。預設值為純文字。如需詳細資訊,請參閱 Amazon Polly 開發人員指南中的從 SSML 文件產生語音

允許的值ssml | text

必要 — 否

預設值SpeechParameters.Text

FailureSpeechParameters.VoiceId

— 用來朗讀字串的聲音 ID FailureSpeechParameters.Text

允許的值Amazon Polly 語音 ID

必要 — 是

預設值SpeechParameters.VoiceId

MinNumberOfDigits

說明 — 逾時或播放「通話失敗」訊息之前要擷取的位數下限。

允許的值 — 大於或等於零

必要 — 否

預設值 — 0

MaxNumberOfDigits

說明 — 停止而不終止數字之前要擷取的最大位數。

允許的值 — 大於 MinNumberOfDigits

必要 — 否

預設值

TerminatorDigits

說明 — 如果使用者輸入的數字小於 MaxNumberOfDigits

允許的值-以下任何一個:0 1 2 3 4 5 7 8 9 # 或 *

必要 — 否

預設值 — #

InBetweenDigitsDurationInMilliseconds

說明 — 播放失敗語音之前,數字輸入之間的等待時間 (毫秒)。

允許的值 — 大於零

必要 — 否

預設值 — 如果未指定,則預設為該RepeatDurationInMilliseconds

Repeat

說明 — 嘗試取得位數的總次數。如果您省略此參數,預設值是收集數字的一次嘗試。

允許的值 — 大於零

必要 — 否

默認值-1

RepeatDurationInMilliseconds

說明 — 每次嘗試取得數字的逾時 (以毫秒為單位)。

允許的值 — 大於零

必要 — 是

預設值 — 無

處理ACTION_SUCCESSFUL事件

下面的例子顯示了一個典型的ACTION_SUCCESSFUL事件。

{ "SchemaVersion": "1.0", "Sequence": 3, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "SpeakAndGetDigits", "Parameters": { "CallId": "call-id-1", "InputDigitsRegex": "^\d{2}#$", "SpeechParameters": { "Engine": "neural", "LanguageCode": "en-US", "Text": "Hello World", "TextType": "text", "VoiceId": "Joanna" }, "FailureSpeechParameters": { "Engine": "neural", "LanguageCode": "en-US", "Text": "Hello World", "TextType": "text", "VoiceId": "Joanna" }, "MinNumberOfDigits": 3, "MaxNumberOfDigits": 5, "TerminatorDigits": ["#"], "InBetweenDigitsDurationInMilliseconds": 5000, "Repeat": 3, "RepeatDurationInMilliseconds": 10000 }, "ReceivedDigits": "1234" }, "CallDetails":{ ... } }

處理ACTION_FAILED事件

下面的例子顯示了一個典型的ACTION_FAILED事件。

{ "SchemaVersion": "1.0", "Sequence":2, "InvocationEventType": "ACTION_FAILED", "ActionData":{ "Type": "SpeakAndGetDigits", "Parameters": { "CallId": "call-id-1", "InputDigitsRegex": "^\d{2}#$", "SpeechParameters": { "Engine": "neural", "LanguageCode": "en-US", "Text": "Hello World", "TextType": "text", "VoiceId": "Joanna" }, "FailureSpeechParameters": { "Engine": "neural", "LanguageCode": "en-US", "Text": "Hello World", "TextType": "text", "VoiceId": "Joanna" }, "MinNumberOfDigits": 3, "MaxNumberOfDigits": 5, "TerminatorDigits": ["#"], "InBetweenDigitsDurationInMilliseconds": 5000, "Repeat": 3, "RepeatDurationInMilliseconds": 10000 }, "ErrorType": "SystemException", "ErrorMessage": "System error while running action" }, "CallDetails":{ ... } }
錯誤處理

此表格列示並說明Speak動作所擲回的錯誤訊息。

錯誤 訊息 原因

AccessDenied

AWSServiceRoleForAmazonChimeVoiceConnector角色設定不正確。

用來向 Amazon Polly 發出請求的角色不存在或遺失許可。若要解決此問題,請參閱使用 Amazon Chime SDK 語音連接器服務連結角色本節中的步驟

InvalidActionParameter

 

驗證動作參數時發生錯誤。若要檢閱此動作的可用參數及其選項,請參閱 Amazon Polly 開發人員指南SynthesizeSpeech中的。

MissingRequiredActionParameter

Text是必要的參數。

動作參數必須具有Text

MissingRequiredActionParameter

Text長度限制在 1,000 個字元以內

文字超出字元限制。

SystemException

執行動作時發生系統錯誤。

執行動作時發生系統錯誤。

使用 Amazon Chime SDK 語音連接器服務連結角色

您不需要為Speak或動SpeakAndGetDigits作手動建立服務連結角色。當您在 Amazon Chime 開發套件主控台或 AWS API 中建立或更新 SIP 媒體應用程式時 AWS Command Line Interface,Amazon Chime 開發套件會為您建立服務連結角色。

如需詳細資訊,請參閱 Amazon Chime SDK 管理員指南中的使用 Amazon Chime 服務連結角色