View a markdown version of this page

套用語彙 (合成語音) - Amazon Polly

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

套用語彙 (合成語音)

您使用的語彙必須符合發音語彙規格 (PLS) W3C 建議。如需更多詳細資訊,請參閱 W3C 網站上的發音語彙規格 (PLS) 版本 1.0。

Console

下列程序示範如何將語彙套用到您的輸入文字,方法是套用 W3c.pls 語彙,用「全球資訊網協會」取代「W3C」。如果您套用多個語彙到您的文字,會以從上到下順序套用,第一個相符優先於之後的相符。如果語彙中指定的語言和所選語言相同,語彙僅會套用到文字。

您可以套用語彙至純文字或 SSML 輸入。

範例- 套用 W3C.pls 語彙

如需建立此練習所需的語彙,請參閱 上傳語彙。使用純文字編輯器來建立主題最上方顯示的 W3C.pls 語彙。請記住您儲存此檔案的地方。

將 W3C.pls 語彙套用到您的輸入

在此範例中,我們會引進語彙,以「全球資訊網協會」取代「W3C」。將此練習的結果與英文和其他語言的 在主控台上使用 SSML 結果做比較。

  1. 登入 AWS 管理主控台 ,並在 https://https://console.aws.amazon.com/polly/ 開啟 Amazon Polly 主控台。

  2. 執行以下任意一項:

    • 關閉 SSML,然後在文字輸入方塊中輸入或貼上此文字。

      He was caught up in the game. In the middle of the 10/3/2014 W3C meeting he shouted, "Score!" quite loudly.
    • 開啟 SSML,然後在文字輸入方塊中輸入或貼上此文字。

      <speak>He wasn't paying attention.<break time="1s"/> In the middle of the 10/3/2014 W3C meeting he shouted, "Score!" quite loudly.</speak>
  3. 從語言清單中,選擇英文、美國,然後選擇您要用於此文字的語音。

  4. 展開其他設定並開啟自訂發音。

  5. 從語彙清單中選擇 W3C (English, US)。

    如果沒有列出 W3C (English, US) 語彙,請選擇 Upload lexicon (上傳語彙) 和上傳,然後從清單中選擇它。若要建立此語彙訊,請參閱 上傳語彙。

  6. 若要立即接聽語音,請選擇接聽。

  7. 若要將語音儲存至檔案,

    1. 選擇 Download (下載)。

    2. 若要變更為不同的檔案格式,請開啟語音檔案格式設定,選擇您想要的檔案格式,然後選擇下載。

重複之前的步驟,但選擇不同的語言,並留意輸出中的差異。

AWS CLI

在 SynthesizeSpeech 的呼叫中,您可以指定多個語彙。在此例中,第一個指定的語彙 (從左到右) 覆寫前面的語彙。

請考量下列兩個語彙。請注意,每個語彙描述相同語素 W3C 的不同別名。

  • 語彙 1:w3c.pls

    <?xml version="1.0" encoding="UTF-8"?> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US"> <lexeme> <grapheme>W3C</grapheme> <alias>World Wide Web Consortium</alias> </lexeme> </lexicon>
  • 語彙 2:w3cAlternate.pls

    <?xml version="1.0" encoding="UTF-8"?> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US"> <lexeme> <grapheme>W3C</grapheme> <alias>WWW Consortium</alias> </lexeme> </lexicon>

假設您將這些語彙分別儲存為 w3c 和 w3cAlternate。如果您在 SynthesizeSpeech 呼叫中依順序 (w3c 在前, w3cAlternate 在後) 指定語彙,第一個語彙所定義的 W3C 別名優先於第二個。要測試語彙,請依下列步驟執行:

  1. 將語彙儲存在本機檔案 w3c.pls 和 w3cAlternate.pls 中。

  2. 使用 put-lexicon AWS CLI 命令上傳這些語彙。

    • 上傳 w3c.pls 語彙,並將它儲存為 w3c。

      aws polly put-lexicon \ --name w3c \ --content file://w3c.pls
    • 上傳服務上的 w3cAlternate.pls 語彙做為 w3cAlternate。

      aws polly put-lexicon \ --name w3cAlternate \ --content file://w3cAlternate.pls
  3. 執行 synthesize-speech 命令將範例文字合成到音訊串流 (speech.mp3),然後使用 lexicon-name 參數指定兩種語彙

    aws polly synthesize-speech \ --text 'PLS is a W3C recommendation' \ --voice-id Joanna \ --output-format mp3 \ --lexicon-names '["w3c","w3cAlternative"]' \ speech.mp3
  4. 測試產生的 speech.mp3。其讀取如下:

    PLS is a World Wide Web Consortium recommendation