cv.cm

IA · Audio con IA

¿Cómo funciona el texto a voz y qué es el TTS neuronal?

7 min de lectura

Respuesta corta

El texto a voz (TTS, text-to-speech) convierte texto escrito en audio en tres etapas: normaliza el texto (números, fechas, abreviaturas), lo convierte en sonidos y genera una onda de audio. El TTS neuronal usa redes entrenadas con voz grabada para lograr un ritmo y un tono naturales. Las voces que ofrece tu navegador mediante la Web Speech API proceden del dispositivo o de su fabricante, por lo que cambian entre teléfonos y ordenadores.

Abrir Texto a voz

Las tres etapas de un sistema TTS

  1. Normalización del texto. El sistema reescribe el texto en palabras que se puedan pronunciar. “Dr. Lee paid $25 on 3/4” debe convertirse en algo como “Doctor Lee paid twenty-five dollars on March fourth” (o “the third of April”, según la región). Muchas pronunciaciones erróneas se producen aquí, no en la voz.
  2. Análisis lingüístico. Las palabras se convierten en fonemas, las unidades de sonido de una lengua, y el sistema predice el acento, la agrupación en frases y la entonación. Las palabras que se escriben igual pero se dicen distinto, como “read” en presente y en pasado, o los caracteres chinos con más de una lectura, necesitan contexto para resolverse.
  3. Generación de la onda de audio. Los sonidos y su duración se convierten en muestras de audio. Los sistemas más antiguos pegaban fragmentos grabados (síntesis concatenativa) o usaban un modelo de formantes, que suena robótico. Los sistemas neuronales predicen el audio con una red.

Un diseño neuronal clásico, Tacotron 2, mostró con claridad la división moderna: una red asigna el texto a un espectrograma Mel (una imagen tiempo-frecuencia del habla) y una segunda red, el vocoder, convierte esa imagen en una onda de audio. En las pruebas de escucha de sus autores, obtuvo puntuaciones cercanas a las de las grabaciones profesionales. Los sistemas más nuevos suelen fusionar las etapas o generar tokens de audio comprimido con una red del estilo de los modelos de lenguaje, lo que les permite copiar la voz de un hablante a partir de una muestra corta.

TTS neuronal frente a las voces del sistema en tu navegador

Las páginas web pueden hablar mediante la Web Speech API sin ningún modelo propio. El objeto speechSynthesis lee en voz alta un SpeechSynthesisUtterance con una de las voces que ofrece la plataforma.

Voces del sistema del navegador (Web Speech API)Servicio o modelo de TTS neuronal
De dónde viene la vozEl sistema operativo o el fabricante del navegador; unas son locales y otras remotasUn modelo que ejecutas tú o una API en la nube a la que llamas
Elección de vozLa que esté instalada; cambia en Windows, macOS, Android e iOSCatálogo fijo, voces personalizadas, a veces clonación
CalidadDesde robótica hasta bastante natural, según el dispositivoNormalmente natural, con mejor ritmo y emoción
Coste y configuraciónGratis, sin clave, funciona sin conexión con las voces localesClave de API y precio por carácter, o la descarga de un modelo grande
Obtener un archivo de audioNo forma parte de la API; suena por los altavocesNormalmente devuelve MP3, WAV o similar
ClonaciónNoAlgunos servicios, con verificación de consentimiento

Cada voz informa de un indicador localService. La especificación dice que es verdadero para un sintetizador local y falso para un servicio remoto; una voz remota puede necesitar red y añadir retraso.

const u = new SpeechSynthesisUtterance("Your order has shipped.");
u.lang = "en-GB";
u.rate = 0.9;   // 1 is normal; spec allows 0.1 to 10
u.pitch = 1.0;  // 0 to 2, 1 is the voice default
u.volume = 1.0; // 0 to 1
const voices = speechSynthesis.getVoices();
u.voice = voices.find(v => v.lang === "en-GB") || null;
speechSynthesis.speak(u);

Las voces suelen cargarse después de que empiece la página, así que getVoices() puede devolver al principio una lista vacía; escucha el evento voiceschanged. Por ejemplo, la herramienta de texto a voz de cv.cm usa exactamente estas voces integradas con controles de velocidad y tono. Es una forma rápida de escuchar un borrador, no un generador de voz neuronal, y la lista de voces depende de tu dispositivo.

SSML: controlar las pausas y la pronunciación

El lenguaje de marcado de síntesis de voz (SSML, Speech Synthesis Markup Language), un estándar del W3C, es un XML que indica a un motor TTS cómo leer el texto. La mayoría de los servicios de TTS en la nube lo aceptan. La especificación de Web Speech permite SSML en una locución, pero los motores que no admiten algunas etiquetas deben eliminarlas y leer el texto restante, por lo que la compatibilidad en los navegadores es desigual.

<speak>
  Your code is <say-as interpret-as="characters">A7K</say-as>.
  <break time="500ms"/>
  Please call <sub alias="World Health Organization">WHO</sub>
  before <prosody rate="90%" pitch="+2st">Friday at noon</prosody>.
  The word is <phoneme alphabet="ipa" ph="təˈmɑːtoʊ">tomato</phoneme>,
  and it is <emphasis level="strong">not</emphasis> optional.
