StartSpeechSynthesisTask - Amazon Polly
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

StartSpeechSynthesisTask

允许通过启动一个新的任务来创建异步综合任务SpeechSynthesisTask. 此操作需要语音合成所需的所有标准信息,以及用于存储综合任务输出的服务的 Amazon S3 存储桶的名称以及两个可选参数(OutputS3KeyPrefixSnsTopicArn)。创建综合任务后,此操作将返回SpeechSynthesisTask对象,其中将包含此任务的标识符,及其当前状态。这些区域有:SpeechSynthesisTask对象在开始异步合成任务后 72 小时内可用。

请求语法

POST /v1/synthesisTasks HTTP/1.1 Content-type: application/json { "Engine": "string", "LanguageCode": "string", "LexiconNames": [ "string" ], "OutputFormat": "string", "OutputS3BucketName": "string", "OutputS3KeyPrefix": "string", "SampleRate": "string", "SnsTopicArn": "string", "SpeechMarkTypes": [ "string" ], "Text": "string", "TextType": "string", "VoiceId": "string" }

URI 请求参数

该请求不使用任何 URI 参数。

请求正文

请求接受采用 JSON 格式的以下数据。

Engine

指定引擎 (standard要么neural) 供 Amazon Polly 在处理用于语音合成的输入文本时使用。使用所选引擎不支持的语音将导致错误。

类型: 字符串

有效值: standard | neural

:必需 否

LanguageCode

语音合成请求的可选择语言代码。只有在使用双语语音(例如 Aiti)时才有必要,该语音可用于印度英语(en-in)或印地语(Hi-in)。

如果使用双语语音但未指定语言代码,Amazon Polly 将使用双语语音的默认语言。任何语音的默认语言都是DescribeVoices对于是LanguageCode参数。例如,如果没有指定语言代码,Aiti 将使用印度英语而不是印地语。

类型: 字符串

有效值: arb | cmn-CN | cy-GB | da-DK | de-DE | en-AU | en-GB | en-GB-WLS | en-IN | en-US | es-ES | es-MX | es-US | fr-CA | fr-FR | is-IS | it-IT | ja-JP | hi-IN | ko-KR | nb-NO | nl-NL | pl-PL | pt-BR | pt-PT | ro-RO | ru-RU | sv-SE | tr-TR | en-NZ | en-ZA

:必需 否

LexiconNames

您希望在合成过程中应用该服务的一个或多个发音词典名称的列表。仅当词典的语言与语音相同时,词典才会应用于。

类型: 字符串数组

数组成员:最多 5 项。

模式:[0-9A-Za-z]{1,20}

:必需 否

OutputFormat

返回的输出将采用的编码格式。对于音频流,这将是 mp3、ogg_vorbis 或 pcm。对于语音标记,这将是 json。

类型: 字符串

有效值: json | mp3 | ogg_vorbis | pcm

:必需 是

OutputS3BucketName

要将输出文件保存的 Amazon S3 存储桶名称。

类型: 字符串

模式:^[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9]$

:必需 是

OutputS3KeyPrefix

输出语音文件的 Amazon S3 key prefix。

类型: 字符串

