

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

# SynthesizeSpeech
<a name="API_SynthesizeSpeech"></a>

将 UTF-8 输入、纯文本或 SSML 合成为字节流。SSML 输入必须是有效的、格式正确的 SSML。除非使用音素映射，否则某些字母可能无法用于所有语音（例如，英语语音可能根本无法读取西里尔语）。有关更多信息，请参阅[工作原理](https://docs.aws.amazon.com/polly/latest/dg/how-text-to-speech-works.html)。

## 请求语法
<a name="API_SynthesizeSpeech_RequestSyntax"></a>

```
POST /v1/speech HTTP/1.1
Content-type: application/json

{
   "Engine": "string",
   "LanguageCode": "string",
   "LexiconNames": [ "string" ],
   "OutputFormat": "string",
   "SampleRate": "string",
   "SpeechMarkTypes": [ "string" ],
   "Text": "string",
   "TextType": "string",
   "VoiceId": "string"
}
```

## URI 请求参数
<a name="API_SynthesizeSpeech_RequestParameters"></a>

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

## 请求正文
<a name="API_SynthesizeSpeech_RequestBody"></a>

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

 ** [Engine](#API_SynthesizeSpeech_RequestSyntax) **   <a name="polly-SynthesizeSpeech-request-Engine"></a>
指定 Amazon Polly 在处理输入文本进行语音合成时使用的引擎（`standard`、`neural`、`long-form` 或 `generative`）。提供您选定的语音所支持的引擎。如果您未提供引擎，则默认情况下选择标准引擎。如果标准引擎不支持所选语音，则会导致出错。有关 Amazon Polly 语音以及每个引擎可用的语音的信息，请参阅[可用语音](https://docs.aws.amazon.com/polly/latest/dg/voicelist.html)。  
类型：字符串  
有效值：`standard | neural | long-form | generative`  
必需：否

 ** [LanguageCode](#API_SynthesizeSpeech_RequestSyntax) **   <a name="polly-SynthesizeSpeech-request-LanguageCode"></a>
合成语音请求的可选语言代码。只有在使用双语语音（例如 Aditi）时才需设置，Aditi 可用于印度英语 (en-IN) 或印地语 (hi-IN)。  
如果使用双语语音但未指定语言代码，则 Amazon Polly 将使用双语语音的默认语言。任何语音的默认语言都是[DescribeVoices](https://docs.aws.amazon.com/polly/latest/dg/API_DescribeVoices.html)操作返回的`LanguageCode`参数语言。例如，如果未指定语言代码，Aditi 将使用印度英语而不是印地语。  
类型：字符串  
有效值：`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 | ca-ES | de-AT | yue-CN | ar-AE | fi-FI | en-IE | nl-BE | fr-BE | cs-CZ | de-CH | en-SG`  
必需：否

 ** [LexiconNames](#API_SynthesizeSpeech_RequestSyntax) **   <a name="polly-SynthesizeSpeech-request-LexiconNames"></a>
您希望服务在合成过程中应用的一个或多个发音词典名称的列表。仅当词典的语言与语音的语言相同时，才会应用词典。有关存储词典的信息，请参见[PutLexicon](https://docs.aws.amazon.com/polly/latest/dg/API_PutLexicon.html)。  
类型：字符串数组  
数组成员：最多 5 项。  
模式：`[0-9A-Za-z]{1,20}`  
必需：否

 ** [OutputFormat](#API_SynthesizeSpeech_RequestSyntax) **   <a name="polly-SynthesizeSpeech-request-OutputFormat"></a>
 返回的输出将采用的编码格式。对于音频流，这将是 mp3、ogg\$1vorbis、ogg\$1opus、mu-law、a-law 或 pcm。对于语音标记，格式为 JSON。  
使用 pcm 时，返回的内容采用带符号的 audio/pcm 16 位、1 通道（mono）、小端格式。  
类型：字符串  
有效值：`json | mp3 | ogg_opus | ogg_vorbis | pcm | mulaw | alaw`  
是否必需：是

 ** [SampleRate](#API_SynthesizeSpeech_RequestSyntax) **   <a name="polly-SynthesizeSpeech-request-SampleRate"></a>
指定的音频频率，单位为 Hz。  
对于 mp3 和 ogg\$1vorbis，有效值为“8000”、“16000”、“22050”、“24000”、“44100”和“48000”。标准语音的默认值为“22050”。神经语音的默认值为“24000”。长篇语音的默认值为“24000”。生成式语音的默认值为“24000”。  
对于 PCM，有效值为“8000”和“16000”。默认值为“16000”。  
ogg\$1opus 的有效值为 “48000”。  
mu-law 和 a-law 的有效值为 “8000”。  
类型：字符串  
必需：否

 ** [SpeechMarkTypes](#API_SynthesizeSpeech_RequestSyntax) **   <a name="polly-SynthesizeSpeech-request-SpeechMarkTypes"></a>
为输入文本返回的语音标记的类型。  
类型：字符串数组  
数组成员：最多 4 项。  
有效值：`sentence | ssml | viseme | word`  
必需：否

 ** [Text](#API_SynthesizeSpeech_RequestSyntax) **   <a name="polly-SynthesizeSpeech-request-Text"></a>
 输入要合成的文本。如果指定 `ssml` 为 `TextType`，请按照 SSML 格式输入文本。  
类型：字符串  
是否必需：是

 ** [TextType](#API_SynthesizeSpeech_RequestSyntax) **   <a name="polly-SynthesizeSpeech-request-TextType"></a>
 指定输入文本是纯文本还是 SSML。默认值为纯文本。有关更多信息，请参阅[使用 SSML](https://docs.aws.amazon.com/polly/latest/dg/ssml.html)。  
类型：字符串  
有效值：`ssml | text`  
必需：否

 ** [VoiceId](#API_SynthesizeSpeech_RequestSyntax) **   <a name="polly-SynthesizeSpeech-request-VoiceId"></a>
 要用于合成的语音 ID。您可以 IDs 通过拨打[DescribeVoices](https://docs.aws.amazon.com/polly/latest/dg/API_DescribeVoices.html)操作来获取可用语音列表。  
类型：字符串  
有效值：`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 | Arlet | Hannah | Arthur | Daniel | Liam | Pedro | Kajal | Hiujin | Laura | Elin | Ida | Suvi | Ola | Hala | Andres | Sergio | Remi | Adriano | Thiago | Ruth | Stephen | Kazuha | Tomoko | Niamh | Sofie | Lisa | Isabelle | Zayd | Danielle | Gregory | Burcu | Jitka | Sabrina | Jasmine | Jihye | Ambre | Beatrice | Florian | Lennart | Lorenzo | Tiffany`  
是否必需：是

## 响应语法
<a name="API_SynthesizeSpeech_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-Type: ContentType
x-amzn-RequestCharacters: RequestCharacters

AudioStream
```

## 响应元素
<a name="API_SynthesizeSpeech_ResponseElements"></a>

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

响应将返回以下 HTTP 标头。

 ** [ContentType](#API_SynthesizeSpeech_ResponseSyntax) **   <a name="polly-SynthesizeSpeech-response-ContentType"></a>
 指定音频流的类型。这应该反映您的请求中的 `OutputFormat` 参数。  
+  如果您请求 `mp3` 为 `OutputFormat`，则 `ContentType` 返回的是音频/MPEG。
+  如果您请求 `ogg_vorbis` 为 `OutputFormat`，则 `ContentType` 返回的是音频/OGG。
+  如果您请求 `ogg_opus` 为 `OutputFormat`，则 `ContentType` 返回的是音频/OGG。
+  如果您请求`pcm`为`OutputFormat`，则`ContentType`返回的格式为带符号的 audio/pcm 16 位、1 通道 (mono)、小端字节序格式。
+  如果您请求`mu-law`为`OutputFormat`，则`ContentType`返回的是音频/mulaw。
+  如果您`a-law`以的身份请求`OutputFormat`，则`ContentType`返回的是音频/alaw。
+ 如果您请求`json`为`OutputFormat`，则`ContentType`返回的是应用程序/ x-json-stream。
 

 ** [RequestCharacters](#API_SynthesizeSpeech_ResponseSyntax) **   <a name="polly-SynthesizeSpeech-response-RequestCharacters"></a>
合成的字符数。

响应将以下内容作为 HTTP 正文返回。

 ** [AudioStream](#API_SynthesizeSpeech_ResponseSyntax) **   <a name="polly-SynthesizeSpeech-response-AudioStream"></a>
 包含合成语音的流。

## 错误
<a name="API_SynthesizeSpeech_Errors"></a>

 ** EngineNotSupportedException **   
此引擎与您指定的语音不兼容。选择与引擎兼容的新语音，或者更换引擎并重新开始操作。  
HTTP 状态代码：400

 ** InvalidSampleRateException **   
指定的采样率无效。  
HTTP 状态代码：400

 ** InvalidSsmlException **   
您提供的 SSML 无效。验证 SSML 语法、标签和值拼写，然后重试。  
HTTP 状态代码：400

 ** LanguageNotSupportedException **   
Amazon Polly 目前不支持使用指定的语言。  
HTTP 状态代码：400

 ** LexiconNotFoundException **   
Amazon Polly 找不到指定的词典。这可能是由于词典缺失、名称拼写错误或指定了位于不同区域的词典所致。  
验证词典是否存在、位于该区域（参阅 [ListLexicons](API_ListLexicons.md)），以及词典名称拼写是否正确。然后请重试。  
HTTP 状态代码：404

 ** MarksNotSupportedForFormatException **   
所选 `OutputFormat` 不支持语音标记。语音标记仅适用于 `json` 格式的内容。  
HTTP 状态代码：400

 ** ServiceFailureException **   
未知情况导致服务故障。  
HTTP 状态代码：500

 ** SsmlMarksNotSupportedForTextTypeException **   
纯文本类型输入不支持 SSML 语音标记。  
HTTP 状态代码：400

 ** TextLengthExceededException **   
“文本”参数的值长于可接受的限制值。对于 `SynthesizeSpeech` API，输入文本的总长度限制为最多 6000 个字符，其中计费字符不能超过 3000 个。对于 `StartSpeechSynthesisTask` API，最大值为 20 万个字符，其中计费字符数不得超过 10 万个。SSML 标签不会算作计费字符。  
HTTP 状态代码：400

## 另请参阅
<a name="API_SynthesizeSpeech_SeeAlso"></a>

有关以特定语言之一使用此 API 的更多信息 AWS SDKs，请参阅以下内容：
+  [AWS 命令行界面 V2](https://docs.aws.amazon.com/goto/cli2/polly-2016-06-10/SynthesizeSpeech) 
+  [AWS 适用于.NET 的 SDK V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/polly-2016-06-10/SynthesizeSpeech) 
+  [AWS 适用于 C\$1\$1 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/polly-2016-06-10/SynthesizeSpeech) 
+  [AWS 适用于 Go v2 的 SDK](https://docs.aws.amazon.com/goto/SdkForGoV2/polly-2016-06-10/SynthesizeSpeech) 
+  [AWS 适用于 Java 的 SDK V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/polly-2016-06-10/SynthesizeSpeech) 
+  [AWS JavaScript V3 版软件开发工具包](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/polly-2016-06-10/SynthesizeSpeech) 
+  [AWS 适用于 Kotlin 的 SDK](https://docs.aws.amazon.com/goto/SdkForKotlin/polly-2016-06-10/SynthesizeSpeech) 
+  [AWS 适用于 PHP 的 SDK V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/polly-2016-06-10/SynthesizeSpeech) 
+  [AWS Python 软件开发工具包](https://docs.aws.amazon.com/goto/boto3/polly-2016-06-10/SynthesizeSpeech) 
+  [AWS 适用于 Ruby V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/polly-2016-06-10/SynthesizeSpeech) 