🎙️ Kokoro TTS (82M): Síntesis de Voz Ligera, Ultra Rápida y de Código Abierto

RESUMEN EJECUTIVO

Kokoro-82M (hexgrad/kokoro) es uno de los mayores hitos recientes en el campo del Text-to-Speech (TTS) de código abierto (+9,400 ⭐ en GitHub, licencia Apache 2.0).

Con tan solo 82 millones de parámetros (ocupa menos de 350 MB en disco y VRAM), ofrece una calidad de locución humana asombrosa que rivaliza con modelos masivos comerciales (ElevenLabs o OpenAI TTS), funcionando a velocidades de 10x a 50x en tiempo real, incluso sobre CPUs modestas. Soporta 8 idiomas (incluido español), 54 voces preentrenadas y permite la mezcla ponderada de voces (Voice Blending).


📋 Ficha Técnica y Recursos

ParámetroDetalle Técnico
Repositorio Oficialhexgrad/kokoro (GitHub)
Modelo en Hugging Facehexgrad/Kokoro-82M (Hugging Face)
Autor / Desarrollador@rzvzn (hexgrad)
LicenciaApache License 2.0 (Uso comercial totalmente libre)
Tamaño del Modelo82M de parámetros (~350 MB de peso)
ArquitecturaBasado en StyleTTS 2 + iSTFTNet (Decoder-only, sin difusión lenta)
Frecuencia de Muestreo24,000 Hz (24 kHz)
Procesador G2Pmisaki + fallback fonético con espeak-ng
Idiomas Soportados (v1.0)🇺🇸 Inglés (US), 🇬🇧 Inglés (UK), 🇪🇸 Español, 🇫🇷 Francés, 🇮🇳 Hindi, 🇮🇹 Italiano, 🇯🇵 Japonés, 🇧🇷 Portugués, 🇨🇳 Chino
Coste de EntrenamientoApenas ~$1,000 USD (1,000 horas de GPU A100 80GB)
Coste en APIs Cloud< 1 por millón de caracteres)

🧠 ¿Por qué es Revolucionario Kokoro? (El Concepto)

Tradicionalmente, los modelos TTS de alta calidad (como Bark, XTTS v2 o modelos de difusión de miles de millones de parámetros) sufren de tres graves problemas:

  1. Altísima latencia: Demasiado lentos para agentes de voz en tiempo real o locuciones largas.
  2. Consumo masivo de VRAM: Requieren GPUs de gama alta (8 GB a 16 GB mínimo).
  3. Licencias restrictivas: La mayoría prohíbe el uso comercial o impone suscripciones elevadas.

Kokoro resolvió esta triada:

  • Decoder-Only + iSTFTNet: Elimina el muestreo iterativo por difusión y sintetiza audio en una sola pasada directa.
  • Eficiencia extrema: Corre fluidamente en cualquier ordenador portátil, Raspberry Pi 5 o en la CPU de un servidor modesto.
  • Entrenamiento ético y permisivo: Entrenado exclusivamente con audio de dominio público o licencias permisivas (Apache/MIT) y fonemas IPA.
graph LR
    Text["Texto de Entrada"] --> Misaki["🔤 G2P Engine (misaki + espeak-ng)"]
    Misaki --> Phonemes["Fonemas IPA Normalizados"]
    
    Voice["🎭 Tensor de Voz (54 predefinidas o Blend)"] --> Decoder
    Phonemes --> Decoder["🧠 Kokoro-82M Decoder (StyleTTS 2)"]
    Decoder --> Vocoder["⚡ iSTFTNet Vocoder (Tiempo Real 10x-50x)"]
    Vocoder --> Audio["🔊 Audio WAV de Alta Fidelidad (24 kHz)"]

🎭 Catálogo de Voces y Mezcla de Estilos (Voice Blending)

El modelo incluye 54 voces oficiales categorizadas por calidad de datos de entrenamiento (Grado A, B, C):

🇪🇸 Voces en Español (lang_code='e')

  • ef_dora (Femenina): Tono profesional, clara y modulada para tutoriales, explicaciones y artículos.
  • em_alex (Masculino): Tono formal, firme y articulado para narraciones técnicas o institucionales.
  • em_santa (Masculino): Tono cálido y festivo.

