Kokoro no deja de aparecer: fue tendencia en Hacker News, lidera los rankings abiertos de Texto a voz, y los creadores siguen preguntando si un modelo de 82 millones de parámetros que corre en una CPU común realmente puede reemplazar una API de voz de pago. Así que lo instalamos, lo ejecutamos en un portátil y generamos las muestras que puedes reproducir abajo. Esto es un desglose práctico: qué es Kokoro, qué tal suena de verdad, las dos trampas de configuración que nos hicieron perder tiempo y cuándo conviene más una herramienta alojada. Fuente: github.com/hexgrad/kokoro (Apache-2.0).
¿Qué es Kokoro y quién lo creó?
Kokoro es un modelo de Texto a voz con pesos abiertos publicado por hexgrad como Kokoro-82M. El titular está en el nombre: 82 millones de parámetros, diminuto para los estándares de 2026, lo bastante pequeño como para correr en un teléfono, y aun así produce una narración natural y expresiva. Está construido sobre el linaje de StyleTTS 2 y se publica bajo la licencia permisiva Apache-2.0, así que es realmente gratuito para uso comercial.
Al 2026-07-11, el repositorio principal hexgrad/kokoro tiene alrededor de 7,900 estrellas en GitHub. Nosotros lo ejecutamos con el runtime comunitario ONNX thewh1teagle/kokoro-onnx (unas 2,600 estrellas, MIT), que es la forma más fácil de correrlo en una CPU sin instalar PyTorch.
Revisando el archivo real de pesos, contamos 54 voces integradas repartidas en 9 grupos de idiomas y acentos: inglés estadounidense y británico, español, francés, hindi, italiano, japonés, portugués brasileño y chino mandarín. Las voces en inglés estadounidense son claramente las más pulidas.
Lo ejecutamos de verdad (Apple M3 Pro, solo CPU)
Sin GPU, sin nube: solo un MacBook Pro con un M3 Pro y 18 GB de RAM. Aquí va el paso a paso, sin adornos.
Instalación y pesos
El paquete de Python se instala en segundos: pip install kokoro-onnx soundfile. Pero aquí está la primera trampa: el paquete de pip incluye el código, no el modelo. Tienes que descargar manualmente dos archivos desde la página de releases de kokoro-onnx en GitHub: kokoro-v1.0.onnx (310 MB) y voices-v1.0.bin (27 MB). La guía rápida pasa esto por alto, así que el primer intento falla con un error de archivo faltante hasta que descargues los pesos.
El bug de ruta de espeak-ng (el que nos hizo perder tiempo de verdad)
Kokoro convierte texto a fonemas con espeak-ng. En la primera síntesis nos topamos con esto:
Error processing file '/Users/runner/work/espeakng-loader/.../espeak-ng-data/phontab': No such file or directoryEsa ruta /Users/runner/work/ es una pista clarísima: la wheel de pip espeakng-loader trae un libespeak-ng que se compiló en CI con una ruta de datos codificada que no existe en tu máquina. Lo frustrante: configurar una variable de entorno ESPEAK_DATA_PATH no sirve de nada, porque kokoro-onnx nunca la lee; toma la ruta de datos directamente del loader incluido.
La solución que funcionó: instala un espeak-ng real del sistema y apúntalo explícitamente en Kokoro mediante su EspeakConfig:
brew install espeak-ng # macOS; apt install espeak-ng on Linux
from kokoro_onnx import Kokoro, EspeakConfig
cfg = EspeakConfig(
lib_path="/opt/homebrew/lib/libespeak-ng.dylib",
data_path="/opt/homebrew/share/espeak-ng-data",
)
k = Kokoro("kokoro-v1.0.onnx", "voices-v1.0.bin", espeak_config=cfg)Después de eso, la generación funciona sin problemas. Si alguna vez has peleado con este error exacto phontab: No such file, esa es la solución.
Velocidad (medida, en caliente)
Solo con CPU, el modelo carga en alrededor de 1.7 segundos, y la síntesis es cómodamente más rápida que en tiempo real. Un párrafo narrado de 22 segundos se renderizó en 3.5 segundos, con un factor de tiempo real de alrededor de 0.16×, aproximadamente seis veces más rápido que la reproducción. Frases cortas individuales regresan en uno o dos segundos. Para un modelo tan pequeño en un portátil, es un rendimiento realmente utilizable en producción. Aquí está la forma de onda real de ese render del párrafo:

