使用 SSML 的語音和音效

使用語音合成標記語言 (SSML) 來指定文字轉換語音語音、語言、名稱、樣式和角色。 您可以在單一 SSML 檔中使用多個語音。 調整強調、說話速率、音調和音量。 您也可以使用 SSML 來插入預先錄製的音訊,例如音效或音樂筆記。

如需如何使用 SSML 元素來指定語音和音效的詳細資訊,請參閱下列各節。 如需 SSML 語法的詳細資訊,請參閱 SSML 檔結構和事件

Voice 元素

每個 SSML speak元素內必須至少指定一個專案 voice 。 這個專案會決定用於文字轉換語音的語音。

您可以在單一 SSML 檔中包含多個 voice 元素。 每個 voice 元素都可以指定不同的語音。 您也可以搭配不同的設定多次使用相同的語音,例如當您變更句子之間的 無聲持續時間 時。

voice下表說明元素屬性的使用方式。

屬性 描述 必要或選用
name 用於文字到語音輸出的語音。 如需完整的受支援預建語音清單,請參閱語言支援 必要
effect 音訊效果處理器,用來優化裝置上特定案例的合成語音輸出品質。

在某些生產環境中,稽核體驗可能會因為特定裝置上的播放失真而降低。 例如,來自汽車喇叭的合成語音可能會因為喇叭回應、會議室殘響和背景雜訊等環境因素而發出音效和緩衝。 乘客可能需要開啟音量,才能更清楚地聽到。 為了避免在這類案例中手動操作,音訊效果處理器可以藉由補償播放失真,讓音效更清楚。

支援下列值:
  • eq_car – 在汽車、公車和其他封閉汽車中提供高逼真度語音時,優化稽核體驗。
  • eq_telecomhp8k – 優化電信或電話案例中窄帶語音的稽核體驗。 我們建議取樣率為 8 kHz。 如果取樣率不是 8 kHz,輸出語音的稽核品質將不會優化。

如果值遺失或無效,則會忽略此屬性,而且不會套用任何效果。
選擇性

語音範例

先前已描述專案屬性 voice 的支援值。

單一語音範例

此範例使用 en-US-JennyNeural 語音。

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-JennyNeural">
        This is the text that is spoken.
    </voice>
</speak>

多個語音範例

在 元素中 speak ,您可以為文字到語音輸出指定多個語音。 這些語音可以採用不同語言。 每個語音的文字必須包裝在 voice 元素內。

這個範例會在 和 en-US-ChristopherNeural 語音之間 en-US-JennyNeural 替代。

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-JennyNeural">
        Good morning!
    </voice>
    <voice name="en-US-ChristopherNeural">
        Good morning to you too Jenny!
    </voice>
</speak>

自訂神經語音範例

若要使用自訂神經語音,請將模型名稱指定為 SSML 中的語音名稱。

此範例使用名為 「my-custom-voice」 的自訂語音。

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="my-custom-voice">
        This is the text that is spoken.
    </voice>
</speak>

音訊效果範例

您可以使用 effect 屬性來優化汽車和電信等案例的稽核體驗。 下列 SSML 範例會 effect 使用 屬性搭配汽車案例中的組態。

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-JennyNeural" effect="eq_car">
        This is the text that is spoken.
    </voice>
</speak>

說出樣式和角色

根據預設,神經語音具有中性說話風格。 您可以在句子層級調整說話風格、風格程度和角色。

注意

一部分神經語音支援樣式、樣式程度和角色,如 語音樣式和角色 檔中所述。 若要判斷每個語音支援哪些樣式和角色,您也可以使用 清單語音 API 和 音訊內容建立 Web 應用程式。

mstts:express-as下表說明元素屬性的使用方式。

屬性 描述 必要或選用
style 語音特定的說話風格。 您可以表達情緒,例如快樂、同理心和情緒。 您也可以針對不同案例進行語音最佳化 (例如客戶服務、新聞廣播、語音助理)。 如果樣式值遺失或無效,則會忽略整個 mstts:express-as 元素,而服務會使用預設的中性語音。 如需自訂神經語音樣式,請參閱 自訂神經語音樣式範例 必要
styledegree 說話樣式的強度。 您可以指定更強或更軟的樣式,讓語音更具表達性或變低。 接受的值範圍包括:0.01 到 2。 預設值為 1,代表的是預先定義的風格強度。 最小單位是 0.01,會讓語音略微傾向目標風格。 值為 2 則會讓預設風格強度加倍。 如果語音缺少或不支援樣式程度,則會忽略此屬性。 選擇性
role 說話者角色扮演。 語音可以模擬不同的年齡和性別,但語音名稱不會變更。 例如,男性語音可以提高音調並變更語調來模仿女性聲音,但語音名稱不變。 如果您的語音遺失或不支援角色,則會忽略此屬性。 選擇性

下表包含每個支援 style 屬性的描述。

樣式 描述
style="advertisement_upbeat" 用於推廣產品或服務,表達出興奮、有活力的口吻。
style="affectionate" 用較高的音調和發聲能量來表達溫暖和深情的口吻。 說話者的狀態會引起聆聽者的注意。 說話者的人格特質通常是天性討喜。
style="angry" 表達生氣和苦惱的口吻。
style="assistant" 為數位助理表達溫暖放鬆的口吻。
style="calm" 在說話時表達冷靜、沉著、安祥的態度。 口吻、音調和韻律比其他類型的語音更加統一。
style="chat" 表達隨意放鬆的口吻。
style="cheerful" 表達正面快樂的口吻。
style="customerservice" 為客戶支援表達友善且樂於助人的口吻。
style="depressed" 用較低的音調和能量表達憂鬱頹喪的口吻。
style="disgruntled" 表達輕蔑抱怨的口吻。 此表情的語音會顯露出不悅和輕視。
style="documentary-narration" 以輕鬆、有趣且內容豐富的風格講述文件,適合用於文件配音、專家評論和類似的內容。
style="embarrassed" 在說話者感到不安時,表達不確定和遲疑的口吻。
style="empathetic" 表達關懷和理解的意思。
style="envious" 當您想要其他人所擁有的東西時,表達出的那種羨慕口吻。
style="excited" 表達歡快及滿懷希望的口吻。 聽起來像說話者因為好事發生而相當開心。
style="fearful" 用較高的音調、較高的發聲能量和更快的語速,表達害怕緊張的語氣。 說話者處於緊張、侷促不安的狀態。
style="friendly" 表達愉悅、宜人且溫暖的口吻。 聽起來真誠且充滿關懷。
style="gentle" 用較低的音調和發聲能量,表達溫和、有禮、愉快的口吻。
style="hopeful" 表達溫暖、期待的口吻。 聽起來就像即將要有好事降臨在說話者身上一樣。
style="lyrical" 透過旋律和情感的方式表達情緒。
style="narration-professional" 針對朗讀內容表達專業客觀的口吻。
style="narration-relaxed" 針對閱讀內容,舒緩而悅耳的口吻。
style="newscast" 針對播報新聞表達正式專業的口吻。
style="newscast-casual" 針對一般性新聞的傳達來表達通用隨意的口吻。
style="newscast-formal" 針對新聞的傳達來表達正式、自信且權威的口吻。
style="poetry-reading" 在閱讀詩詞時,表達出情緒和節奏的口吻。
style="sad" 表達傷心的口吻。
style="serious" 表達嚴厲、有威嚴的口吻。 說話者的聲音通常很死板、非常拘謹且沒有抑揚頓挫。
style="shouting" 說話的方式就像是人在遠方或戶外,力求讓聲音清晰可聞
style="sports_commentary" 針對體育活動的播報,輕鬆有趣的口吻。
style="sports_commentary_excited" 針對播報體育活動中令人興奮時刻,語氣增強且充滿活力的口吻。
style="whispering" 非常輕柔的說話,發出安靜且溫和的聲音
style="terrified" 以較快的語速和顫抖的聲音表達出非常害怕的口吻。 聽起來像是說話者處於慌亂不安的狀態。
style="unfriendly" 表達冷淡且漠然的口吻。

下表包含每個支援 role 屬性的描述。

角色 描述
role="Girl" 聲音會模仿一個女性。
role="Boy" 聲音會模擬一個小孩。
role="YoungAdultFemale" 聲音會模擬成人女性。
role="YoungAdultMale" 聲音會模擬成人男性。
role="OlderAdultFemale" 語音會模擬較舊的成人女性。
role="OlderAdultMale" 語音會模擬較舊的成人男性。
role="SeniorFemale" 聲音會模擬資深女性。
role="SeniorMale" 聲音會模擬資深男性。

mstts express-as 範例

先前會描述專案屬性 mstts:express-as 的支援值。

樣式和度範例

您可以使用 mstts:express-as 元素來表達不同情緒 (例如愉快、同理、平靜)。 您也可以針對不同案例進行語音最佳化 (例如客戶服務、新聞廣播、語音助理)。

下列 SSML 範例會 <mstts:express-as> 使用具有 「2」 的抱歉樣式度的專案。

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
       xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="zh-CN">
    <voice name="zh-CN-XiaomoNeural">
        <mstts:express-as style="sad" styledegree="2">
            快走吧,路上一定要注意安全,早去早回。
        </mstts:express-as>
    </voice>
</speak>

角色範例

除了能調整說話風格和風格程度外,您還可以調整 role 參數,讓語音模仿不同的年齡和性別。 例如,男性語音可以提高音調並變更語調來模仿女性聲音,但語音名稱不變。

這個 SSML 程式碼片段會說明如何使用 role 屬性來變更 zh-CN-XiaomoNeural 的角色扮演。

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
       xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="zh-CN">
    <voice name="zh-CN-XiaomoNeural">
        女儿看见父亲走了进来,问道:
        <mstts:express-as role="YoungAdultFemale" style="calm">
            “您来的挺快的,怎么过来的?”
        </mstts:express-as>
        父亲放下手提包,说:
        <mstts:express-as role="OlderAdultMale" style="calm">
            “刚打车过来的,路上还挺顺畅。”
        </mstts:express-as>
    </voice>
</speak>

自訂神經語音樣式範例

您可以訓練您的自訂神經語音,以使用一些預設樣式來說話,例如笑臉、快樂和聲聲。 您也可以 將自訂神經語音定 型,以自訂樣式來說話,如定型資料所決定。 若要在 SSML 中使用自訂神經語音樣式,請指定您先前在 Speech Studio 中輸入的樣式名稱。

此範例使用名為 「my-custom-voice」 的自訂語音。 自訂語音會以「cheerful」 預設樣式和樣式度 「2」 說話,然後使用名為 「my-custom-style」 的自訂樣式和樣式度 「0.01」。

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
       xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice name="my-custom-voice">
        <mstts:express-as style="cheerful" styledegree="2">
            That'd be just amazing!
        </mstts:express-as>
        <mstts:express-as style="my-custom-style" styledegree="0.01">
            What's next?
        </mstts:express-as>
    </voice>
</speak>

調整說話語言

根據預設,所有神經語音都可流利地使用自己的語言和英文,而不會使用 <lang xml:lang> 元素。 例如,如果英文的輸入文字是「I'm excited to try text to speech」,而且您使用了 es-ES-ElviraNeural 語音,服務便會使用西班牙文腔調讀出這段英文。 目前,大部分的神經語音不支援在句子或文字層級使用 <lang xml:lang> 元素來設定特定的說話語言。

您可以使用 <lang xml:lang> 元素,在句子層級和文字層級調整 en-US-JennyMultilingualNeural 神經語音的說話語言。 en-US-JennyMultilingualNeural 神經語音支援 14 種語言 (例如:英文、西班牙文和中文)。 在語法和屬性定義之後的 <lang> 表格中會提供支援的語言。

下表說明元素 lang 屬性的使用方式。

屬性 描述 必要或選用
xml:lang 您希望類神經語音說話的語言。 需要調整神經語音的說話語言。 如果您使用的是 lang xml:lang,則必須提供地區設定。

注意

<lang xml:lang> 元素與 prosodybreak 元素不相容。 您無法調整此元素中的停頓和韻律,例如音調、輪廓、語速或音量。

您可以使用下表來判斷每個神經語音支援的說話語言。 如果語音無法說該輸入文字的語言,語音服務將不會輸出合成的音訊。

語音 主要和預設地區設定 次要地區設定
en-US-JennyMultilingualNeural en-US de-DE, en-AU, en-CA, en-GB, es-ES, es-MX, fr-CA, fr-FR, it-IT, ja-JP, ko-KR, pt-BR, zh-CN

Lang 範例

先前會描述專案屬性 lang 的支援值。

en-US-JennyMultilingualNeural 的主要語言為 en-US。 您必須在元素 speak 內指定 en-US 為預設語言,無論語言是否在其他地方受到調整。

此 SSML 程式碼片段示範如何使用 lang 元素 (和 xml:lang 屬性) 來與神經語音交談 de-DEen-US-JennyMultilingualNeural

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
       xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice name="en-US-JennyMultilingualNeural">
        <lang xml:lang="de-DE">
            Wir freuen uns auf die Zusammenarbeit mit Ihnen!
        </lang>
    </voice>
</speak>

在 元素內 speak ,您可以指定多種語言,包括 en-US 文字到語音轉換輸出。 針對每個調整過的語言,文字必須符合語言,並包裝在 voice 元素中。 此 SSML 程式碼片段會說明如何使用 <lang xml:lang> 將說話語言變更為 es-MXen-USfr-FR

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
       xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice name="en-US-JennyMultilingualNeural">
        <lang xml:lang="es-MX">
            ¡Esperamos trabajar con usted!
        </lang>
        <lang xml:lang="en-US">
           We look forward to working with you!
        </lang>
        <lang xml:lang="fr-FR">
            Nous avons hâte de travailler avec vous!
        </lang>
    </voice>
</speak>

調整韻律

元素 prosody 是用來指定文字到語音輸出的音調、分佈、範圍、速率和音量的變更。 prosody 元素可以包含文字和下列元素:audiobreakpphonemeprosodysay-assubs

因為韻律屬性值的變化範圍很廣,所以語音辨識器會將指派的值解釋為所選語音實際韻律值的建議值。 文字轉換語音限制,或取代不支援的值。 舉例來說,不支援的值有 1 MHz 的音調或 120 的音量。

下表說明元素 prosody 屬性的使用方式。

屬性 描述 必要或選用
contour 輪廓代表音調的變化。 在語音輸出中,會以指定時間位置的目標陣列表示這些變化。 每個目標都由一組參數配對加以定義。 例如:

<prosody contour="(0%,+20Hz) (10%,-2st) (40%,+10Hz)">

每一組參數中的第一個值會以文字持續時間百分比的形式指定音調變化位置。 第二個值則會使用音調的相對值或列舉值 (請參閱 pitch) 來指定音調要提高或減少的數量。
選擇性
pitch 指出文字的基準音調。 音調變更可以套用到句子層級。 音調變更應該在原始音訊的 0.5 到 1.5 倍之內。 您可以用下列方式表達音調:
  • 絕對值:表達方式為數字後面加上「Hz」(赫茲)。 例如: <prosody pitch="600Hz">some text</prosody>
  • 相對值:
    • 相對值:表達方式為數字前面加上「+」或「-」,後面加上「Hz」或「st」,以指定變更音調的數量。 例如:<prosody pitch="+80Hz">some text</prosody><prosody pitch="-2st">some text</prosody>。 「st」指出變更單位是半音,也就是標準自然音階的一半音調 (半階)。
    • 以百分比表示:表達方式為數字前面加上「+」(選擇性) 或「-」,以及後面加上「%」,表示相對變更。 例如:<prosody pitch="50%">some text</prosody><prosody pitch="-50%">some text</prosody>
  • 常數值:
    • 極低
    • low
    • high
    • 極高
    • 預設
選擇性
range 此值代表文字的音調範圍。 您可以使用和描述 range 時所使用的相同絕對值、相對值或列舉值來表達 pitch 選擇性
rate 指出文字的語速。 語速可套用到文字或句子層級。 速率變更應該在原始音訊的 0.5 到 2 倍之內。 rate 可表達如下:
  • 相對值:
    • 相對值:以作為預設乘數的數字表示。 例如,數值 1 不會變更原始速率。 數值 0.5 會導致原始速率減半。 數值 2 會是原始速率的兩倍。
    • 以百分比表示:表達方式為數字前面加上「+」(選擇性) 或「-」,以及後面加上「%」,表示相對變更。 例如:<prosody rate="50%">some text</prosody><prosody rate="-50%">some text</prosody>
  • 常數值:
    • 特別慢
    • slow
    • 快速
    • 特別快
    • 預設
