SynthesizeSpeech - Amazon Polly

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

SynthesizeSpeech

將 UTF-8 輸入、純文字或 SSML 合成到位元組串流。SSML 輸入必須是有效且格式良好的 SSML。除非使用電話映射,否則某些字母可能無法搭配所有語音使用 (例如,英文語音可能完全無法讀取 Cyrillic)。如需詳細資訊,請參閱其運作方式

請求語法

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 請求參數

請求不會使用任何 URI 參數。

請求主體

請求接受採用 JSON 格式的下列資料。

Engine

指定 Amazon Polly 在處理語音合成的輸入文字時要使用的引擎standard neural(long-form、、 或 generative)。提供您選擇的語音支援的引擎。如果您不提供引擎,預設會選取標準引擎。如果標準引擎不支援所選的語音,這將導致錯誤。如需 Amazon Polly 語音和每個引擎可用語音的相關資訊,請參閱可用語音

類型:字串

有效值:standard | neural | long-form | generative

必要:是

類型:字串

有效值:standard | neural | long-form | generative

必要:否

LanguageCode

合成語音請求的選用語言代碼。只有在使用雙語語音,例如 Aditi 時,才需要此語音,可用於印度英文 (en-IN) 或印地文 (hi-IN)。

如果使用雙語語音且未指定語言代碼,Amazon Polly 會使用雙語語音的預設語言。任何語音的預設語言都是LanguageCode參數的 DescribeVoices 操作傳回的語言。例如,如果未指定語言代碼,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

必要:否

LexiconNames

您希望服務在合成期間套用的一或多個發音語彙名稱清單。只有在語彙的語言與語音的語言相同時,才會套用語彙。如需存放語彙的資訊,請參閱 PutLexicon

類型:字串陣列

陣列成員:最多 5 個項目。

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

必要:否

OutputFormat

將編碼傳回輸出的格式。對於音訊串流,這會是 mp3、ogg_vorbis 或 pcm。對於語音標記,這會是 json。

使用 pcm 時,傳回的內容是已簽章的 16 位元、1 個頻道 (單聲道)、小端點格式的音訊/pcm。

類型:字串

有效值:json | mp3 | ogg_vorbis | pcm

必要:是

SampleRate

以 Hz 指定的音訊頻率。

mp3 和 ogg_vorbis 的有效值為 "8000"、"16000"、"22050" 和 "24000"。標準語音的預設值為「22050」。神經語音的預設值為「24000」。長期語音的預設值為「24000」。生成語音的預設值為「24000」。

pcm 的有效值為 "8000" 和 "16000" 預設值為 "16000"。

類型:字串

必要:否

SpeechMarkTypes

針對輸入文字傳回的語音標記類型。

類型:字串陣列

陣列成員:最多 4 個項目。

有效值:sentence | ssml | viseme | word

必要:否

Text

輸入要合成的文字。如果您將 指定ssmlTextType,請遵循輸入文字的 SSML 格式。

類型:字串

必要:是

TextType

指定輸入文字是純文字還是 SSML。預設值為純文字。如需詳細資訊,請參閱使用 SSML

類型:字串

有效值:ssml | text

必要:否

VoiceId

用於合成的語音 ID。您可以呼叫 DescribeVoices 操作,以取得可用的語音 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

必要:是

回應語法

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

回應元素

如果動作成功,則服務傳回 HTTP 200 回應。

回應會傳回下列 HTTP 標頭。

ContentType

指定音訊串流類型。這應該會反映請求中的 OutputFormat 參數。

  • 如果您以 mp3身分請求 OutputFormat,則ContentType傳回的 為音訊/mpeg。

  • 如果您以 ogg_vorbis身分請求 OutputFormatContentType傳回的 是音訊/霧。

  • 如果您以 pcm身分請求OutputFormat,則ContentType傳回的 是已簽章的 16 位元、1 個頻道 (單聲道)、小端點格式的音訊/pcm。

  • 如果您以 json身分請求OutputFormatContentType傳回的 是 application/x-json-stream。

RequestCharacters

合成的字元數。

回應傳回以下內容作為 HTTP 主體。

AudioStream

包含合成語音的串流。

錯誤

EngineNotSupportedException

此引擎與您指定的語音不相容。選擇與引擎相容的新語音,或變更引擎並重新啟動操作。

HTTP 狀態碼:400

InvalidSampleRateException

指定的取樣率無效。

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

"Text" 參數的值超過接受的限制。對於 SynthesizeSpeech API,輸入文字的限制上限為 6000 個字元,其中不超過 3000 個字元可以計費。對於 StartSpeechSynthesisTask API,上限為 200,000 個字元,其中不超過 100,000 個字元可以計費。SSML 標籤不計為收費字元。

HTTP 狀態碼:400

另請參閱

如需在其中一種語言特定 AWS SDKs中使用此 API 的詳細資訊,請參閱以下內容: