Kokoro TTS
Ejecuta Kokoro TTS — un modelo de texto a voz ultraligero de 82M parámetros en las GPU de Clore.ai.
Última actualización
¿Te fue útil?
¿Te fue útil?
# Instalar dependencia del sistema
apt-get install -y espeak-ng
# Instalar Kokoro y E/S de audio
pip install kokoro>=0.9.4 soundfile torch
# Para soporte de japonés (opcional)
pip install misaki[ja]
# Para soporte de chino (opcional)
pip install misaki[zh]
# Verificar
python -c "from kokoro import KPipeline; print('Kokoro listo')"from kokoro import KPipeline
import soundfile as sf
# Inicializar pipeline
# 'a' = inglés americano, 'b' = inglés británico
pipeline = KPipeline(lang_code='a')
text = """
Kokoro es un modelo de texto a voz ligero con solo ochenta y dos millones
de parámetros. A pesar de su pequeño tamaño, produce un habla natural y expresiva.
"""
# Generar 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!")from kokoro import KPipeline
import soundfile as sf
pipeline = KPipeline(lang_code='a')
text = "Welcome to Clore.ai, the peer-to-peer GPU marketplace."
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}")from kokoro import KPipeline
import soundfile as sf
# 'b' = inglés británico
pipeline = KPipeline(lang_code='b')
text = "Good afternoon. This is a demonstration of British English synthesis."
# 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")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 comienza aquí.",
"El sol se elevó sobre las montañas, proyectando largas sombras a través del valle.",
"Ella abrió la puerta y dio un paso hacia lo desconocido.",
]
all_audio = []
silence = np.zeros(int(24000 * 0.5)) # 0.5s 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} terminado")
combined = np.concatenate(all_audio)
sf.write('audiobook.wav', combined, 24000)
print(f"Total: {len(combined)/24000:.1f}s")