> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/guides/guides_v2-es/audio-y-voz/kokoro-tts.md).

# Kokoro TTS

Ejecuta Kokoro TTS: un modelo de texto a voz ultraligero de 82M parámetros en GPUs de Clore.ai.

Kokoro es un modelo de texto a voz con 82 millones de parámetros que rinde muy por encima de lo que sugiere su tamaño. A pesar de su diminuto tamaño (menos de 2 GB de VRAM), produce un habla en inglés sorprendentemente natural y funciona a velocidad en tiempo real o superior incluso en hardware económico. Con licencia Apache 2.0, múltiples estilos de voz integrados y compatibilidad con inferencia en CPU, Kokoro es ideal para aplicaciones en tiempo real, chatbots y despliegues en el borde.

**HuggingFace:** [hexgrad/Kokoro-82M](https://huggingface.co/hexgrad/Kokoro-82M) **PyPI:** [kokoro](https://pypi.org/project/kokoro/) **Licencia:** Apache 2.0

## Características clave

* **82 millones de parámetros** — uno de los modelos TTS de alta calidad más pequeños disponibles
* **< 2 GB de VRAM** — funciona en prácticamente cualquier GPU, e incluso en CPU
* **Múltiples estilos de voz** — inglés americano, inglés británico; voces masculinas y femeninas
* **En tiempo real o más rápido** — inferencia de baja latencia apta para streaming
* **Generación en streaming** — devuelve fragmentos de audio a medida que se producen
* **Compatibilidad multilingüe** — inglés (principal), japonés (`misaki[ja]`), chino (`misaki[zh]`)
* **Apache 2.0** — gratis para uso personal y comercial

## Requisitos

| Componente | Mínimo                      | Recomendado |
| ---------- | --------------------------- | ----------- |
| GPU        | Cualquiera con 2 GB de VRAM | RTX 3060    |
| VRAM       | 2 GB                        | 4 GB        |
| RAM        | 4 GB                        | 8 GB        |
| Disco      | 500 MB                      | 1 GB        |
| Python     | 3.9+                        | 3.11        |
| Sistema    | espeak-ng instalado         | —           |

**Recomendación de Clore.ai:** Una RTX 3060 ($0.03–0.07/h) es más que suficiente. Kokoro incluso puede ejecutarse en instancias solo con CPU para un TTS extremadamente rentable.

## Instalación

```bash
# Instalar dependencia del sistema
apt-get install -y espeak-ng

# Instala Kokoro y E/S de audio
pip install kokoro>=0.9.4 soundfile torch

# Para compatibilidad con japonés (opcional)
pip install misaki[ja]

# Para compatibilidad con chino (opcional)
pip install misaki[zh]

# Verificar
python -c "from kokoro import KPipeline; print('Kokoro listo')"
```

## Inicio rápido

```python
from kokoro import KPipeline
import soundfile as sf

# Inicializa la canalización
# 'a' = inglés americano, 'b' = inglés británico
pipeline = KPipeline(lang_code='a')

texto = """
Kokoro es un modelo ligero de texto a voz con solo ochenta y dos millones
de parámetros. A pesar de su pequeño tamaño, produce un habla natural y expresiva.
"""

# Genera audio — opciones de voz: af_heart, af_bella, af_nicole, af_sarah, af_sky,
#                                  am_adam, am_michael, bf_emma, bf_isabella, bm_george, bm_lewis
generator = pipeline(text, voice='af_heart', speed=1.0)

for i, (graphemes, phonemes, audio) in enumerate(generator):
    sf.write(f'output_{i}.wav', audio, 24000)
    print(f"Fragmento {i}: {graphemes[:50]}...")

print("¡Hecho!")
```

## Ejemplos de uso

### Comparación de múltiples voces

Genera el mismo texto con distintas voces para comparar:

```python
from kokoro import KPipeline
import soundfile as sf

pipeline = KPipeline(lang_code='a')

text = "Bienvenido a Clore.ai, el mercado de GPU entre pares."

voices = ['af_heart', 'af_bella', 'am_adam', 'am_michael']

for voice in voices:
    generator = pipeline(text, voice=voice, speed=1.0)
    for i, (gs, ps, audio) in enumerate(generator):
        sf.write(f'{voice}_{i}.wav', audio, 24000)
    print(f"Generado: {voice}")
```

### Inglés británico con control de velocidad

```python
from kokoro import KPipeline
import soundfile as sf

# 'b' = inglés británico
pipeline = KPipeline(lang_code='b')

text = "Buenas tardes. Esta es una demostración de síntesis en inglés británico."

# speed < 1.0 = más lento, speed > 1.0 = más rápido
generator = pipeline(text, voice='bf_emma', speed=0.85)

all_audio = []
for gs, ps, audio in generator:
    all_audio.append(audio)

import numpy as np
combined = np.concatenate(all_audio)
sf.write('british_slow.wav', combined, 24000)
print(f"Duración total: {len(combined)/24000:.1f}s")
```

### Procesamiento por lotes de archivos

Procesa múltiples textos y concaténalos en un único archivo al estilo audiolibro:

```python
from kokoro import KPipeline
import soundfile as sf
import numpy as np

pipeline = KPipeline(lang_code='a')

chapters = [
    "Capítulo uno. El comienzo de nuestro viaje empieza aquí.",
    "El sol salió sobre las montañas, proyectando largas sombras sobre el valle.",
    "Ella abrió la puerta y entró en lo desconocido.",
]

all_audio = []
silence = np.zeros(int(24000 * 0.5))  # 0.5 s de silencio entre capítulos

for idx, text in enumerate(chapters):
    for gs, ps, audio in pipeline(text, voice='af_bella', speed=1.0):
        all_audio.append(audio)
    all_audio.append(silence)
    print(f"Capítulo {idx+1} listo")

combined = np.concatenate(all_audio)
sf.write('audiobook.wav', combined, 24000)
print(f"Total: {len(combined)/24000:.1f}s")
```

## Consejos para usuarios de Clore.ai

* **inferencia en CPU** — Kokoro es lo bastante pequeño para ejecutarse en CPU; útil para cargas sensibles al coste o cuando no hay GPUs disponibles
* **Transmisión** — el generador devuelve fragmentos de audio a medida que se producen, lo que permite la reproducción en tiempo real en aplicaciones web
* **Combínalo con WhisperX** — usa WhisperX para la transcripción y Kokoro para la resíntesis en canalizaciones de voz
* **Docker** — usa `pytorch/pytorch:2.11.0-cuda12.8-cudnn9-runtime` y añade `apt-get install -y espeak-ng` a tu startup
* **Consistencia de voz** — mantén un único ID de voz por proyecto para una experiencia de narrador coherente
* **Eficiencia de costes** — con $0.03–0.07/h en una RTX 3060, Kokoro es una de las soluciones TTS más baratas para autoalojar

## Solución de problemas

| Problema                      | Solución                                                                                                      |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `espeak-ng no encontrado`     | Ejecuta `apt-get install -y espeak-ng` (dependencia del sistema requerida)                                    |
| `ModuleNotFoundError: kokoro` | Instala con `pip install kokoro>=0.9.4 soundfile`                                                             |
| El audio suena robótico       | Prueba con una voz diferente (por ejemplo, `af_heart` suele sonar más natural)                                |
| El japonés/chino no funciona  | Instala los extras de idioma: `pip install misaki[ja]` o `misaki[zh]`                                         |
| Memoria insuficiente en CPU   | Reduce la longitud del texto por llamada; Kokoro transmite fragmentos, así que la memoria se mantiene acotada |
| Primera ejecución lenta       | Los pesos del modelo se descargan en el primer uso (\~200 MB); las ejecuciones posteriores son instantáneas   |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-es/audio-y-voz/kokoro-tts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
