分享方式:


在您的應用程式中使用個人版語音

您可以使用個人語音的說話者設定檔識別碼,以超過 100 種地區設定支援的任何 91 種語言合成語音。 不需要地區設定標籤。 個人語音會在句子層級使用自動語言偵測。

在您的應用程式中整合個人語音

您必須使用語音合成標記語言 (SSML) 在應用程式中使用個人語音。 SSML 是以 XML 為基礎的標記語言,可提供標準方法來標記文字以產生綜合語音。 SSML 標記可用來控制語音合成輸出的發音、音量、音調、速率和其他屬性。

  • SSML 中的 speakerProfileId 屬性可用來指定個人語音的說話者設定檔識別碼

  • 語音名稱是在 SSML 的 name 屬性中指定。 針對個人語音,語音名稱必須是其中一個支援的基底模型語音名稱。 若要取得支援的基底模型語音名稱清單,請使用自訂語音 API 的 BaseModels_List 作業。

    注意

    標示為 Latest 的語音名稱,例如 DragonLatestNeuralPhoenixLatestNeural,將會不時更新; 其效能可能會隨著更新而有所不同,以取得持續改善。 如果您要使用固定版本,請選擇一個加上版本號碼的標籤,例如 PhoenixV2Neural

  • DragonLatestNeuralPhoenixLatestNeural 相比,是具有優越語音複製相似性的基底模型。 PhoenixLatestNeural 是一個基底模型,其發音更精確,延遲比 DragonLatestNeural 較低。

  • 針對個人語音,您可以使用 <lang xml:lang> 元素來調整口語語言。 這與多語系語音相同。 請參閱 如何使用 lang 元素來說不同語言

以下是語音名稱和說話者設定檔識別碼之文字轉換語音要求中的範例 SSML。 此範例也會示範如何使用 <lang xml:lang> 元素,將語言從 en-US 切換為 zh-HK

<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xmlns:mstts='http://www.w3.org/2001/mstts' xml:lang='en-US'>
    <voice name='DragonLatestNeural'> 
        <mstts:ttsembedding speakerProfileId='your speaker profile ID here'> 
            I'm happy to hear that you find me amazing and that I have made your trip planning easier and more fun. 
            <lang xml:lang='zh-HK'>我很高興聽到你覺得我很了不起,我讓你的旅行計劃更輕鬆、更有趣。</lang>
        </mstts:ttsembedding> 
    </voice> 
</speak>

您可以透過語音 SDKREST API 使用 SSML。

  • 即時語音合成: 使用 語音 SDKREST API 將文字轉換成語音。
    • 當您使用語音 SDK 時,請勿設定端點識別碼,就像預先建置語音一樣。
    • 當您使用 REST API 時,請使用預先建置的神經語音端點。

個人語音支援和不支援的 SSML 元素

如需 Phoenix 和 Dragon 模型支援和不支援 SSML 元素的詳細資訊,請參閱下表。 如需如何使用 SSML 元素的指示,請參閱 SSML 文件結構和事件

元素 描述 在 Phoenix 中支援 在 Dragon 中支援
<voice> 指定語音和選用效果 (eq_careq_telecomhp8k)。 Yes Yes
<mstts:express-as> 指定說話風格和角色。 No No
<mstts:ttsembedding> 指定個人語音的 speakerProfileId 屬性。 Yes Yes
<lang xml:lang> 指定說話語言。 Yes Yes
<prosody> 調整音調、輪廓、範圍、速率和音量。
   pitch 指出文字的基準音調。 No No
   contour 代表音調的變化。 No No
   range 代表文字的音調範圍。 No No
   rate 指出文字的語速。 Yes Yes
   volume 指出說話語音的音量高低。 No No
<emphasis> 新增或移除文字的文字層級壓力。 No No
<audio> 將預先錄製的音訊內嵌至 SSML 文件。 No
<mstts:audioduration> 指定輸出音訊的持續時間。 No No
<mstts:backgroundaudio> 在 SSML 文件中新增背景音訊或使用文字轉換語音來混合音訊檔案。 No
<phoneme> 指定 SSML 文件中的語音發音。
   ipa 其中一個音標字母。 No
   sapi 其中一個音標字母。 No No
   ups 其中一個音標字母。 No
   x-sampa 其中一個音標字母。 No
<lexicon> 定義如何在 SSML 中讀取多個實體。 Yes 是 (僅支援別名)
<say-as> 指出元素文字的內容類型,例如數字或日期。 Yes Yes
<sub> 指出別名屬性的文字值應該發音,而不是元素的括住文字。 Yes Yes
<math> 使用 MathML 作為輸入文字,以在輸出音訊中正確發音數學符號。 No
<bookmark> 取得音訊資料流中每個標記的位移。 No
<break> 覆寫單字之間中斷或暫停的預設行為。 Yes Yes
<mstts:silence> 在文字前、文字後,或在兩個連續的句子之間插入停頓。 No
<mstts:viseme> 定義人在說話時,臉部和嘴巴的位置。 No
<p> 表示 SSML 文件中的段落。 Yes Yes
<s> 表示 SSML 文件中的句子。 Yes Yes

支援與不支援的個人語音 SDK 功能

下表概述了 Phoenix 和 Dragon 模型支援的 SDK 功能。 如需如何在應用程式中使用這些 SDK 功能的詳細資料,請參閱訂閱合成器事件

SDK 功能 說明 在 Phoenix 中支援 在 Dragon 中支援
詞語邊界 指示在合成期間接收到一個詞語邊界,提供在語音合成過程中的精確詞語時間點。 No
Viseme 事件 在合成期間提供 viseme (嘴唇、下巴和舌頭移動) 資訊,從而實現視覺同步。 No

參考文件

下一步

  • 概觀中深入了解自訂神經語音。
  • 概觀中深入了解 Speech Studio。