🇺🇸 Voces Estrella en Inglés (lang_code='a')

  • af_heart (Grado A): La voz insignia del modelo. Expresividad, respiración natural y microinflexiones humanas asombrosas.
  • af_bella (Grado A-): Excelente para audiolibros y podcasts dinámicos.
  • am_michael / am_puck: Voces masculinas maduras y conversacionales.

🎨 Superpoder: Voice Blending (Mezcla de Voces en Memoria)

Como las voces en Kokoro son simples tensores de embeddings en PyTorch, puedes fusionar dos o más voces con operaciones matemáticas lineales directas para crear un timbre 100% exclusivo:

import torch
 
# Cargar dos voces existentes
voice_a = torch.load('voices/af_heart.pt', weights_only=True)
voice_b = torch.load('voices/af_bella.pt', weights_only=True)
 
# Crear una voz híbrida (60% Heart + 40% Bella)
custom_voice = (0.6 * voice_a) + (0.4 * voice_b)
 
# Generar locución con la nueva voz
generator = pipeline("Texto a locutar", voice=custom_voice)

💻 Guía Rápida de Instalación y Uso en Linux Mint

1. Requisitos del Sistema

Instalar la dependencia de fonetización espeak-ng y las librerías de Python:

# 1. Instalar espeak-ng en Linux Mint / Ubuntu
sudo apt-get update && sudo apt-get install -y espeak-ng
 
# 2. Instalar el paquete de Python y soundfile
pip install "kokoro>=0.9.4" soundfile torch

2. Script Mínimo para Generar Audio en Español

Crea un archivo hablar.py:

import soundfile as sf
from kokoro import KPipeline
 
# Inicializar pipeline para español ('e')
pipeline = KPipeline(lang_code='e')
 
texto = """
¡Hola, rey! Kokoro es un modelo de síntesis de voz ultraligero de tan solo 82 millones de parámetros.
Su calidad es comparable a modelos comerciales gigantes, pero corre directamente en tu propio equipo sin gastar un solo centavo de API.
"""
 
# Generar audio con la voz 'ef_dora' (español femenina) o 'em_alex' (masculina)
generator = pipeline(texto, voice='ef_dora', speed=1.0, split_pattern=r'\n+')
 
# Guardar cada segmento de audio a 24 kHz
for i, (graphemes, phonemes, audio) in enumerate(generator):
    sf.write(f'salida_{i}.wav', audio, 24000)
    print(f"✅ Segmento {i} generado exitosamente.")

3. Ejecución Rápida con Aceleración por GPU o CPU

  • En GPU NVIDIA: Utiliza automáticamente CUDA si PyTorch lo detecta, tardando menos de 1 segundo en generar un minuto de voz.
  • En CPU: Corre sin problemas mediante optimizaciones multihilo o versiones cuantizadas con ONNX (pip install kokoro-onnx).

⚖️ Comparativa: Kokoro frente a Otros Motores TTS

Característica🎙️ Kokoro-82M🤖 OpenAI TTS🌊 ElevenLabs🍃 Edge TTS🐶 Bark (Suno)
Parámetros82M~1B+Desconocido (Gigante)Cloud Service~1B
LicenciaApache 2.0 (Open)PropietariaPropietariaMicrosoft TermsMIT
Ejecución Local✅ 100% Offline❌ Solo API❌ Solo API❌ Requiere Internet✅ Local
Velocidad de Inferencia⚡ 10x – 50x tiempo real🟡 Depende de API🟡 Depende de API🟢 Rápido🔴 Muy lento
Consumo de VRAM🟢 < 500 MBN/AN/AN/A🔴 8 GB+
Coste$0 (Gratis)$15 / M chars100 / M chars$0 (Uso personal)$0
Calidad de Voces🟢 Alta (Estudio)🟢 Muy Alta🌟 Excepcional🟢 Buena🟡 Variable
Voice Blending✅ Sí (Matemático)❌ No⚠️ Clones caros❌ No❌ No

🔗 Integración en el Ecosistema de Ryukami Labs