本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
StartSpeechSynthesisStream
透過雙向串流連線合成 UTF-8 輸入、純文字或 SSML。在 HTTP/2 標頭中指定合成參數、在輸入串流上以事件形式遞增傳送文字,並在可用時接收合成音訊。
此操作做為 的雙向對等項目SynthesizeSpeech:
請求語法
POST /v1/synthesisStream HTTP/1.1
x-amzn-Engine: Engine
x-amzn-LanguageCode: LanguageCode
x-amzn-LexiconNames: LexiconNames
x-amzn-OutputFormat: OutputFormat
x-amzn-SampleRate: SampleRate
x-amzn-VoiceId: VoiceId
Content-type: application/json
{
"CloseStreamEvent": {
},
"TextEvent": {
"FlushStreamConfiguration": {
"Force": boolean
},
"Text": "string",
"TextType": "string"
}
}
URI 請求參數
請求會使用下列 URI 參數。
- Engine
-
指定 Amazon Polly 在處理語音合成的輸入文字時要使用的引擎。目前僅支援
generative引擎。如果您指定所選引擎不支援的語音,Amazon Polly 會傳回錯誤。有效值:
standard | neural | long-form | generative必要:是
- LanguageCode
-
選用參數,可設定語音合成請求的語言代碼。只有在使用雙語語音時,才指定此參數。如果使用雙語語音且未指定語言代碼,Amazon Polly 會使用雙語語音的預設語言。
有效值:
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
-
要在合成期間套用之服務的一或多個發音語彙的名稱。Amazon Polly 才會套用語彙。
陣列成員:最多 5 個項目。
模式:
[0-9A-Za-z]{1,20} - OutputFormat
-
合成語音的音訊格式。目前,Amazon Polly 不支援 JSON 語音標記。
有效值:
json | mp3 | ogg_opus | ogg_vorbis | pcm必要:是
- SampleRate
-
音訊頻率,以 Hz 指定。
- VoiceId
-
用於合成的語音。若要取得可用語音 IDs的清單,請使用 DescribeVoices 操作。
有效值:
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必要:是
請求主體
請求接受採用 JSON 格式的下列資料。
- CloseStreamEvent
-
指出輸入串流結束的事件。
類型:CloseStreamEvent 物件
必要:否
- TextEvent
-
包含要合成內容的文字事件。
類型:TextEvent 物件
必要:否
回應語法
HTTP/1.1 200
Content-type: application/json
{
"AudioEvent": {
"AudioChunk": blob
},
"ServiceFailureException": {
},
"ServiceQuotaExceededException": {
},
"StreamClosedEvent": {
"RequestCharacters": number
},
"ThrottlingException": {
},
"ValidationException": {
}
}
回應元素
如果動作成功,則服務傳回 HTTP 200 回應。
服務會傳回下列 JSON 格式的資料。
- AudioEvent
-
包含合成語音的音訊事件。
類型:AudioEvent 物件
- ServiceFailureException
-
不明條件導致服務失敗。
類型:例外狀況
HTTP 狀態碼:500
- ServiceQuotaExceededException
-
超出表示服務配額的例外狀況。
類型:例外狀況
HTTP 狀態碼:402
- StreamClosedEvent
-
具有摘要資訊的事件,表示串流已關閉。
類型:StreamClosedEvent 物件
- ThrottlingException
-
表示請求已調節的例外狀況。
類型:例外狀況
HTTP 狀態碼:400
- ValidationException
-
表示輸入驗證失敗的例外狀況。
類型:例外狀況
HTTP 狀態碼:400
錯誤
- ServiceFailureException
-
不明條件導致服務失敗。
HTTP 狀態碼:500
- ServiceQuotaExceededException
-
請求會導致超過服務配額。
- quotaCode
-
識別特定配額的配額代碼。
- serviceCode
-
識別原始服務的服務代碼。
HTTP 狀態碼:402
- ThrottlingException
-
請求因請求限流而遭拒。
- throttlingReasons
-
說明請求受到限流原因的原因清單。
HTTP 狀態碼:400
- ValidationException
-
輸入無法滿足 服務指定的限制條件。
- fields
-
導致驗證錯誤的欄位。
- reason
-
請求驗證失敗的原因。
HTTP 狀態碼:400
另請參閱
如需在其中一種語言特定 AWS SDKs中使用此 API 的詳細資訊,請參閱下列內容: