使用語音合成標記語言

已完成

Azure AI 語音 SDK 可讓您提交純文字以合成語音 (例如,使用 SpeakTextAsync() 方法),服務也支援您以 XML 為基礎的語法,描述想要產生的語音特性。 此語音合成標記語言 (SSML) 語法可讓您對語音輸出音效有更大的控制權,從而:

  • 在使用類神經網路語音時,指定其語音情緒,例如「興奮」或「愉快」。
  • 插入停頓或沉默。
  • 指定音素 (語音發音),例如:將文字「SQL」的發音指定為「sequel」。
  • 調整語音的韻律 (影響音調、音色和說話速度)。
  • 使用常見的「say-as」規則,以指定特定字串應以日期、時間、電話號碼或其他形式表示等等。
  • 插入錄製的語音或音訊,以包含標準錄製的訊息或模擬背景雜音等等。

例如,請考慮下列 SSML:

<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-AriaNeural"> 
        <mstts:express-as style="cheerful"> 
          I say tomato 
        </mstts:express-as> 
    </voice> 
    <voice name="en-US-GuyNeural"> 
        I say <phoneme alphabet="sapi" ph="t ao m ae t ow"> tomato </phoneme>. 
        <break strength="weak"/>Lets call the whole thing off! 
    </voice> 
</speak>

此 SSML 會在兩個不同的類神經網路語音之間指定語音對話方塊,如下所示:

  • Ariana (愉快):「我說蕃茄:
  • Guy:「我說蕃茄 (發音為 ㄈㄢ-ㄑ一ㄝˊ) ... 我們整個取消吧!」

若要將 SSML 描述提交至語音服務,您可使用 SpeakSsmlAsync () 方法,如下所示:

speechSynthesizer.SpeakSsmlAsync(ssml_string);

如需更多有關 SSML 的資訊,請參閱Azure AI 語音 SDK 文件