Elementos SSML
Con el servicio IBM Watson® Text to Speech, puede utilizar la mayoría de los elementos y atributos del lenguaje SSML (Speech Synthesis Markup Language) para controlar la síntesis del texto.
Elementos y atributos soportados
La Tabla 1 resume el soporte que da el servicio para los elementos y atributos SSML:
- Completo significa que el servicio da soporte completo al elemento o atributo con sus interfaces HTTP y WebSocket.
- Parcial significa que el soporte del servicio para el elemento o atributo está limitado de una de las maneras siguientes:
- El servicio sólo da soporte a algunos aspectos del elemento o atributo.
- El servicio da soporte al elemento o atributo con sólo algunas de sus voces.
- El servicio admite el elemento o atributo sólo con una de sus interfaces, HTTP o WebSocket.
- Ninguno significa que el servicio no da soporte al elemento o atributo.
En las secciones siguientes se proporcionan descripciones de cada elemento o atributo, incluyendo ejemplos, restricciones y si el soporte del servicio difiere del SSML estándar. El soporte para algunos atributos y valores difiere ligeramente de la especificación SSML. Para más información, consulte W3C Speech Synthesis Markup Language(SSML)Version 1.1.
Elemento o atributo | Soporte | Elemento o atributo | Soporte |
---|---|---|---|
elemento <audio> |
Ninguna | elemento <prosody> |
Parcial |
elemento <break> |
Completo |
|
Ninguna |
elemento <desc> |
Ninguna |
|
Ninguna |
elemento <emphasis> |
Parcial | Completo | |
elemento <express-as> |
Parcial |
|
Ninguna |
elemento <lexicon> |
Ninguna | Completo | |
elemento <mark> |
Parcial |
|
Ninguna |
elemento <meta> |
Ninguna | elemento <say-as> |
Parcial |
elemento <metadata> |
Ninguna | Parcial | |
elemento <paragraph> |
Completo | elemento <sentence> |
Completo |
elemento <phoneme> |
Completo | elemento <speak> |
Completo |
elemento <sub> |
Completo | ||
elemento <voice> |
Ninguna |
El elemento <audio>
Este elemento <audio>
inserta elementos grabados en el audio generado por el servicio. No está soportado.
El elemento <break>
El elemento <break>
inserta una pausa en el texto hablado. Tiene los atributos opcionales siguientes:
strength
especifica la longitud de la pausa en términos de valores de intensidad variables:none
suprime una pausa que si no se produciría durante el proceso.x-weak
,weak
,medium
,strong
ox-strong
insertan pausas cada vez más largas.
time
especifica la longitud de la pausa en términos de segundos o milisegundos. Los valores válidos son{integer}s
para segundos o{integer}ms
para milisegundos.
Break size <break strength="none"/> no pause
Break size <break strength="x-weak"/> x-weak pause
Break size <break strength="weak"/> weak pause
Break size <break strength="medium"/> medium pause
Break size <break strength="strong"/> strong pause
Break size <break strength="x-strong"/> x-strong pause
Break size <break time="1s"/> one-second pause
Break size <break time="1500ms"/> 1500-millisecond pause
El elemento <break>
es una funcionalidad beta para voces naturales.
El elemento <desc>
El elemento <desc>
solo puede producirse dentro de un elemento <audio>
. Dado que el elemento <audio>
no está soportado, tampoco lo está el elemento <desc>
.
El elemento <emphasis>
El elemento <emphasis>
está soportado para su uso únicamente con las voces neuronales expresivas.
Con las voces neuronales expresivas, puede utilizar el elemento <emphasis>
para enfatizar o desacentuar una o más palabras del texto de entrada. El elemento da soporte a un atributo level
opcional que acepta uno
de los valores siguientes:
none
-Impide que el servicio resalte el texto que de otro modo se podría enfatizar.moderate
-Proporciona una notable cantidad de énfasis en el texto. Este nivel es el predeterminado si omite el atributolevel
.strong
-Proporciona una cantidad más significativa de énfasis en el texto que la que proporciona el nivel moderado.reduced
-Desenfatiza el texto tendiendo a reducir su significación en el audio. Este nivel es el opuesto a enfatizar el texto.
El ejemplo siguiente aplica el nivel moderate
a la palabra give
:
I am going to <emphasis level="moderate">give</emphasis> her the book.
Para obtener más información, consulte Cómo resaltar palabras.
El elemento <express-as>
El elemento <express-as>
es una extensión SSML específica del servicio Text to Speech. Está soportado para su uso sólo con las voces neuronales expresivas.
Con las voces neuronales expresivas, puede utilizar el elemento <express-as>
para aplicar estilos de habla para mejorar el énfasis del servicio de determinadas características para todo o parte del texto de entrada. El elemento
da soporte a un atributo style
necesario que acepta uno de los siguientes estilos de conversación:
cheerful
-Expresa felicidad y buenas noticias.empathetic
-Expresa empatía y compasión.neutral
-Expresa objetividad y equidad.uncertain
-Expresa confusión e incertidumbre.
El ejemplo siguiente aplica el estilo cheerful
a todo el texto de entrada:
<express-as style="cheerful">Oh, that's good news! I'm glad that we could help.</express-as>
Para obtener más información, consulte Utilización de estilos de habla.
El elemento <lexicon>
Este elemento <lexicon>
introduce diccionarios de pronunciación para el documento SSML dado. No está soportado.
Puede utilizar la interfaz de personalización del servicio para definir un diccionario de entradas personalizadas (pares de palabra/conversión) para su uso durante la síntesis de voz. Para obtener más información, consulte Comprender la personalización.
El elemento <mark>
El elemento <mark>
solo está soportado por la interfaz WebSocket del servicio, no por su interfaz HTTP, que lo ignora. Para obtener más información, consulte Especificar un elemento SSML mark.
El elemento <mark>
no es compatible con las voces naturales.
El elemento <mark>
es un elemento vacío que coloca un marcador en el texto que se va a sintetizar. El cliente recibe una notificación cuando se ha sintetizado todo el texto que precede al elemento <mark>
.
El elemento acepta solo un atributo name
que especifica una serie que identifica de forma exclusiva la marca; el nombre debe empezar por un carácter alfanumérico. El nombre se devuelve junto con el tiempo en que aparece la marca
en el audio sintetizado.
Hello <mark name="here"/> world.
Los elementos <meta>
y <metadata>
Los elementos <meta>
y <metadata>
son contenedores en los que puede colocar información sobre el documento. No están soportados.
Los elementos <paragraph>
y <sentence>
Los elementos <paragraph>
(o <p>
) y <sentence>
(o <s>
) son elementos opcionales que se pueden utilizar para dar sugerencias sobre la estructura textual. Si el texto
que está dentro de un elemento <paragraph>
o <sentence>
no termina con un carácter de puntuación de fin de sentencia (como un punto), el servicio añade una pausa más larga de lo normal al audio sintetizado.
El único atributo válido para cualquiera de estos dos elementos es xml:lang
, que permite cambiar de idioma. Este atributo no está soportado.
<paragraph>
<sentence>Text within a sentence element.</sentence>
<s>More text in another sentence.</s>
</paragraph>
El elemento <phoneme>
El elemento <phoneme>
proporciona una pronunciación fonética para el texto que contiene. La escritura fonética representa los sonidos de una palabra, cómo los sonidos se dividen en sílabas y qué sílabas reciben acento. El
elemento tiene dos atributos:
-
alphabet
es un atributo opcional que especifica la fonología a utilizar. Los alfabetos soportados son- El Alfabeto Fonético Internacional estándar (IPA):
alphabet="ipa"
. - La representación fonética simbólica de IBM (SPR - Symbolic Phonetic Representation):
alphabet="ibm"
.
Si no se especifica ningún alfabeto, el servicio utiliza el SPR de IBM de forma predeterminada. Para obtener más información, consulte Descripción de símbolos fonéticos.
- El Alfabeto Fonético Internacional estándar (IPA):
-
ph
es un atributo obligatorio que proporcionar la pronunciación en el alfabeto indicado. En los ejemplos siguientes se muestra la pronunciación de la palabra tomato en los dos formatos:-
Formato IPA:
<phoneme alphabet="ipa" ph="təˈmeɪ.ɾoʊ">tomato</phoneme>
-
Formato IPA con símbolos Unicode:
<phoneme alphabet="ipa" ph="təˈmeɪ.ɾoʊ">tomato</phoneme>
-
Formato IBM SPR:
<phoneme alphabet="ibm" ph=".0tx.1me.0Fo">tomato</phoneme>
-
Para obtener más información sobre la utilización de las notaciones de SPR e IPA con el elemento <phoneme>
, consulte Información sobre los símbolos fonéticos.
El elemento <prosody>
El elemento <prosody>
controla el tono de voz y la velocidad de habla del texto. Todos los atributos son opcionales, pero se produce un error si no se especifica al menos un atributo con el elemento.
El servicio admite los dos atributos siguientes de la especificación SSML:
La especificación SSML también ofrece cuatro atributos que el servicio no admite:
- El atributo
contour
- El atributo
range
- El atributo
duration
- El atributo
volume
El servicio también soporta parámetros de consulta que le permiten ajustar la velocidad y el tono para todo el texto de una solicitud de síntesis de voz. Para obtener más información sobre los parámetros y su interacción con los atributos pitch
y rate
del elemento <prosody>
, consulte
El elemento <prosody>
no es compatible con las voces naturales.
Diferencias con respecto a la especificación SSML versión 1.1
El servicio Text to Speech basa su soporte de SSML en W3C Speech Síntesis Markup Language(SSML)Versión 1.1. Sin embargo, la especificación SSML ha evolucionado
desde que se publicó por primera vez el servicio. Para mantener la compatibilidad con versiones anteriores para los usuarios, el servicio continúa dando soporte a algunas características del elemento <prosody>
que son
diferentes de la especificación SSML más reciente.
-
Para el atributo
pitch
, el servicio da soporte a las siguientes características adicionales:- Un cambio relativo en porcentaje indicado por un número firmado o sin firmar y seguido por un
%
(signo de porcentaje). El tono predeterminado para una voz es equivalente a pasar un valor de0%
. - Un cambio relativo en los semitones indicado por un número firmado o sin firmar y seguido de la serie
st
.
- Un cambio relativo en porcentaje indicado por un número firmado o sin firmar y seguido por un
-
Para el atributo
rate
, el servicio da soporte a las siguientes características adicionales:- Un cambio relativo en porcentaje indicado por un número firmado o sin firmar y seguido por un
%
(signo de porcentaje). La velocidad de habla predeterminada para una voz es equivalente a pasar un valor de0%
. - Un número sin designación de unidad especifica el número de palabras por minuto. El número es absoluto; no puede especificar un aumento o disminución relativo de palabras por minuto.
- Un cambio relativo en porcentaje indicado por un número firmado o sin firmar y seguido por un
-
Para las voces neuronales expresivas, los atributos
pitch
yrate
sólo dan soporte a valores de porcentaje.- Para el atributo
pitch
, no utilice Hertz, semitones o palabras clave. - Para el atributo
rate
, no utilice palabras por minuto o palabras clave.
- Para el atributo
Para obtener más información sobre las características soportadas por SSML versión 1.1, consulte la sección 3.2.4 prosody Element de la especificación SSML.
El atributo pitch
El atributo pitch
modifica el tono base del texto del elemento. Los valores aceptados son
- Un número seguido de la designación
Hz
(Hertz): El tono se transporta desde la línea base (arriba o abajo) al valor especificado. Por ejemplo,150Hz
. - Un cambio relativo en porcentaje: Un número que provoca un cambio relativo respecto a la línea base por defecto. La cifra va precedida de
+
(aumento) o-
(disminución) y seguida de%
(signo de porcentaje). Un número sin signo seguido de un%
se interpreta como un aumento positivo. Por ejemplo,+10%
o10%
. El tono predeterminado para una voz es equivalente a pasar un valor de0%
. - Un cambio relativo en semitonos: Un número que provoca un cambio absoluto con respecto a la línea de base predeterminada. El número va precedido de
+
(un aumento) o-
(una disminución) y seguido dest
(semitonos). Un número sin signo seguido dest
se interpreta como un aumento positivo. Por ejemplo,+5st
o5st
. - Una palabra clave: Una de las seis palabras clave siguientes, que modifican el desplazamiento a los valores predefinidos correspondientes:
default
utiliza el tono base predeterminado del servicio.x-low
baja la línea base del tono en 12 semitonos.low
baja la línea base del tono en seis semitonos.medium
produce el mismo comportamiento quedefault
.high
sube la línea base del tono en seis semitonos.x-high
sube la línea base del tono en 12 semitonos.
Las voces neuronales expresivas sólo soportan valores de porcentaje para el atributo pitch
. No soportan el uso de Hertz, semitones o palabras clave.
La mejor manera de determinar qué funciona para la aplicación es realizar ajustes basados en porcentajes y experimentar con diferentes valores. Pruebe los cambios incrementales del cinco o diez por ciento antes de realizar modificaciones más significativas.
<prosody pitch="150Hz">Transpose pitch to 150 Hz</prosody>
<prosody pitch="-20Hz">Lower pitch by 20 Hz from baseline</prosody>
<prosody pitch="+20Hz">Increase pitch by 20 Hz from baseline</prosody>
<prosody pitch="-10%">Decrease pitch by 10 percent</prosody>
<prosody pitch="+10%">Increase pitch by 10 percent</prosody>
<prosody pitch="-12st">Lower pitch by 12 semitones from baseline</prosody>
<prosody pitch="+12st">Increase pitch by 12 semitones from baseline</prosody>
<prosody pitch="x-low">Lower pitch by 12 semitones from baseline</prosody>
El atributo rate
El atributo rate
indica un cambio en la velocidad de habla para el texto de dentro del elemento. Los valores aceptados son
- Un número sin designación de unidad: La velocidad se cambia por el número especificado de palabras por minuto. Por ejemplo, un valor de
50
indica una tasa de habla de 50 palabras por minuto. El número es absoluto; no puede especificar un aumento o disminución relativo de palabras por minuto. - Un cambio relativo en porcentaje: Una cifra que provoca un cambio relativo respecto al porcentaje de habla por defecto. La cifra va precedida de
+
(aumento) o-
(disminución) y seguida de%
(signo de porcentaje). Un número sin signo seguido de un%
se interpreta como un aumento positivo. Por ejemplo,+10%
o10%
. La velocidad de habla predeterminada para una voz es equivalente a pasar un valor de0%
. - Una palabra clave: Una de las seis palabras clave siguientes, que modifican la velocidad de habla a los valores predefinidos correspondientes:
default
utiliza la velocidad de conversación por defecto del servicio.x-slow
disminuye la velocidad en un 50 por ciento.slow
disminuye la velocidad en un 25 por ciento.medium
produce el mismo comportamiento quedefault
.fast
aumenta la velocidad en un 25 por ciento.x-fast
aumenta la velocidad en un 50 por ciento.
Las voces neuronales expresivas sólo soportan valores de porcentaje para el atributo rate
. No soportan palabras por minuto o palabras clave.
La mejor manera de determinar qué funciona para la aplicación es realizar ajustes basados en porcentajes y experimentar con diferentes valores. Pruebe los cambios incrementales del cinco o diez por ciento antes de realizar modificaciones más significativas.
<prosody rate="50">Set speaking rate to 50 words per minute</prosody>
<prosody rate="-5%">Decrease speaking rate by 5 percent</prosody>
<prosody rate="+5%">Increase speaking rate by 5 percent</prosody>
<prosody rate="slow">Decrease speaking rate by 25%</prosody>
<prosody rate="fast">Increase speaking rate by 25%</prosody>
El elemento <say-as>
El elemento <say-as>
proporciona información sobre el tipo de texto que contiene el elemento y especifica el nivel de detalle con que representar el texto.
- El elemento tiene un atributo obligatorio,
interpret-as
, que indica cómo se debe interpretar el texto. - El elemento tiene dos atributos opcionales,
format
ydetail
, que se utilizan solo con valores particulares del atributointerpret-as
, tal como se muestra en los ejemplos siguientes.
El servicio admite el elemento <say-as>
con los siguientes idiomas:
- El servicio admite completamente el elemento
<say-as>
para el inglés de EE.UU. - Para la mayoría de los demás idiomas, el servicio solo admite los atributos
digits
yletters
del elemento. - Para Japonés, el servicio solo admite el atributo
digits
. El servicio ignora los caracteres no numéricos que se incluyen en la serie de dígitos.
La pronunciación predeterminada del servicio de cadenas alfabéticas, numéricas y alfanuméricas varía según el idioma, con cada idioma teniendo sus propias reglas. Puede utilizar el elemento <say-as>
para controlar cómo se
pronuncian las series, incluyendo si se van a deletrear como caracteres individuales con los elementos letters
y digits
.
Para el alemán, también puede controlar el ritmo al que el servicio pronuncia los caracteres. Para obtener más información, consulte Especificación de cómo se escriben las series.
El atributo interpret-as
A continuación se indican los valores aceptables del atributo interpret-as
y ejemplos de cada valor. El servicio admite a los siguientes valores como argumentos del atributo interpret-as
:
cardinal
date
digits
interjection
letters
number
ordinal
vxml:boolean
vxml:currency
vxml:date
vxml:time
vxml:digits
vxml:phone
cardinal
El valor cardinal
indica que hay que expresar el número cardinal del numeral que contiene el elemento. Los ejemplos siguientes se leen Super Bowl forty-nine. El primero es superfluo, puesto que no modifica el comportamiento
predeterminado del servicio.
Super Bowl <say-as interpret-as="cardinal">49</say-as>
Super Bowl <say-as interpret-as="cardinal">XLIX</say-as>
date
El valor date
lee la fecha del elemento de acuerdo con el formato indicado en el atributo format
asociado. El atributo format
es obligatorio para el valor date
. Si format
no
está, el servicio igualmente intenta pronunciar la fecha. En los siguientes ejemplos se leen las fechas indicadas en los formatos especificados, donde d
, m
e y
representan día, mes y año.
<say-as interpret-as="date" format="mdy">12/17/2005</say-as>
<say-as interpret-as="date" format="ymd">2005/12/17</say-as>
<say-as interpret-as="date" format="dmy">17/12/2005</say-as>
<say-as interpret-as="date" format="ydm">2005/17/12</say-as>
<say-as interpret-as="date" format="my">12/2005</say-as>
<say-as interpret-as="date" format="md">12/17</say-as>
<say-as interpret-as="date" format="ym">2005/12</say-as>
digits
El valor digits
lee los dígitos del número que hay en el elemento. (El valor también pronuncia individualmente cualquier carácter alfabético que se incluya en la serie delimitada.) En el ejemplo siguiente se pronuncian los dígitos
individuales 123456.
<say-as interpret-as="digits">123456</say-as>
interjection
El atributo interjection
es una extensión SSML específica del servicio Text to Speech. Está soportado para su uso sólo con las voces neuronales expresivas.
Con las voces neuronales expresivas, el servicio enfatiza automáticamente las interjecciones siguientes: aha
, hmm
, huh
, oh
, uh
, uh-huh
y um
. Puede
utilizar el valor interjection
para habilitar o inhabilitar el énfasis del servicio de las interjecciones aha
y oh
. Incluya el atributo enabled
adicional con un valor de true
o false
para habilitar o inhabilitar la interjección.
El ejemplo siguiente inhabilita el énfasis de las interjecciones aha
y oh
en el texto:
<say-as interpret-as='interjection' enabled='false'>Oh</say-as>, in addition, the <say-as interpret-as='interjection' enabled='false'>aha</say-as> wasp is endemic to Australia.
Para obtener más información, consulte Énfasis en las interjecciones.
letters
El valor letters
deletrea los caracteres de la palabra dentro del elemento. (El valor también pronuncia individualmente cualquier carácter numérico que se incluya en la serie incluida.) En el ejemplo siguiente se deletrean las
letras de la palabra hello.
<say-as interpret-as="letters">Hello</say-as>
También puede especificar el valor group
o single
con el atributo opcional format
. Estos atributos ayudan a mejorar la legibilidad de las cadenas alfanuméricas, como la confirmación de números e ID.
El formato single
añade más silencio al deletrear los caracteres uno a uno. El formato group
añade un silencio más largo cuando pasamos de dígitos a letras y viceversa, y después de leer cada 3 ó 4 caracteres
del mismo tipo.
<say-as interpret-as="letters" format=“single”>112A567B</say-as>
<say-as interpret-as="letters" format=“group”>3174A2W486</say-as>
number
El valor number
ofrece una alternativa a los valores cardinal
y ordinal
. Puede utilizar el atributo opcional format
para indicar cómo se debe interpretar una serie de números. En el primer
ejemplo se omite el atributo format
para pronunciar el número como un valor cardinal. En el segundo ejemplo se especifica explícitamente que el número se tiene que pronunciar como un valor cardinal
. En el tercer
ejemplo se especifica que el número se debe pronunciar como un valor ordinal
.
<say-as interpret-as="number">123456</say-as>
<say-as interpret-as="number" format="cardinal">123456</say-as>
<say-as interpret-as="number" format="ordinal">123456</say-as>
También puede especificar el valor telephone
para el atributo format
. Los ejemplos siguientes muestran dos maneras distintas de pronunciar una serie de números como un número de teléfono. Para pronunciar los números
incluyendo la puntuación, especifique el valor punctuation
en el atributo opcional detail
.
<say-as interpret-as="number" format="telephone">555-555-5555</say-as>
<say-as interpret-as="number" format="telephone" detail="punctuation">555-555-5555</say-as>
ordinal
El valor ordinal
lee el valor ordinal del dígito de dentro del elemento. En el ejemplo siguiente se pronuncia second first.
<say-as interpret-as="ordinal">2</say-as>
<say-as interpret-as="ordinal">1</say-as>
vxml:boolean
El valor vxml:boolean
lee yes o no si el valor es true
o false
en el elemento.
<say-as interpret-as="vxml:boolean">true</say-as>
<say-as interpret-as="vxml:boolean">false</say-as>
vxml:currency
El valor vxml:currency
se utiliza para controlar la síntesis de los valores monetarios. La serie debe estar escrita en el formato UUUmm.nn
, donde UUU
es el indicador de moneda de tres caracteres que
se especifica en el estándar ISO 4217 y mm.nn
es la cantidad. En el ejemplo siguiente se lee forty-five dollars and thirty cents.
<say-as interpret-as="vxml:currency">USD45.30</say-as>
Si el número especificado incluye más de dos decimales, la cantidad se sintetiza como un número decimal seguido del indicador de moneda. Si el indicador de moneda de tres caracteres no está, la cantidad se sintetiza simplemente como un número decimal y no se pronuncia el tipo de moneda. En el ejemplo siguiente se lee forty-five point three two nine US dollars.
<say-as interpret-as="vxml:currency">USD45.329</say-as>
vxml:date
El valor vxml:date
funciona como el valor date
, pero el formato está predefinido como YYYYMMDD
. Si no se conoce un valor de día, mes o año o si no se desea que se diga, sustituya el valor por un ?
(signo de interrogación). En el segundo y tercer ejemplo aparecen signos de interrogación.
<say-as interpret-as="vxml:date">20050720</say-as>
<say-as interpret-as="vxml:date">????0720</say-as>
<say-as interpret-as="vxml:date">200507??</say-as>
vxml:time
El valor 'vxml:time' habla de la hora dentro del elemento según el formato dado en el atributo format asociado. El atributo format es necesario para el valor de la hora. El formato debe ser de cuatro dígitos sin sufijo, "a", "p" o "h". Los siguientes ejemplos muestran la hora indicada en los formatos especificados, donde d, m e y representan el día, el mes y el año.
<say-as interpret-as="vxml:time">1230</say-as>
<say-as interpret-as="vxml:time">1230a</say-as>
<say-as interpret-as="vxml:time">1230p</say-as>
<say-as interpret-as="vxml:time">0100h</say-as>
vxml:digits
El valor vxml:digits
proporciona las mismas capacidades que el valor digits
.
vxml:phone
El valor vxml:phone
lee un número de teléfono que contiene dígitos y signos de puntuación. Es equivalente a utilizar el valor number
y especificar telephone
en el atributo format
y punctuation
en el atributo detail
.
<say-as interpret-as="vxml:phone">555-555-5555</say-as>
El elemento <speak>
El servicio admite fragmentos SSML, que son elementos SSML que no incluyen la cabecera XML completa. El elemento <speak>
es opcional para SSML que se pasa al servicio.
El elemento <speak>
es el elemento raíz de los documentos SSML. Los atributos válidos son
version
es un atributo obligatorio que indica la especificación SSML. El valor aceptado es1.0
.xml:lang
no es obligatorio para el servicio. Omita este atributo cuando utilice este elemento. Tenga en cuenta que no puede utilizar este atributo para cambiar el idioma de una solicitud de síntesis de voz.xml:base
no tiene ningún efecto.xmlns
no es obligatorio para el servicio. Omita este atributo cuando utilice este elemento.
<speak version="1.1">
The text to be spoken.
</speak>
El elemento <sub>
El elemento <sub>
indica que el texto especificado por el atributo alias
es sustituirá el texto que está dentro del elemento cuando se sintetice el discurso. El atributo alias
es el único atributo
de este elemento y es obligatorio.
<sub alias="International Business Machines">IBM</sub>
El elemento <voice>
Este elemento <voice>
solicita un cambio de voz. No está soportado.