Usar a linguagem de marcação de síntese de fala

Concluído

Embora o SDK de Fala do Azure AI permita que você envie texto sem formatação para ser sintetizado em fala (por exemplo, usando o método SpeakTextAsync(), o serviço também dá suporte a uma sintaxe baseada em XML para descrever as características da fala que você deseja gerar. Esta sintaxe SSML (Speech Synthesis Markup Language ) oferece maior controle sobre como a saída falada soa, permitindo que você:

  • Especifique um estilo de fala, como "animado" ou "alegre" ao usar uma voz neural.
  • Insira pausas ou silêncio.
  • Especifique fonemas (pronúncias fonéticas), por exemplo, para pronunciar o texto "SQL" como "sequela".
  • Ajuste a prosódia da voz (afetando o tom, o timbre e a velocidade de fala).
  • Use regras comuns de "dizer como", por exemplo, para especificar que uma determinada cadeia de caracteres deve ser expressa como data, hora, número de telefone ou outra forma.
  • Insira fala ou á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>

Este SSML especifica um diálogo falado entre duas vozes neurais diferentes, como esta:

  • Ariana (alegre): "Eu digo tomate:
  • Guy: "Eu digo tomate (pronuncia-se tom-ah-toe) ... Vamos acabar com tudo!"

Para enviar uma descrição SSML para o serviço de fala, você pode usar o método SpeakSsmlAsync(), da seguinte forma:

speechSynthesizer.SpeakSsmlAsync(ssml_string);

Para obter mais informações sobre SSML, consulte a documentação do SDK de Fala do Azure AI.