Usar a Linguagem de Marcação de Sintetização de Voz
Embora o SDK de Fala do Azure permita que você envie texto sem formatação para ser sintetizado em fala, o serviço também dá suporte a uma sintaxe baseada em XML para descrever 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.
- 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 fala ou áudio gravado, por exemplo, para incluir uma mensagem registrada padrão ou simular ruído de plano 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.
- Ariana (alegremente): "Eu digo tomate:
- Guy: "Eu digo tomate (pronunciado tom-ah-toe) ... Vamos cancelar tudo isso!"
Para enviar uma descrição SSML para o serviço de Fala, você pode utilizar um método apropriado de um objeto SpeechSynthesizer, como o seguinte:
speech_synthesizer.speak_ssml('<speak>...');
Para obter mais informações sobre o SSML, consulte a documentação do SDK de Fala do Azure.