

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

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

將 UTF-8 輸入、純文字或 SSML 合成到位元組串流。SSML 輸入必須是有效且格式正確的 SSML。除非使用音素映射，否則某些字母可能無法用於所有語音 （例如，英文語音可能完全無法讀取 Cyrillic)。如需詳細資訊，請參閱[其運作方式](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 在處理語音合成的輸入文字時要使用的引擎 (`long-form`、、`standard` `neural`或 `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 等雙語語音時，才需要此語音，可用於印度英文 (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 時，傳回的內容會以帶正負號的 16 位元、1 聲道 （單聲道）、小端格式顯示音訊/pcm。  
類型：字串  
有效值:`json | mp3 | ogg_opus | ogg_vorbis | pcm`   
必要：是

 ** [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。您可以呼叫 [DescribeVoices](https://docs.aws.amazon.com/polly/latest/dg/API_DescribeVoices.html) 操作，以取得可用語音 IDs 的清單。  
類型：字串  
有效值:`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_opus`身分請求 `OutputFormat`，則`ContentType`傳回的 是音訊/混音。
+  如果您以 `pcm`身分請求 `OutputFormat`，則`ContentType`傳回的 是帶正負號的 16 位元 1 聲道 （單聲道） 小端格式的音訊/pcm。
+  如果您以 `mu-law`身分請求 `OutputFormat`，則`ContentType`傳回的 是音訊/mulaw。
+  如果您以 `a-law`身分請求 `OutputFormat`，則`ContentType`傳回的 為音訊/隔離。
+ 如果您以 `json`身分請求 `OutputFormat`，則`ContentType`傳回的 是 application/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 **   
"Text" 參數的值超過接受的限制。對於 `SynthesizeSpeech` API，輸入文字的限制總計最多為 6000 個字元，其中不超過 3000 個字元可以計費。對於 `StartSpeechSynthesisTask` API，上限為 200，000 個字元，其中不超過 100，000 個字元可以計費。SSML 標籤不計為收費字元。  
HTTP 狀態碼：400

## 另請參閱
<a name="API_SynthesizeSpeech_SeeAlso"></a>

如需在其中一種語言特定 AWS SDKs中使用此 API 的詳細資訊，請參閱下列內容：
+  [AWS 命令列界面 V2](https://docs.aws.amazon.com/goto/cli2/polly-2016-06-10/SynthesizeSpeech) 
+  [AWS 適用於 .NET V4 的 SDK](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 的 SDK v2](https://docs.aws.amazon.com/goto/SdkForGoV2/polly-2016-06-10/SynthesizeSpeech) 
+  [AWS 適用於 Java V2 的 SDK](https://docs.aws.amazon.com/goto/SdkForJavaV2/polly-2016-06-10/SynthesizeSpeech) 
+  [AWS 適用於 JavaScript V3 的 SDK](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 V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForPHPV3/polly-2016-06-10/SynthesizeSpeech) 
+  [AWS 適用於 Python 的 SDK](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) 