SpeakAndGetDigits - Amazon Chime SDK

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SpeakAndGetDigits

通过提供文本播放语音,并从客户那里收集双音多频 (DTMF) 数字。文本可以是纯文本或者语音合成标记语言 (SSML) 增强型文本,以通过添加暂停、强调某些单词或更改说话风格以及其他支持的 SSML 功能更好地控制 Amazon Chime SDK 生成语音的方式。如果发生失败,例如用户未输入正确的 DTMF 数字,该操作将播放“失败”语音,然后重播主语音,直到 SIP 媒体应用程序耗尽 Repeat 参数中定义的尝试次数。

Amazon Chime SDK 使用 Amazon Polly — 一项将文本转换为逼真语音的云服务,可提供标准和神经引擎,以提高语音质量并支持超过 20 种语言和 60 种语音。Amazon Polly 免费提供语音功能,但使用 Amazon Polly 需要付费。有关定价信息,请参阅 Amazon Polly 定价页面或账单控制面板。

重要

使用 Amazon Polly 须遵守AWS 服务条款,包括特定于 Machine Learn AWS ing 和人工智能服务的条款。

使用动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

描述 — Lambda 函数调用的参与者。CallId CallDetails

允许的值 — 有效的 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 语音的 ID。

允许的值Amazon Polly 语音 ID

必填 — 否

默认值 — Joanna

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

描述 — 用于朗读 FailureSpeechParameters.Text 中字符串的语音的 ID。

允许的值Amazon Polly 语音 ID

必填 — 是

默认值SpeechParameters.VoiceId

MinNumberOfDigits

描述 — 在超时或播放“调用失败”消息之前捕获的最小数字。

允许的值 — 大于或等于零

必填 — 否

默认值 — 0

MaxNumberOfDigits

描述 — 在没有终止数字的情况下停止前要捕获的最大数字位数。

允许的值 — 大于 MinNumberOfDigits

必填 — 否

默认值 — 128

TerminatorDigits

描述-如果用户输入的数字少于 MaxNumberOfDigits

允许的值 — 以下任何一值:0、1、2、3、4、5、6、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 操作引发的错误消息。

错误 消息 Reason

AccessDenied

AWSServiceRoleForAmazonChimeVoiceConnector 角色配置不正确。

用于向 Amazon Polly 发出请求的角色不存在或缺少权限。要解决这一问题,请参阅 使用 Amazon Chime SDK 语音连接器服务相关角色 部分中的相关步骤

InvalidActionParameter

 

验证操作参数时出错。要查看此操作的可用参数及其选项,请参阅 SynthesizeSpeechAmazon Polly 开发者指南。

MissingRequiredActionParameter

Text 是必填参数。

操作参数必须有 Text

MissingRequiredActionParameter

Text 限制为 1,000 个字符

文本超出了字符限制。

SystemException

运行操作时出现系统错误。

运行操作时出现一个系统错误。

使用 Amazon Chime SDK 语音连接器服务相关角色

无需手动为 SpeakSpeakAndGetDigits 操作创建该服务相关角色。当你在 Amazon Chime 软件开发工具包控制台、或 AWS API 中创建或更新 SIP 媒体应用程序时 AWS Command Line Interface,Amazon Chime SDK 会为您创建服务相关角色。

有关更多信息,请参阅 Amazon Chime SDK 管理员指南中使用 Amazon Chime 服务相关角色