Uso de Lenguaje de marcado de síntesis de voz

Completado

Aunque el SDK de Voz de Azure AI le permite enviar texto sin formato para sintetizarlo en voz (por ejemplo, mediante el método SpeakTextAsync()), el servicio también admite una sintaxis basada en XML para describir las características de la voz que desea generar. Esta sintaxis de Lenguaje de marcado de síntesis de voz (SSML) ofrece un mayor control sobre cómo suena la salida hablada, lo que le permite:

  • Especificar un estilo de habla, como "entusiasmado" o "alegre" al usar una voz neuronal.
  • Insertar pausas o silencio.
  • Especificar fonemas (pronunciaciones fonéticas), por ejemplo, para pronunciar el texto "SQL" como "sequel".
  • Ajustar la prosodia de la voz (lo que afecta al tono, el timbre y la velocidad de habla).
  • Usar reglas comunes "say-as", por ejemplo, para especificar que una cadena determinada se debe expresar como fecha, hora, número de teléfono u otra forma.
  • Insertar voz o audio grabados, por ejemplo, para incluir un mensaje grabado estándar o simular ruido de fondo.

Por ejemplo, considere el SSML siguiente:

<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 un diálogo hablado entre dos voces neuronales diferentes, como el siguiente:

  • Ariana (alegremente): "I say tomato:
  • Guy: "I say tomato (pronunciado tom-ah-toe) ... Let's call the whole thing off!"

Para enviar una descripción de SSML al servicio de Voz, puede usar el método SpeakSsmlAsync(), como se indica a continuación:

speechSynthesizer.SpeakSsmlAsync(ssml_string);

Para obtener información sobre SSML, consulte la documentación del SDK de Voz de Azure AI.