選擇性
volume 指出說話語音的音量高低。 音量變更可以套用到句子層級。 音量可表達為:
  • 絕對值:以 0.0 到 100.0 (從最小聲最大聲) 之間的數字表示。 例如 75。 預設值是 100.0。
  • 相對值:
    • 相對值:表達方式為數字前面加上「+」或「-」,以指定變更音量的數量。 例如 +10 或 -5.5。
    • 以百分比表示:表達方式為數字前面加上「+」(選擇性) 或「-」,以及後面加上「%」,表示相對變更。 例如:<prosody volume="50%">some text</prosody><prosody volume="+3%">some text</prosody>
  • 常數值:
    • silent
    • 特別小聲
    • 小聲
    • 大聲
    • 特別大聲
    • 預設
選擇性

Prosody 範例

先前會描述專案屬性 prosody 的支援值。

變更說話率範例

此 SSML 程式碼片段說明如何使用 rate 屬性,將說話速率變更為大於預設速率的 30%。

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-JennyNeural">
        <prosody rate="+30.00%">
            Enjoy using text to speech.
        </prosody>
    </voice>
</speak>

變更磁片區範例

此 SSML 程式碼片段說明如何使用 volume 屬性,將磁片區變更為大於預設磁片區的 20%。

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-JennyNeural">
        <prosody volume="+20.00%">
            Enjoy using text to speech.
        </prosody>
    </voice>
</speak>

變更音調範例

此 SSML 程式碼片段說明如何使用 pitch 屬性,讓語音以高音調說話。

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-JennyNeural">
        Welcome to <prosody pitch="high">Enjoy using text to speech.</prosody>
    </voice>
</speak>

變更間距分佈範例

此 SSML 程式碼片段說明如何使用 contour 屬性來變更分佈。

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-JennyNeural">
        <prosody contour="(60%,-60%) (100%,+80%)" >
            Were you the only person in the room?
        </prosody>
    </voice>
</speak>

調整強調

選用的 emphasis 元素是用來新增或移除文字的文字層級重音。 此元素可以包含文字和下列元素:audiobreakemphasislangphonemeprosodysay-assubvoice

注意

文字層級的強調微調僅適用於這些神經語音:en-US-GuyNeuralen-US-DavisNeuralen-US-JaneNeural

下表說明元素 emphasis 屬性的使用方式。

屬性 描述 必要或選用
level 指出要套用的強調強度:
  • reduced
  • none
  • moderate
  • strong

未指定 level 屬性時,預設層級為 moderate。 如需每個屬性的詳細資訊,請參閱強調元素
選擇性

強調範例

先前會描述專案屬性 emphasis 的支援值。

此 SSML 程式碼片段示範如何使用 emphasis 元素,為「meetings」這個字新增中等程度的強調。

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice name="en-US-GuyNeural">
    I can help you join your <emphasis level="moderate">meetings</emphasis> fast.
    </voice>
</speak>

新增錄製的音訊

audio 則是選擇性元素。 您可以使用該元素,將預錄的音訊插入 SSML 文件中。 如果音訊檔案無法使用或無法播放,元素主體 audio 可以包含純文字或 SSML 標記。 audio 元素也可以包含文字和下列元素:audiobreakpsphonemeprosodysay-assub

SSML 文件中包含的所有音訊都必須符合下列需求:

  • 音訊檔必須是有效的 *.mp3、*.wav、*.opus、*.ogg、*.flac 或 *.wma 檔案。
  • 單一回應中所有文字和音訊檔案的合併總時間不能超過 600 秒。
  • 音訊不得包含任何客戶特有資訊或其他敏感性資訊。

注意

長音訊 API 不支援 audio 元素。 對於長格式文字轉換語音,請改用 批次合成 API (Preview) 。

下表說明元素 audio 屬性的使用方式。

屬性 描述 必要或選用
src 音訊檔案的 URI 位置。 音訊必須裝載在可透過網際網路存取的 HTTPS 端點上。 需要 HTTPS,而且裝載檔案的網域必須出示有效且受信任的 TLS/SSL 憑證。 我們建議您將音訊檔案放在與文字到語音端點相同的 Azure 區域中,將音訊檔案放入 Blob 儲存體中,以將延遲降到最低。 必要

音訊範例

先前會描述專案屬性 audio 的支援值。

此 SSML 程式碼片段說明如何使用 src 屬性來插入來自兩個 .wav 檔案的音訊。

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-JennyNeural">
        <p>
            <audio src="https://contoso.com/opinionprompt.wav"/>
            Thanks for offering your opinion. Please begin speaking after the beep.
            <audio src="https://contoso.com/beep.wav">
                Could not play the beep, please voice your opinion now.
            </audio>
        </p>
    </voice>
</speak>

音訊持續時間

mstts:audioduration使用 元素來設定輸出音訊的持續時間。 使用這個專案可協助同步處理音訊輸出完成的時間。 音訊持續時間可以減少或增加到原始音訊的速率介於 0.5 到 2 倍之間。 這裡的原始音訊是沒有任何其他速率設定的音訊。 說話速率會根據設定值而變慢或相應增加。

音訊持續時間設定會套用至其封入 voice 專案內的所有輸入文字。 若要再次重設或變更音訊持續時間設定,您必須使用具有相同語音或不同語音的新 voice 元素。

下表說明元素 mstts:audioduration 屬性的使用方式。

屬性 描述 必要或選用
value (,例如) 或毫秒 2000ms 等 (,例如 2s) ,所要求輸出音訊的持續時間。

此值應該在原始音訊的 0.5 到 2 倍內,而不需任何其他速率設定。 例如,如果音訊所要求的持續時間是 30s ,則原始音訊必須介於 15 到 60 秒之間。 如果您設定超出這些界限的值,則會根據個別的最小值或最大值來設定持續時間。

假設您要求的輸出音訊持續時間,語音服務會據以調整說話速率。 使用 語音清單 API 並檢查 WordsPerMinute 屬性,以找出您所使用的神經語音說話率。 您可以將輸入文字中的字數除以 屬性的值 WordsPerMinute ,以取得近似的原始輸出音訊持續時間。 當您設定最接近估計持續時間的音訊持續時間時,輸出音訊會最自然。
必要

mstts 音訊持續時間範例

先前會描述專案屬性 mstts:audioduration 的支援值。

在此範例中,原始音訊大約是 15 秒。 元素 mstts:audioduration 用來將音訊持續時間設定為 20 秒, (20s) 。

<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="en-US-JennyNeural">
<mstts:audioduration value="20s"/>
If we're home schooling, the best we can do is roll with what each day brings and try to have fun along the way.
A good place to start is by trying out the slew of educational apps that are helping children stay happy and smash their schooling at the same time.
</voice>
</speak>

背景音訊

您可以使用 mstts:backgroundaudio 元素,將背景音訊新增至 SSML 檔,或混合音訊檔案與文字轉換語音。 透過 mstts:backgroundaudio ,您可以在背景迴圈播放音訊檔案、在文字轉換語音的開頭淡入,並在文字轉換語音的結尾淡出。

如果提供的背景音訊比文字轉換語音或淡出短,它會迴圈。 如果超過文字轉換語音的時間,則會在淡出完成時停止。

每個 SSML 文件只能有一個背景音訊檔案。 您可以在 voice 元素內穿插 audio 標籤,以在 SSML 文件中新增更多音訊。

注意

專案 mstts:backgroundaudio 應該放在所有 voice 元素前面。 如果指定,它必須是元素的第一個 speak 子系。

長音訊 API 不支援 mstts:backgroundaudio 元素。 對於長格式文字轉換語音,請改用 批次合成 API (Preview) 。

下表說明元素 mstts:backgroundaudio 屬性的使用方式。

屬性 描述 必要或選用
src 背景音訊檔案的 URI 位置。 必要
volume 背景音訊檔案的音量。 接受的值0100 (含)。 預設值是 1 選擇性
fadein 背景音訊的持續時間會以毫秒為單位淡入。 預設值為 0,等同於沒有淡入。 接受的值010000 (含)。 選擇性
fadeout 背景音訊的持續時間會以毫秒為單位淡出。 預設值為 0,等同於沒有淡出。接受的值010000 (含)。 選擇性

mstss backgroundaudio 範例

先前會描述專案屬性 mstts:backgroundaudio 的支援值。

<speak version="1.0" xml:lang="en-US" xmlns:mstts="http://www.w3.org/2001/mstts">
    <mstts:backgroundaudio src="https://contoso.com/sample.wav" volume="0.7" fadein="3000" fadeout="4000"/>
    <voice name="en-US-JennyNeural">
        The text provided in this document will be spoken over the background audio.
    </voice>
</speak>

下一步