Speech Synthesis Markup Language ( SSML ) es un lenguaje de marcado basado en XML para aplicaciones de síntesis de voz . Es una recomendación del grupo de trabajo de navegadores de voz del W3C . SSML suele estar integrado en scripts VoiceXML para controlar sistemas de telefonía interactivos. Sin embargo, también se puede utilizar solo, por ejemplo, para crear audiolibros. Para aplicaciones de escritorio, otros lenguajes de marcado son populares, incluidos los comandos de voz integrados de Apple y el marcado de texto a voz (TTS) SAPI de Microsoft , también un lenguaje XML. También se utiliza para producir sonidos a través de la API de texto a voz de Azure Cognitive Services o al escribir habilidades de terceros para Google Assistant o Amazon Alexa .
SSML se basa en el lenguaje de marcado de voz Java (JSML) desarrollado por Sun Microsystems , aunque la recomendación actual fue desarrollada principalmente por proveedores de síntesis de voz. Cubre prácticamente todos los aspectos de la síntesis, aunque algunas áreas se han dejado sin especificar, por lo que cada proveedor acepta una variante diferente del lenguaje. Además, en ausencia de marcado, se espera que el sintetizador haga su propia interpretación del texto.
A continuación se muestra un ejemplo de un documento SSML:
<?xml version="1.0"?> <speak xmlns= "http://www.w3.org/2001/10/synthesis" xmlns:dc= "http://purl.org/dc/elements/1.1/" version= "1.0" > <metadata> <dc:title xml:lang= "es" > Menú del teléfono : Nivel 1 </dc:title> </metadata> <p> <s xml : lang= "en-US" > < voice name= "David" gender= "male" age= "25" > Para inglés, oprima <emphasis> uno </emphasis> . </voice> </s> <s xml:lang= "es-MX" > <voice name= "Miguel" gender= "male" age= "25" > Para español, oprima el <emphasis> dos </emphasis> . </voice> </s> </p> </hablar>
SSML especifica una cantidad considerable de marcado para prosodia , que no está incluida en el ejemplo anterior. Esto incluye marcado para