Cómo añadir texto a voz a Svelte
Aprende a añadir texto a voz de alta calidad y rentable a tu app de Svelte con TTS2Go, combinando el TTS del navegador como respaldo con audio generado por IA.

Svelte se basa en la simplicidad y el rendimiento, y añadir texto a voz (TTS) a una app de Svelte puede ser igual de sencillo.
Tanto si quieres que tu contenido sea más accesible, crear una experiencia de lectura en audio o añadir respuestas por voz, el TTS se puede integrar en minutos. Esta guía explica cómo funciona la síntesis de voz del navegador, las ventajas y desventajas de los distintos enfoques de TTS y cómo poner en marcha TTS2Go en tu proyecto de Svelte.
Cómo funciona la síntesis de voz del navegador
Los navegadores modernos incluyen la Web Speech API, que te permite llamar a window.speechSynthesis.speak() con un SpeechSynthesisUtterance para leer texto en voz alta.
Características principales:
- Sin dependencias: todo se ejecuta en el navegador.
- Sin claves de API ni llamadas al servidor: no requiere integración con un backend.
- Sin costo: usa las voces integradas del sistema.
Sin embargo, tiene sus desventajas:
- Calidad robótica e irregular: las voces suelen sonar sintéticas.
- Depende de la plataforma: las voces cambian entre Chrome y Firefox, o entre macOS y Windows.
- Pocas opciones de voz: menos idiomas y estilos que el TTS moderno con IA.
El auge de la voz generada por IA
Los modelos neuronales de texto a voz producen audio de sonido natural, con una entonación y un ritmo realistas. Admiten muchos idiomas, acentos y estilos de voz, lo que los hace ideales para narraciones y experiencias de voz con calidad de producción.
Ventajas y desventajas:
- Ventajas:
- Audio natural y de alta calidad
- Amplia cobertura de idiomas y voces
- Sonido uniforme en todos los dispositivos y navegadores
- Desventajas:
- Costo: pagas por carácter o por segundo de audio generado.
- Llamadas a la API: requiere una integración del lado del servidor o una integración autenticada del lado del cliente.
Esto plantea una cuestión de diseño: ¿cómo equilibras la calidad del audio con los costos de generación y controlas cuándo se crea el audio?
Pregenerar el audio
Un enfoque es pregenerar el audio de todo tu contenido y alojarlo en una CDN.
Cómo funciona:
- Conviertes todo el contenido de texto en archivos de audio por adelantado.
- Subes esos archivos y los sirves desde una CDN.
- Los usuarios disfrutan de una reproducción instantánea, sin esperas de generación.
Ventajas:
- Reproducción instantánea para todos los visitantes
- Audio uniforme y de alta calidad
- Comportamiento sencillo en tiempo de ejecución (solo hay que reproducir un archivo)
Desventajas:
- Pagas por generar audio de contenido que quizá nunca se reproduzca.
- Todo el contenido tiene que conocerse de antemano.
- Cualquier cambio en el contenido obliga a regenerarlo.
- Los costos de almacenamiento y de CDN crecen con el volumen de contenido.
Con contenido dinámico o que se actualiza a menudo, esto se vuelve rápidamente caro y pesado de operar.
Generación diferida bajo demanda
Otra estrategia es la generación bajo demanda (diferida), en la que el audio solo se crea cuando un usuario pulsa reproducir.
Cómo funciona:
- Cuando un usuario solicita el audio de un contenido, llamas a la API de TTS.
- El audio generado se guarda en caché o se almacena.
- Las solicitudes posteriores reutilizan el audio en caché.
Ventajas:
- Mucho más rentable: solo pagas por el contenido que los usuarios realmente escuchan.
- Admite de forma natural el contenido dinámico y el generado por usuarios.
- Reduce las generaciones desperdiciadas en contenido que nadie usa.
Retos:
- Sin controles, cualquiera podría desencadenar generaciones costosas.
- Necesitas una forma de decidir qué contenido recibe audio y cuándo.
- Tienes que equilibrar la experiencia de usuario (la espera inicial) con el control del presupuesto.
Cómo lo resuelve TTS2Go
TTS2Go combina el TTS del navegador y el TTS con IA para equilibrar calidad, costo y simplicidad.
Ideas clave:
- Una clave segura en el cliente
- Añades el SDK de TTS2Go a tu sitio con una clave de API de frontend.
Paso 1: Instala el SDK
Instala el paquete de Svelte de TTS2Go:
npm install @tts2go/svelte
El paquete funciona con Svelte 5 y se integra de forma natural con el modelo de reactividad de Svelte.
Paso 2: Crea el cliente
Inicializa un cliente de TTS2Go con las credenciales de tu proyecto. En Svelte puedes crear el cliente directamente en un componente o en un módulo compartido.
import { createTTS2GoClient } from "@tts2go/svelte";
const client = createTTS2GoClient({
apiKey: "your-api-key",
projectId: "your-project-id",
});
- apiKey: tu clave pública de TTS2Go, segura para usar en el frontend.
- projectId: identifica qué proyecto de TTS2Go se usa para la generación, las aprobaciones y las analíticas.
Paso 3: Añade texto a voz en Svelte
Usa createTTS para obtener un store reactivo con los controles de reproducción y el estado.
import { createTTS2GoClient, createTTS } from "@tts2go/svelte";
const client = createTTS2GoClient({
apiKey: "your-api-key",
projectId: "your-project-id",
});
const VOICE_ID = "your-voice-id";
const text = "Hello from TTS2Go in Svelte!";
const tts = createTTS(client, text, VOICE_ID);
let status = $state("idle");
const unsubscribe = tts.status.subscribe((s) => (status = s));
function handleClick() {
if (status === "playing" || status === "fallback") {
tts.stop();
} else {
tts.play();
}¿Qué sigue?
A partir de aquí puedes:
- Explorar la selección de voces para adaptarla a tu marca o tipo de contenido.
- Usar SSML para tener un control preciso sobre la pronunciación, las pausas y el énfasis.
- Integrar la API de resaltado de texto para sincronizar el texto con el audio hablado.
Para ver la documentación completa de Svelte y ejemplos avanzados, visita:
https://tts2go.com/docs/svelte