Usar a Linguagem de Marcação de Sintetização de Voz

Concluído

Embora o SDK da Fala de IA do Azure permita enviar texto sem formatação para ser sintetizado em fala (por exemplo, usando o método SpeakTextAsync()), o serviço também é compatível com uma sintaxe baseada em XML para descrever as características da fala que você deseja gerar. Essa sintaxe de SSML (Linguagem de Marcação de Sintetização de Voz) oferece maior controle sobre o som da saída falada, o que permite:

  • Especificar um estilo de fala, como "empolgado" ou "animado" ao usar a voz neural.
  • Inserir pausas ou silêncio.
  • Especificar fonemas (pronúncias fonéticas), por exemplo, pronunciar "SQL" como "sequel".
  • Ajustar a prosódia da voz (afetando o tom, o timbre a velocidade de fala).
  • Use regras "say-as" comuns, por exemplo, para especificar que uma determinada cadeia de caracteres deve ser expressa como uma data, uma hora, um número de telefone ou outro formato.
  • Insira a fala ou o áudio gravados, por exemplo, para incluir uma mensagem gravada padrão ou simular ruído de fundo.

Por exemplo, considere o seguinte 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>

Esse SSML especifica um diálogo falado entre duas vozes neurais diferentes, desta maneira:

  • Ariana (alegre): "Eu falo 'tomato'"
  • Guy: "Eu falo 'tomato' (pronuncia-se tom-ah-toe)… Vamos cancelar tudo!".

Para enviar uma descrição de SSML para o serviço de Fala, use o método SpeakSsmlAsync(), desta maneira:

speechSynthesizer.SpeakSsmlAsync(ssml_string);

Para saber mais sobre o SSML, consulte a documentação do SDK de Fala de IA do Azure.