Si quieres generar narraciones naturales sin enviar cada frase a una API de pago, Kokoro 82M TTS es uno de los primeros modelos abiertos que merece la pena probar. Eso sí: sus “82M” no lo convierten en un reemplazo universal de ElevenLabs. Kokoro destaca con voces predefinidas, narración limpia y trabajos por lotes en local; para clonar voces, controlar interpretaciones dramáticas o disponer de una plataforma gestionada, hay opciones más adecuadas.
La decisión, en pocas palabras
Kokoro-82M es un modelo de texto a voz con pesos abiertos y 82 millones de parámetros. La ficha actual del modelo en Hugging Face indica que la versión v1.0 se publicó el 27 de enero de 2025, ofrece ocho idiomas y 54 voces, y distribuye sus pesos bajo Apache 2.0: ficha oficial del modelo. La biblioteca oficial de inferencia es hexgrad/kokoro.
Elígelo si necesitas narración privada o sin conexión, las voces predefinidas te sirven y el volumen de trabajo hace que las tarifas de una API empiecen a pesar. Opta por ElevenLabs si necesitas clonar voces, un estudio gestionado o una entrega comercial más expresiva. Y considera Qwen3-TTS si la cobertura multilingüe y la clonación son más importantes que tener un modelo muy pequeño.
Configuración local: el camino que funciona de verdad
Los ejemplos oficiales utilizan Python, kokoro, soundfile, PyTorch y espeak-ng; el pipeline devuelve audio a 24 kHz. En Linux, la instalación básica es:
pip install -q "kokoro>=0.9.4" soundfile
sudo apt-get install espeak-ng
Un ejemplo mínimo en inglés sería:
from kokoro import KPipeline
import soundfile as sf
pipeline = KPipeline(lang_code="a")
text = "Kokoro is a small local text to speech model."
for index, (_, _, audio) in enumerate(
pipeline(text, voice="af_heart", speed=1)
):
sf.write(f"kokoro-{index}.wav", audio, 24000)
El repositorio documenta códigos de idioma para inglés estadounidense y británico, español, francés, hindi, italiano, japonés, portugués brasileño y chino mandarín. El japonés y el mandarín requieren los extras correspondientes de Misaki. El código de idioma seleccionado debe coincidir con la voz.
En Windows no basta con un único comando: el README del proyecto remite a la versión MSI de espeak-ng. En equipos Apple Silicon se puede probar PyTorch MPS con PYTORCH_ENABLE_MPS_FALLBACK=1. Estos detalles suelen importar más que el número de parámetros del modelo cuando la primera ejecución falla.
CPU, GPU y velocidad en tiempo real: qué está comprobado
La inferencia en CPU es compatible, pero ni la ficha oficial del modelo ni la biblioteca oficial ofrecen un factor de tiempo real universal. La velocidad depende del entorno de ejecución, el procesador, el idioma, la división del texto y de si la primera pasada incluye la carga del modelo.
Las mediciones de la comunidad dejan claro por qué conviene desconfiar de las afirmaciones generales. En una comparativa detallada, @analogalok indicó que tardaba unos 0,7 segundos en generar 21 segundos de audio en una GPU, con aproximadamente 0,9 GB de VRAM en esa configuración. Es una prueba útil de que existe una ruta con bajo consumo de memoria en GPU, no una promesa válida para cualquier portátil.
“Puedo ejecutarlo cómodamente usando la CPU y el audio resultante es muy agradable de escuchar.” — @rasmus1610, X
Para evaluar tu propio equipo, mide por separado estas tres cifras:
- El tiempo desde que arranca el proceso hasta el primer segmento de audio.
- El tiempo una vez que el modelo y la voz ya están cargados.
- La duración del audio dividida entre el tiempo de generación en caliente: el factor de tiempo real.
En un narrador por lotes, la tercera cifra es la que determina el rendimiento. En un asistente interactivo importan más la latencia hasta el primer fragmento y el comportamiento de la transmisión. No presentes un resultado de GPU como si fuera de CPU ni llames “rendimiento de producción” a una muestra de 10 segundos.
Voces, idiomas y limitaciones importantes
La ficha del modelo v1.0 indica ocho idiomas y 54 voces, una ampliación considerable frente al único idioma y las 10 voces de la versión v0.19. La biblioteca documenta estos códigos de idioma:
| Código | Idioma |
|---|---|
a | Inglés estadounidense |
b | Inglés británico |
e | Español |
f | Francés |
h | Hindi |
i | Italiano |
j | Japonés |
p | Portugués brasileño |
z | Chino mandarín |
Kokoro utiliza voces predefinidas; no es un sistema de clonación basado en audio de referencia. También depende del sistema de conversión de grafemas a fonemas de Misaki y de las rutas alternativas de espeak-ng. Conviene probar nombres, abreviaturas, cifras y textos con varios idiomas antes de lanzar una exportación larga.
La licencia Apache 2.0 del modelo resulta atractiva para usos comerciales, pero que “el modelo tenga licencia Apache 2.0” no resuelve automáticamente la situación de cada muestra de voz, conjunto de datos o dependencia de terceros. Incluye en tu lista de comprobación para el lanzamiento la ficha del modelo, los archivos de voz y las licencias de las dependencias.
Kokoro frente a ElevenLabs y Qwen3-TTS
Una comparación de escucha a ciegas solo tiene sentido si los tres sistemas utilizan el mismo texto, las mismas indicaciones para la voz, la misma normalización, el mismo nivel de salida y el mismo grupo de evaluadores. Este artículo no proclama un ganador en una prueba de escucha a ciegas controlada; los materiales oficiales de Kokoro no publican una prueba de ese tipo. La comparación más sólida es la que se centra en el flujo de trabajo:
| Factor de decisión | Kokoro-82M | ElevenLabs | Qwen3-TTS |
|---|---|---|---|
| Despliegue | Pesos locales y abiertos | API y estudio alojados | Familia de modelos locales y abiertos |
| Licencia/origen del modelo | Pesos Apache 2.0 | Condiciones del proveedor | Las fichas oficiales indican Apache 2.0 |
| Voces predefinidas | Sí | Amplia biblioteca de voces alojadas | CustomVoice y otras variantes |
| Clonación de voz | No | Disponible en planes y funciones compatibles | La variante base admite clonación mediante referencia |
| Idiomas | 8 indicados para v1.0 | Depende del modelo; los precios oficiales de la API varían según el modelo | 10 idiomas indicados |
| Mejor encaje | Narración privada por lotes | Producción gestionada y expresiva | Experimentos multilingües o de clonación |
| Coste principal | Hardware o inferencia alojada | Facturación por caracteres/créditos | Hardware o alojamiento |
La página oficial de precios de la API de ElevenLabs muestra actualmente unos $0.05 por cada 1.000 caracteres para Flash/Turbo y $0.10 por cada 1.000 caracteres para v2 Multilingual y v3: precios de la API. La ficha oficial de Qwen3-TTS enumera chino, inglés, japonés, coreano, alemán, francés, ruso, portugués, español e italiano, además de variantes orientadas a la clonación: ficha del modelo Qwen3-TTS.
La conclusión práctica no es que “Kokoro suene mejor”. Es que Kokoro elimina la dependencia recurrente de una API y permite mantener el texto en tu equipo, mientras que ElevenLabs ofrece comodidad y Qwen3-TTS aporta un conjunto más amplio de funciones multilingües y de clonación a cambio de un modelo local de mayor tamaño.
Coste de la narración por lotes: cifras que sí puedes defender
El Kokoro local no tiene un coste por carácter asociado al modelo. Tu coste marginal es la electricidad, el almacenamiento y el equipo o instancia en la nube que ejecute la inferencia. Si ya tienes el equipo, el coste incremental del software es, en la práctica, cero; si alquilas una GPU o una CPU, multiplica la tarifa por hora del proveedor por el tiempo real de generación.
Para comparar con una API, la ficha del modelo de Kokoro registró en abril de 2025 ejemplos alojados por debajo de $1 por cada millón de caracteres de entrada, incluidos $0.65 en Replicate y $0.80 en DeepInfra. Son referencias fechadas, no garantías de precios actuales. Para el mismo volumen de texto, las tarifas oficiales de ElevenLabs implican:
| Carga de trabajo | Coste del modelo local de Kokoro | ElevenLabs Flash/Turbo | ElevenLabs v2 Multilingual/v3 |
|---|---|---|---|
| 100.000 caracteres | $0 en local* | $5 | $10 |
| 1.000.000 de caracteres | $0 en local* | $50 | $100 |
| 10.000.000 de caracteres | $0 en local* | $500 | $1,000 |
\*No incluye electricidad, hardware, alojamiento ni tiempo de ingeniería. Las cifras de ElevenLabs utilizan las tarifas oficiales de $0.05/$0.10 por cada 1.000 caracteres y no tienen en cuenta descuentos de planes, créditos, impuestos ni reglas de exceso de uso. La tabla es un modelo presupuestario, no una garantía de facturación final.
Por eso Kokoro resulta especialmente interesante para pipelines de narración repetibles: subtítulos, documentación, audio accesible y materiales internos de formación. Pierde atractivo cuando el coste humano de revisar la pronunciación y unir segmentos supera el importe de la API.
Preguntas frecuentes
¿Puede Kokoro funcionar sin GPU?
Sí. La inferencia en CPU es compatible, pero el proyecto oficial no promete un factor de tiempo real universal. Mide el rendimiento en caliente en la CPU y el idioma exactos que vayas a utilizar en producción.
¿Kokoro clona voces?
No. Kokoro funciona con voces predefinidas. Si la identidad del hablante es un requisito central, utiliza un modelo capaz de clonar voces, como una variante adecuada de Qwen3-TTS.
¿Kokoro es gratuito para uso comercial?
La ficha de Kokoro-82M indica que sus pesos utilizan la licencia Apache 2.0, que es permisiva. Antes de lanzar un producto comercial, revisa las condiciones exactas de la voz, las dependencias y la distribución.
¿Qué idiomas admite Kokoro?
La ficha del modelo v1.0 indica ocho idiomas; la biblioteca oficial documenta inglés estadounidense y británico, además de español, francés, hindi, italiano, japonés, portugués brasileño y chino mandarín. Es posible que se necesiten paquetes específicos para cada idioma.
¿Es Kokoro mejor que ElevenLabs?
No en todos los aspectos. Kokoro encaja mejor con la narración local, privada y por lotes usando voces predefinidas; ElevenLabs es una opción más segura para infraestructura gestionada, clonación de voces y flujos de producción expresivos.
La elección práctica
Empieza por Kokoro si tu prueba de aceptación es la siguiente: “¿Puede este equipo producir una narración limpia y privada, con el rendimiento necesario y usando una de las voces disponibles?”. Haz la prueba con nombres, fechas, cifras, párrafos largos y los idiomas que realmente necesites.
Si la supera, la cuestión económica es sencilla: sustituyes los cargos recurrentes por caracteres por tiempo de máquina. Si falla en pronunciación, identidad del hablante o dirección emocional, pasar a ElevenLabs o Qwen3-TTS no supone admitir una derrota en calidad; significa pagar por una capacidad que Kokoro no pretende priorizar.
Para la vertiente comercial de esta misma decisión, consulta la guía de la API de ElevenLabs Eleven v3.