Использование языка SSML

Завершено

Хотя пакет SDK службы "Речь ИИ Azure" позволяет синтезировать обычный текст в речь (например, с помощью метода SpeakTextAsync(), служба также поддерживает синтаксис на основе XML для описания характеристик речи, которую вы хотите создать. Этот синтаксис Speech Synthesis Markup Language (SSML) предоставляет более широкие возможности управления голосовым выводом, что позволяет реализовывать следующие задачи:

  • задавать стиль речи, например восторженный или энергичный, при использовании нейронного голоса;
  • вставлять паузы или моменты тишины;
  • указывать фонемы (фонетические произношения), например, чтобы произносить текст "SQL" как "сиквел";
  • настраивать интонацию голоса (влияющую на тон, тембр и частоту речи);
  • использовать распространенные правила способов чтения, например, чтобы указать, что заданная строка должна быть выражена как дата, время, номер телефона и в другой форме;
  • вставлять записанную речь или звук, например добавлять стандартное записанное сообщение или имитировать фоновый шум.

Рассмотрим следующий 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 (энергично): "I say tomato:
  • Guy: "I say tomato (произносит tom-ah-toe)... Let's call the whole thing off!"

Чтобы отправить описание SSML в службу "Речь", можно использовать метод SpeakSsmlAsync(), как показано ниже.

speechSynthesizer.SpeakSsmlAsync(ssml_string);

Дополнительные сведения о SSML см. в документации по пакету SDK службы "Речь" azure AI.