</speak>
ElementoQué haceValores de ejemplo
breakInserta una pausatime 250ms o 2s; strength de weak a x-strong
prosodyCambia velocidad, tono y volumenrate 90% o slow; pitch +2st o high; volume +6dB o soft
emphasisAcentúa una palabralevel strong, moderate, reduced
say-asLee como caracteres, una fecha o un númerolos valores de interpret-as dependen del motor
subLee un alias en lugar del texto escritoWHO leído como World Health Organization
phonemeDa la pronunciación exactaalphabet ipa; la compatibilidad es opcional
voice, langCambian de voz o de idioma en mitad del textoUn título extranjero entre comillas dentro de una frase en inglés

Si un servicio ignora el SSML, aún puedes guiarlo con texto sencillo: comas y puntos para las pausas, números escritos con letras y reescrituras fonéticas de los nombres difíciles.

Cómo escribir texto que suene bien al hablarse

  • Usa frases cortas. Las oraciones largas hacen que la voz se quede sin puntos naturales para respirar.
  • Escribe los números como deben decirse cuando importe: “two thousand twenty-six” o “twenty twenty-six”.
  • Desarrolla las abreviaturas y las unidades que el oyente necesite oír: “km/h” puede leerse letra por letra.
  • Fija el idioma y la región correctos. Una voz en-US que lee un nombre español, o una voz zh-CN que lee inglés, usará un sistema de sonidos equivocado.
  • Escucha el resultado completo una vez antes de publicarlo. Revisa nombres, números y palabras con dos pronunciaciones.

Clonación de voz: consentimiento y ley

Los modelos actuales pueden imitar una voz a partir de una grabación corta. Eso es útil para doblar tus propios videos o devolverle la voz a alguien que la perdió, y también se usa para fraudes, como llamadas que imitan a un familiar o al director de una empresa. Trata cualquier voz como un dato personal que pertenece a quien habla.

RegiónQué dicen las normas (resumen)Estado
ChinaLos servicios que editan rostros o voces deben pedir a los usuarios que informen a la persona y obtengan su consentimiento separado (Disposiciones sobre síntesis profunda, artículo 14). Las voces sintéticas y la imitación de voz que puedan inducir a error deben llevar una etiqueta visible (artículo 17). Las medidas de etiquetado de 2025 añaden etiquetas explícitas y en los metadatos, y prohíben eliminarlas.En vigor desde el 10 de enero de 2023; las medidas de etiquetado, desde el 1 de septiembre de 2025
Unión EuropeaArtículo 50 de la Ley de IA: los proveedores deben marcar el audio sintético de forma legible por máquina, y quienes publiquen audio o video deepfake deben revelar que es artificial. Las normas de protección de datos personales también se aplican a las grabaciones de voz.Se aplica desde el 2 de agosto de 2026 según el artículo 113; comprueba si hay modificaciones posteriores
Estados UnidosNo existe una ley nacional única sobre clonación de voz en el momento de escribir esto. La protección proviene de las leyes estatales sobre derecho a la propia imagen y a la privacidad, y de las normas vigentes contra el fraude y de protección del consumidor.Varía según el estado

Los servicios de clonación serios piden al hablante que grabe una declaración de consentimiento antes de crear una voz. Si una herramienta te permite clonar cualquier voz a partir de cualquier clip sin esa comprobación, no la uses para nada que publiques.

Preguntas frecuentes

¿Por qué la misma página web suena distinta en mi teléfono y en mi portátil?

La Web Speech API usa las voces instaladas en cada dispositivo o las que ofrece su fabricante. Windows, macOS, Android e iOS incluyen voces distintas, por lo que el mismo código produce audio diferente.

¿Puedo descargar un MP3 desde la Web Speech API?

No directamente. La API reproduce la voz por los altavoces y no devuelve datos de audio. Para obtener un archivo necesitas un servicio o modelo de TTS que genere audio, o un grabador de pantalla o de audio.

¿Es legal clonar la voz de un famoso?

En la mayoría de los lugares, usar la voz de una persona reconocible sin permiso en anuncios, productos o contenido que pueda inducir a error a los oyentes supone un riesgo legal según las normas sobre derecho a la propia imagen, privacidad, protección del consumidor o síntesis profunda. Obtén permiso y etiqueta el resultado.

¿Cuál es la diferencia entre TTS y conversión de voz?

El TTS crea voz a partir de texto. La conversión de voz toma la grabación de una persona hablando y la cambia para que suene como otra voz, conservando el ritmo y la emoción originales.

¿Por qué el TTS pronuncia mal los nombres?

El modelo adivina la pronunciación a partir de la ortografía y de sus datos de entrenamiento. Los nombres poco comunes, los préstamos y los caracteres con varias lecturas suelen adivinarse mal. Usa una etiqueta SSML phoneme o sub, o reescribe el nombre fonéticamente.

Todos los tutoriales de IA