使用語音合成標記語言
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 文件。