Muestras que generamos (sin editar)
Cada clip de abajo lo produjimos nosotros con Kokoro en la CPU M3 Pro descrita arriba: salida cruda del modelo, sin limpieza y sin postprocesado. Reprodúcelos y juzga la calidad por ti mismo.
Generado por VisionStory con Kokoro-82M vía kokoro-onnx, 2026-07-11. Fíjate en la pista obvia: es una pista de voz limpia, pero solo es una voz. No hay rostro, no hay movimiento de labios, no hay presentador en pantalla. Ese vacío es precisamente el punto de la siguiente sección.
Veredicto honesto: puntos fuertes y límites reales
Lo que de verdad nos impresionó:
- La calidad por byte es increíble. Para 82 millones de parámetros, las voces en inglés estadounidense son naturales y expresivas, lo bastante cercanas a un TTS de pago como para que la mayoría de la gente no lo note en un clip corto.
- De verdad corre en una CPU, y rápido. Seis veces más rápido que tiempo real en un portátil sin GPU es el gran titular, y se cumple.
- Realmente gratuito y apto para uso comercial. Apache-2.0 sin cobro por carácter. Para locuciones de alto volumen, esa economía es difícil de superar.
Donde se queda corto (y esto es real):
- Sin clonación de voz. Tienes 54 voces preestablecidas fijas. No puedes clonar tu propia voz ni la de un cliente; si ese es tu caso de uso, Kokoro es un callejón sin salida.
- La calidad en inglés depende de espeak-ng, lo que implica el bug de empaquetado de arriba, además de algún nombre, marca o acrónimo pronunciado mal de vez en cuando.
- El texto largo requiere segmentación manual. Hay un límite de longitud de fonemas por llamada, así que debes dividir guiones largos tú mismo y unir el audio.
- Las voces que no son en inglés son irregulares: notablemente más variables que el conjunto principal de inglés estadounidense.
- Entrega un WAV “a pelo”. Sin marcas de tiempo por palabra, sin visemas: nada para impulsar la sincronización labial de fábrica.
- Es solo Voz. Sin rostro, sin video. Para obtener un presentador hablando, debes combinar Kokoro con un sistema de sincronización labial o de avatar por separado y gestionar tú mismo el timing.
Alojar Kokoro tú mismo vs una herramienta alojada: ¿cuál deberías elegir?
Kokoro y una herramienta de avatares alojada resuelven mitades distintas del problema. Kokoro te da una Voz; una herramienta como VisionStory te da un presentador que habla: Voz, rostro y sincronización labial en una sola salida. Aquí está el intercambio real.
| Kokoro (autoalojado) | VisionStory (alojado) | |
|---|---|---|
| Costo | Gratis (tu propio hardware) | Suscripción / créditos |
| Configuración | pip + pesos de 330 MB + arreglo de espeak-ng | Ninguna: corre en el navegador |
| Lo que obtienes | Solo pista de voz (WAV) | Video de avatar parlante (Voz + rostro + sincronización labial) |
| Clonación de voz | No: 54 preajustes | Sí: clona tu propia voz |
| Velocidad por clip | ~0.16× en tiempo real en CPU (segundos) | Segundos, alojado: sin cómputo local |
| Uso comercial | Sí (Apache-2.0) | Sí (según el plan) |
| Mantenimiento | Parches espeak, dependencias, segmentación | Ninguno |
| Mejor cuando | Solo necesitas una pista de voz gratis y sabes programar | Necesitas un video hablado terminado, rápido |
Elige Kokoro si solo necesitas una voz en off gratuita, te manejas bien en Python, y vas a encargarte del rostro y la sincronización labial por separado (o no necesitas rostro en absoluto). Elige una herramienta alojada si necesitas la voz pegada a un presentador que sincronice labios, o necesitas clonar la voz de una persona específica: Kokoro no puede hacer ninguna de las dos.
Lo que Kokoro nos enseñó
La gran lección de ejecutar Kokoro es que la voz se está comoditizando. Un modelo de 82 MB en un portátil ya produce voces en off lo bastante buenas para trabajo real, gratis. Si el único argumento de tu producto era “hacemos Texto a voz”, esa barrera ya no existe.
La parte difícil, aún sin resolver, es todo lo que viene después de la voz: convertir una pista de audio en un rostro hablante creíble: sincronización labial precisa, expresión, movimiento de cabeza y un timing que encaje. Esa es exactamente la capa en la que trabajamos. Por eso nuestra conclusión no es “no uses Kokoro”: es un motor de voz legítimamente bueno. Es que una voz por sí sola es la mitad de un video. Si quieres la otra mitad, VisionStory convierte una foto y un guion en un presentador que habla con sincronización labial en un paso, y si necesitas igualar una voz específica, también puede clonarla.