模式:^[0-9a-zA-Z\/\!\-_\.\*\'\(\):;\$@=+\,\?&]{0,800}$

:必需 否

SampleRate

以 Hz 为单位指定的音频频率。

mp3 和 ogg_vorbis 的有效值为 “8000"、“16000”、“22050” 和 “24000”。标准声部的默认值为 “22050”。神经语音的默认值为 “24000”。

PCM 的有效值为 “8000" 和 “16000” 默认值为 “16000”。

类型: 字符串

:必需 否

SnsTopicArn

SNS 主题的 ARN(可选)用于为语音合成任务提供状态通知。

类型: 字符串

模式:^arn:aws(-(cn|iso(-b)?|us-gov))?:sns:[a-z0-9_-]{1,50}:\d{12}:[a-zA-Z0-9_-]{1,256}$

:必需 否

SpeechMarkTypes

为输入文本返回的语音标记的类型。

类型: 字符串数组

数组成员:最多 4 项。

有效值: sentence | ssml | viseme | word

:必需 否

Text

要合成的输入文本。如果将 ssml 指定为 textType,请遵循输入文本的 SSML 格式。

类型: 字符串

:必需 是

TextType

指定输入文本是纯文本还是 SSML。默认值为纯文本。

类型: 字符串

有效值: ssml | text

:必需 否

VoiceId

用于合成的语音 ID。

类型: 字符串

有效值: Aditi | Amy | Astrid | Bianca | Brian | Camila | Carla | Carmen | Celine | Chantal | Conchita | Cristiano | Dora | Emma | Enrique | Ewa | Filiz | Gabrielle | Geraint | Giorgio | Gwyneth | Hans | Ines | Ivy | Jacek | Jan | Joanna | Joey | Justin | Karl | Kendra | Kevin | Kimberly | Lea | Liv | Lotte | Lucia | Lupe | Mads | Maja | Marlene | Mathieu | Matthew | Maxim | Mia | Miguel | Mizuki | Naja | Nicole | Olivia | Penelope | Raveena | Ricardo | Ruben | Russell | Salli | Seoyeon | Takumi | Tatyana | Vicki | Vitoria | Zeina | Zhiyu | Aria | Ayanda

:必需 是

响应语法

HTTP/1.1 200 Content-type: application/json { "SynthesisTask": { "CreationTime": number, "Engine": "string", "LanguageCode": "string", "LexiconNames": [ "string" ], "OutputFormat": "string", "OutputUri": "string", "RequestCharacters": number, "SampleRate": "string", "SnsTopicArn": "string", "SpeechMarkTypes": [ "string" ], "TaskId": "string", "TaskStatus": "string", "TaskStatusReason": "string", "TextType": "string", "VoiceId": "string" } }

响应元素

如果此操作成功,则该服务将会发送回 HTTP 200 响应。

服务以 JSON 格式返回的以下数据。

SynthesisTask

ConpestSask 对象,提供有关新提交的语音合成任务的信息和属性。

类型:SynthesisTask 对象

错误

EngineNotSupportedException

该引擎与您指定的声音不兼容。选择与引擎兼容的新声音或者更改引擎然后重新启动操作。

HTTP 状态代码:400

InvalidS3BucketException

提供的 Amazon S3 存储桶名称无效。请使用 S3 存储桶命名要求检查您的输入,然后重试。

HTTP 状态代码:400

InvalidS3KeyException

提供的 Amazon S3 key prefix 无效。请提供有效的 S3 对象密钥名称。

HTTP 状态代码:400

InvalidSampleRateException

指定的采样率无效。

HTTP 状态代码:400

InvalidSnsTopicArnException

提供的 SNS 主题 ARN 无效。请提供有效的 SNS 主题 ARN 然后重试。

HTTP 状态代码:400

InvalidSsmlException

您提供的 SSML 无效。验证 SSML 语法、标签和值的拼写,然后重试。

HTTP 状态代码:400

LanguageNotSupportedException

Amazon Polly 目前不支持此身份指定的语言。

HTTP 状态代码:400

LexiconNotFoundException

Amazon Polly 找不到指定的词典。这可能是由于缺少词典、其名称拼写错误或指定位于不同区域的词典引起的。

验证词典是否存在,是否在该地区(请参阅ListLexicons)并且你拼写的名字是正确的。然后重试。

HTTP 状态代码:404

MarksNotSupportedForFormatException

不支持语音标记OutputFormat已选择。语音标记仅适用于中的内容json格式的日期和时间。

HTTP 状态代码:400

ServiceFailureException

未知情况导致了服务失败。

HTTP 状态代码:500

SsmlMarksNotSupportedForTextTypeException

纯文本类型输入不支持 SSML 语音标记。

HTTP 状态代码:400

TextLengthExceededException

“文本” 参数的值比接受的限制长。对于SynthesizeSpeechAPI,输入文本的限制最多为 6000 个字符,其中不超过 3000 个字符可以计费。对于StartSpeechSynthesisTaskAPI,最多为 200,000 个字符,其中不超过 100,000 个字符可以计费。SSML 标签不会算作计费字符。

HTTP 状态代码:400

另请参阅

有关在特定语言的Amazon软件开发工具包中使用此 API 的更多信息,请参阅以下内容: