本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SynthesizeSpeech
將 UTF-8 輸入、純文字或 SSML 合成到位元組串流。SSML 輸入必須是有效且格式正確的 SSML。除非使用音素映射,否則某些字母可能不適用於所有聲音(例如,英語聲音可能根本不能讀取西里爾字母)。如需詳細資訊,請參閱其運作方式。
請求語法
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
long-form
、、或generative
)。neural
提供您所選語音支援的引擎。如果您未提供引擎,則預設會選取標準引擎。如果標準引擎不支援選擇的語音,則會導致錯誤。如需 Amazon Polly 語音的相關資訊,以及每個引擎可使用哪些聲音,請參閱可用的聲音。類型:字串
有效值:
standard
|neural
|long-form
|generative
必要:是
類型:String
有效值:
standard | neural | long-form | generative
必要:否
- LanguageCode
-
「合成語音」要求的選用語言代碼。只有在使用可用於印度英語(en-in)或印地語(Hiin)的雙語語音(例如 Addi)時,才需要此操作。
如果使用雙語語音且未指定語言代碼,Amazon Polly 會使用雙語語音的預設語言。任何語音的預設語言都是
LanguageCode
參數DescribeVoices作業所傳回的語言。例如,如果沒有指定語言代碼,Adii 將使用印度英語而不是印地語。類型:字串
有效值:
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
必要:否
- LexiconNames
-
您希望服務在合成過程中應用的一個或多個發音詞典名稱列表。只有當詞典的語言與語音的語言相同時,才會套用詞彙。如需儲存辭典的詳細資訊,請參閱。PutLexicon
類型:字串陣列
陣列成員:最多 5 個項目。
模式:
[0-9A-Za-z]{1,20}
必要:否
- OutputFormat
-
在其中返回的輸出將被編碼的格式。對於音頻流,這將是 mp3,ogg_Vorbis 或 PCM。對於語音標記,這將是 json。
使用 pcm 時,返回的內容是帶有符號的 16 位,1 通道(mono),小端格式的音頻/pcm。
類型:字串
有效值:
json | mp3 | ogg_vorbis | pcm
必要:是
- SampleRate
-
以 Hz 為單位指定的音訊頻率。
MP3 和沃比斯的有效值是「800」,「160」,「22050」和「24000」。標準語音的預設值是「22050」。神經聲音的預設值是「24000」。長格式語音的預設值為「24000」。生成語音的預設值是「24000」。
PCM 的有效值為「800」和「16000」。預設值為「16000」。
類型:字串
必要:否
- SpeechMarkTypes
-
為輸入文字傳回的語音標記類型。
類型:字串陣列
陣列成員:4 個項目的最大數目。
有效值:
sentence | ssml | viseme | word
必要:否
- Text
-
輸入要合成的文本。如果您指定
ssml
為TextType
,請遵循輸入文字的 SSML 格式。類型:字串
必要:是
- TextType
-
指定輸入文字是純文字還是 SSML。預設值為純文字。如需詳細資訊,請參閱使用 SSML。
類型:字串
有效值:
ssml | text
必要:否
- VoiceId
-
用於合成的語音 ID。您可以通過調用DescribeVoices操作來獲取可用語音 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 | 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
必要:是
回應語法
HTTP/1.1 200
Content-Type: ContentType
x-amzn-RequestCharacters: RequestCharacters
AudioStream
回應元素
如果動作成功,則服務傳回 HTTP 200 回應。
回應會傳回下列 HTTP 標頭。
- ContentType
-
指定音頻流的類型。這應該反映您的請求中的
OutputFormat
參數。-
如果您請求
mp3
為OutputFormat
,則ContentType
返回的是音頻/mpeg。 -
如果您要求
ogg_vorbis
OutputFormat
,則ContentType
返回的是音頻/ogg。 -
如果您請求
pcm
為OutputFormat
,則ContentType
返回的是帶有符號的 16 位,1 通道(mono),小端格式的音頻/pcm。 -
如果您要求
json
為OutputFormat
,則ContentType
返回的是應用程序/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 SDK 中使用此 API 的詳細資訊,請參閱下列內容: