Texto a voz
Voz neuronal (Kokoro) y voces del navegador · todo se ejecuta localmente en tu navegador.
Acerca de esta herramienta
La voz neuronal (Kokoro IA) utiliza un modelo de síntesis de voz de última generación con 82 millones de parámetros. Se ejecuta 100 % en tu navegador mediante WebAssembly y ONNX Runtime · no se envía ningún texto a un servidor. En el primer uso, el modelo (~100 MB) se descarga y se almacena en la caché del navegador. Luego, se carga al instante. Dispones de 13 voces con acentos estadounidense y británico, masculinas y femeninas, cada una con entonación y prosodia naturales. El audio generado puede reproducirse y descargarse en formato WAV.
Las voces del navegador utilizan la API Web Speech integrada en tu sistema. Son instantáneas y sin descarga, pero la calidad y disponibilidad de las voces dependen de tu sistema operativo y navegador. Chrome suele ofrecer la mayor variedad. Ideal para vistas previas rápidas y pruebas de accesibilidad.
Cómo funciona la API Web Speech
Los navegadores exponen una interfaz SpeechSynthesis (parte de la API Web Speech, redactada originalmente por el W3C Speech API Community Group) que toma un texto y una voz elegida y produce voz audible a través del motor TTS del sistema operativo subyacente. La superficie completa de la API es pequeña pero potente: speechSynthesis.speak(utterance) inicia el habla, cancel() / pause() / resume() controlan la reproducción y getVoices() enumera todas las voces que expone el sistema operativo. Cada SpeechSynthesisUtterance lleva el texto, la etiqueta de idioma, la voz, la velocidad, el tono y el volumen.
El audio en sí lo genera el sistema operativo, no el navegador. macOS e iOS vienen con decenas de voces de alta calidad integradas en el sistema. Windows muestra las voces instaladas a través de Configuración → Hora e idioma → Voz. Android usa el motor de Texto a voz de Google (o alternativas como Samsung TTS). Linux recurre a la configuración de speech-dispatcher / espeak que proporcione la distribución, a menudo con un sonido robótico por defecto a menos que hayas instalado un motor más completo.
La distinción de privacidad entre la nube y lo local
No todas las voces del «navegador» se ejecutan en tu dispositivo. Algunos navegadores envían el texto a un servidor remoto para renderizar el audio de las voces de mayor calidad y luego transmiten el resultado de vuelta. Esto importa para la privacidad:
- Safari (macOS / iOS): la síntesis se ejecuta íntegramente en el dispositivo. Las voces de Apple, incluidas las naturales de estilo Siri, vienen incluidas en el sistema operativo. Ningún texto sale del dispositivo.
- Chrome (escritorio y Android): para algunas voces etiquetadas como «Google», el texto se envía al servicio TTS de Google para renderizar el audio. Otras voces de Chrome que reflejan las voces locales del sistema operativo permanecen en el dispositivo. La propiedad
SpeechSynthesisVoice.localServicete dice cuál es cuál (true= en el dispositivo,false= en la nube). - Microsoft Edge: un patrón similar. Las voces «Online Natural» de alta calidad de Edge enrutan el texto al TTS en la nube de Microsoft; las voces estándar del sistema operativo son locales.
- Firefox: la compatibilidad con la API Web Speech ha sido históricamente limitada; en los sistemas donde funciona, usa el motor del sistema operativo.
Si tu texto es sensible (borradores de documentos confidenciales, notas internas de empresa, cualquier cosa que no quieras que se copie a un tercero), elige una voz marcada como local. Si no ves voces locales en el menú desplegable, instala los paquetes de voz del sistema operativo y aparecerán ahí.
Casos de uso comunes
- Accesibilidad. Los lectores de pantalla (VoiceOver, NVDA, JAWS, TalkBack) hacen el trabajo pesado para los usuarios ciegos y con baja visión, pero una herramienta TTS rápida ayuda a cualquiera (dislexia, fatiga visual, cansancio) a que le lean un texto en voz alta de vez en cuando.
- Corrección. Escuchar tu propia escritura leída en voz alta detecta frases torpes, palabras que faltan y problemas de ritmo que la lectura en silencio pasa por alto. Un truco habitual de los escritores profesionales.
- Pronunciación para el aprendizaje de idiomas. Escucha las palabras habladas en el idioma de destino; útil cuando lees un artículo en otro idioma y no sabes con seguridad cómo suena una palabra.
- Leer artículos en voz alta mientras haces tareas. Cocinar, limpiar, hacer ejercicio, desplazarte: cualquier sitio donde leer no es práctico pero escuchar sí.
- Borradores de locución. Esboza rápidamente una narración para probar el ritmo antes de grabar con un actor de voz real o de encargar un servicio TTS de pago como ElevenLabs.
- Educación. Generar material hablado para el contenido del aula, ejercicios de vocabulario, práctica de dictado, accesibilidad para estudiantes diversos.
Peculiaridades y limitaciones que conviene conocer
- El corte de texto largo de Chrome. Un error de larga data de Chromium (679437) hace que
speak()se detenga tras unos 15 segundos, normalmente alrededor de los 200-250 caracteres. Las soluciones alternativas dividen el texto en fragmentos del tamaño de una frase y llaman aspeak()para cada uno. - El evento
voiceschanged. La primera llamada aspeechSynthesis.getVoices()en Chrome devuelve un array vacío. Las voces se rellenan de forma asíncrona; las páginas deben escuchar el eventovoiceschangedantes de mostrar la lista de voces. - Requisito de gesto del usuario. Como la reproducción automática con audio, los navegadores bloquean la síntesis de voz hasta que el usuario hace clic o toca algo. El botón Reproducir satisface ese gesto; el habla programática al cargar la página no funcionará.
- Modo de bajo consumo de iOS. Cuando el iPhone está en Modo de bajo consumo, Safari a veces se niega a iniciar la síntesis de voz hasta que se desactiva el modo.
- Errores de pausa / reanudación en Chrome para Android. Pausar y reanudar a veces descarta la cola. Si la fiabilidad importa, reinicia desde
speak()en lugar de depender depause()/resume(). - La velocidad / el tono fuera de rango fallan en silencio. Ajustar la velocidad por encima de ~3,0 o por debajo de 0,1, o el tono por encima de 2,0, hace que algunos motores no produzcan ningún audio en lugar de limitar el valor.
Por qué varía tanto la calidad de la voz
La calidad de una voz TTS depende por completo del motor subyacente, que depende del sistema operativo, que depende de lo que hayas instalado. Las voces de la época de la década de 1990 (eSpeak, Microsoft Anna, la antigua «Fred» de Mac) se sintetizaban a partir de muestras de fonemas concatenadas y suenan robóticas y forzadas. Las voces modernas (las voces Siri de Apple, las voces Online Natural de Microsoft, las voces basadas en WaveNet de Google, las voces de suscripción de ElevenLabs) usan el aprendizaje profundo para generar un audio casi indistinguible de un lector humano.
Si las voces de tu menú desplegable suenan robóticas, la solución no es esta herramienta, es instalar mejores voces en tu sistema operativo:
- Windows: Configuración → Hora e idioma → Voz → Agregar voces. Las voces «Online Natural» de Microsoft son drásticamente mejores que las predeterminadas sin conexión.
- macOS: Ajustes del Sistema → Accesibilidad → Contenido hablado → Voz del sistema → Gestionar voces. Busca voces «Premium» / «Enhanced»; se descargan en segundo plano y mejoran significativamente la calidad.
- iOS: Ajustes → Accesibilidad → Contenido hablado → Voces. La misma convención de nombres que macOS.
- Android: Ajustes → Accesibilidad → Salida de texto a voz → Google → Instalar datos de voz.
- Linux: instala
festivalombrolapara una calidad mejor que la de eSpeak, o usa un TTS en la nube mediante una API.
Errores comunes
- Esperar que Firefox lo admita. La compatibilidad de Firefox con la API Web Speech se ha quedado rezagada. El botón Reproducir estará desactivado cuando lo visites en Firefox; usa un navegador basado en Chromium o Safari para un TTS fiable.
- Pegar texto confidencial en una sesión de Chrome y dar por hecho que es local. Las voces «Google» predeterminadas de Chrome envían el texto al servicio TTS de Google. Elige una voz local o usa Safari para el contenido sensible.
- Bloques largos de texto en Chrome. El corte de 15 segundos / ~250 caracteres pilla a cualquiera que pegue un párrafo y espere que se lea hasta el final. O divides el texto o usas Safari (sin corte).
- Ajustar la velocidad o el tono demasiado fuera de rango. El motor no limita el valor; sin avisar, no produce ningún audio. Mantente dentro de una velocidad de 0,5-2,5 y un tono de 0,5-1,5 para obtener resultados predecibles.
- Tratar el TTS del navegador como una locución de calidad de producción. Incluso las mejores voces del navegador son lo bastante buenas para la corrección, la accesibilidad y los borradores rápidos, pero no para pódcasts publicados ni locución comercial. Para eso, fíjate en ElevenLabs, Murf o servicios de pago similares.
- Olvidar que las voces se descargan de forma asíncrona. La primera visita a la página en Chrome puede no mostrar ninguna voz; actualiza tras un momento y aparecerán.
Más preguntas frecuentes
¿Cómo sé si una voz es local o está basada en la nube?
Mediante programación, la propiedad SpeechSynthesisVoice.localService es true para las voces en el dispositivo y false para las basadas en la nube. En la práctica, las convenciones de nombres de las voces ayudan: las voces de Chrome etiquetadas como «Google» suelen estar basadas en la nube; las voces que coinciden con las voces instaladas de tu sistema operativo (Microsoft David, Apple Samantha, Google Wavenet en-US-Wavenet-D) son locales si el sistema operativo las tiene. Las voces de Safari son siempre locales.
¿Puedo guardar el audio como un archivo MP3?
No directamente con la API Web Speech del navegador: la especificación no expone el flujo de audio para su captura. Si necesitas un MP3 / WAV descargable, las opciones incluyen: una aplicación de locución específica como Audacity que grabe el audio de tu sistema, una API TTS de pago (Google Cloud TTS, Amazon Polly, ElevenLabs) que devuelva el archivo de audio, o una aplicación de grabación de pantalla que capture la reproducción.
¿Por qué el audio está entrecortado o se detiene a mitad de frase?
La causa más común en Chrome es el error de texto largo: el habla se detiene a los ~15 segundos. Actualiza e inténtalo de nuevo con un pasaje más corto, o cambia a Safari, que no tiene ese límite. Otras causas: un fallo del sistema en el motor de voz del sistema operativo (un reinicio suele solucionarlo) o que una voz en la nube no consiga descargarse cuando estás sin conexión (cambia a una voz local).
¿Funciona en cualquier idioma?
En cualquier idioma para el que tu sistema operativo tenga una voz instalada. macOS e iOS vienen con decenas de idiomas integrados. Windows requiere instalar paquetes de voz por idioma (Configuración → Hora e idioma → Voz → Agregar voces). Android necesita Google TTS o un motor de terceros para tener descargados los datos del idioma. El menú desplegable de voz enumera todo lo disponible; la etiqueta de idioma (en-US, fr-FR, ja-JP, etc.) te dice qué idioma produce cada voz.
¿Es útil para el pódcasting?
Para borradores y pruebas de ritmo, sí. Para episodios publicados, el listón de calidad es más alto: incluso las mejores voces del navegador tienen artefactos sutiles que los oyentes detectan rápidamente. Servicios de pago como ElevenLabs y Murf ofrecen modelos de voz entrenados para la narración de formato largo y producen resultados notablemente mejores, a menudo por unos pocos céntimos por cada mil caracteres.
¿Puedo usar esto para usuarios ciegos o con baja visión en mi propio sitio?
Normalmente un sitio no necesita incrustar TTS para la accesibilidad: las tecnologías de asistencia como los lectores de pantalla (VoiceOver en los dispositivos de Apple, NVDA / JAWS en Windows, TalkBack en Android) se encargan de eso de forma universal. El TTS incrustado es más útil para la comodidad puntual de la lectura en voz alta para usuarios videntes con fatiga de lectura o para estudiantes. Para la accesibilidad, céntrate en el HTML semántico, las etiquetas ARIA, la navegación por teclado y el contraste: eso ayuda a que todos los lectores de pantalla funcionen mejor, incluido el del propio usuario.
Herramientas relacionadas
Reconocimiento de voz
Dicta texto con tu micrófono, impulsado por la Web Speech API.
Contador de palabras y caracteres
Cuenta palabras, caracteres, frases, párrafos y tiempo de lectura.
Convertidor de caja
Convierte texto a MAYÚSCULAS, minúsculas, Mayúscula Inicial, camelCase y más.
Texto a escritura a mano
Convierte texto escrito a tipografía estilo manuscrita.