本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用語音標記
要求語音標記
若要為輸入文字請求語音標記,請使用 synthesize-speech
命令。除了輸入文字,要傳回此中繼資料需要以下元素:
-
output-format
傳回語音標記時,Amazon Polly 僅支援 JSON 格式。
--output-format json
如果您使用不受支援的輸出格式,Amazon Polly 會擲回例外狀況。
-
voice-id
為確保中繼資料符合關聯的音訊串流,請指定相同的語音用來產生合成的語音音訊串流。可用的語音沒有相同的語音速率。如果您使用用於產生語音以外的聲音,中繼資料不會與音訊串流相符。
--voice-id Joanna
-
speech-mark-types
指定您想要的語音標記的類型。您可以請求任何或所有語音標記類型,但是必須至少指定一個類型。
--speech-mark-types='["sentence", "word", "viseme", "ssml"]'
-
text-type
純文字是 Amazon Polly 的預設輸入文字,因此
text-type ssml
如果要傳回 SSML 語音標記,則必須使用此文字。 -
outfile
指定要寫入中繼資料的輸出檔案。
MaryLamb.txt
下列 AWS CLI 範例會針對 Unix、Linux 和 macOS 進行格式化。對於 Windows,請將每行末尾的反斜線 (\) Unix 接續字元取代為脫字元 (^),並在輸入文字周圍使用完整引號 (「),並在內部標籤中使用單引號 (')。
aws polly synthesize-speech \ --output-format json \ --voice-id
Voice ID
\ --text 'Input text
' \ --speech-mark-types='["sentence", "word", "viseme"]' \outfile
語音標記輸出
Amazon Polly 會在以行分隔的 JSON 串流中傳回語音標記物件。語音標記物件包含下列欄位:
-
時間 – 從對應的音訊串流開始的時間戳記 (以毫秒為單位)
-
類型-語音標記的類型(句子,單詞,語音或 ssml)
-
start — 輸入文字 (不包括 viseme 標記) 中物件開頭的偏移量 (以位元組為單位)
-
end — 輸入文字中物件結尾的偏移量 (不包括 viseme 標記) (以位元組為單位)
-
值 – 這會根據語音標記的類型而異
SSML:<mark> SSML 標籤
視素:視素名稱
文字或句子:輸入文字的子字串,由開始和結束欄位分隔
例如,Amazon Polly 從文本中生成以下word
語音標記對象「瑪麗有一隻小羊肉」:
{"time":373,"type":"word","start":5,"end":8,"value":"had"}
所述文字 (「had」) 在音訊串流開始後 373 毫秒起始,並在輸入文字的位元組 5 開始位元組 8 結束。
注意
此中繼資料是用於 Joanna
voice-id。如果您使用另一個具相同輸入文字的語音,中繼資料可能不同。