使用語音標記 - Amazon Polly

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

使用語音標記

要求語音標記

若要為輸入文字請求語音標記,請使用 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 結束。

注意

此中繼資料是用於 Joannavoice-id。如果您使用另一個具相同輸入文字的語音,中繼資料可能不同。