Silero TTS: texto a voz con una sola línea de código, de verdad
- ¿Qué es Silero TTS?
- Ventajas funcionales de Silero TTS
- Cobertura lingüística: donde Silero realmente destaca
- Una herramienta específica para la precisión de la pronunciación rusa
- Cómo empezar con Silero TTS
- Consejos para obtener mejores resultados
- Silero TTS frente a otros modelos preentrenados y ligeros
- Preguntas frecuentes
- Convierte texto en voz con Echora
Convierte texto y grabaciones en audio listo para escuchar
Doblaje, stems, covers y efectos de sonido, todo en el navegador.
- Texto a voz, y también clonación de voz
- Separa pistas, o genera un cover
- Regístrate para escuchar primero y decidir después
El propio lema del equipo de Silero para este proyecto es «modelos preentrenados de texto a voz hechos ridículamente sencillos», y no es una exageración: una sola llamada a torch.hub.load basta para obtener una voz funcional, sin pipeline de entrenamiento, sin configuración dividida en varios archivos y sin un vocoder independiente que conectar. Silero TTS se ha mantenido discretamente en desarrollo activo desde 2020, y su combinación de configuración mínima con una cobertura realmente sólida del ruso, otras lenguas de la CEI y varios idiomas índicos lo convierte en una opción singular entre los modelos TTS preentrenados y ligeros.
¿Qué es Silero TTS?
Silero TTS es una colección de modelos preentrenados de texto a voz, de código abierto y con licencia MIT, mantenida en GitHub como snakers4/silero-models desde su lanzamiento inicial alrededor de septiembre de 2020. Las actualizaciones han seguido activas a lo largo de V3, V4 y la generación V5 actual, publicada en octubre de 2025. Los modelos son end-to-end, funcionan tanto en CPU como en GPU y necesitan muy poco aparte del propio PyTorch: una decisión de diseño deliberada que mantiene reducidos tanto los archivos de modelo como la huella de despliegue.
Ventajas funcionales de Silero TTS
- Uso real en una sola línea, con carga directa mediante PyTorch Hub o el paquete pip
silero, sin pasos de configuración independientes. - Dependencias mínimas: para el uso autónomo solo se necesitan PyTorch 1.12+ y la biblioteca estándar de Python;
torchaudioyomegaconfse requieren únicamente para determinadas funciones opcionales. - Funciona indistintamente en CPU o GPU, con la misma ruta de código en ambos casos y solo cambiando el dispositivo de destino.
- Empaquetado portátil y autónomo del modelo mediante
torch.package.PackageImporterde PyTorch, lo que permite distribuir un modelo como un único archivo.ptsin un árbol de dependencias externas que gestionar durante el despliegue. - Compatibilidad integrada con SSML en las generaciones V3, V4 y V5, con control directo mediante marcado sobre pausas, énfasis y prosodia.
- Cobertura realmente sólida del ruso, las lenguas de la CEI y los idiomas índicos, un nicho lingüístico que la mayoría de los proyectos TTS ligeros y de código abierto no prioriza.
- Una trayectoria de cinco años con actualizaciones continuas, un historial de mantenimiento considerablemente más largo y constante de lo que pueden afirmar muchas publicaciones TTS de código abierto más recientes.
Cobertura lingüística: donde Silero realmente destaca
En vez de perseguir el mayor número posible de idiomas, Silero ha desarrollado una profundidad especial en una región concreta: el ruso es su idioma insignia, acompañado de ucraniano, kazajo, uzbeko, tártaro, armenio, azerbaiyano, bielorruso, georgiano, kirguís y tayiko. Es un recorrido verdaderamente completo por las lenguas de la Comunidad de Estados Independientes que pocos proyectos de código abierto de la competencia cubren con este grado de atención. Por separado, Silero también admite varios idiomas índicos, incluidos hindi, tamil y bengalí, aunque normalmente exigen texto de entrada romanizado en lugar de aceptar directamente la escritura nativa. Si tu proyecto necesita alguno de estos idiomas concretos, la profundidad de Silero constituye una diferencia real frente a modelos multilingües más amplios pero superficiales, creados principalmente en torno a idiomas de Europa occidental y Asia oriental.
Una herramienta específica para la precisión de la pronunciación rusa
Además de los modelos TTS principales, el proyecto incluye una extensión complementaria llamada silero-stress, creada expresamente para tratar dos aspectos particularmente difíciles del texto ruso: la marcación automática del acento prosódico y la desambiguación de homógrafos (leer correctamente palabras que se escriben igual pero se pronuncian de forma distinta según su significado). Abarca aproximadamente 4 millones de palabras, con una puntuación F1 declarada de 0,85 específicamente en la desambiguación de homógrafos, y procesa el texto a unos 0,5 milisegundos por palabra en un solo hilo de CPU. Es lo bastante rápida como para ejecutarse como un paso ligero de preprocesamiento inmediatamente antes de la síntesis, en vez de como una fase independiente sin conexión. Este es el tipo de ingeniería acotada y específica de un idioma que un modelo multilingüe amplio rara vez se molesta en desarrollar, y mejora directamente la naturalidad del resultado en ruso.
Cómo empezar con Silero TTS
- Instala mediante pip para seguir el camino más sencillo.
pip install sileroinstala el paquete; los modelos se descargan bajo demanda la primera vez que los solicitas, ya sea mediante pip o PyTorch Hub, y pueden almacenarse en caché local para evitar descargas repetidas. - Carga un modelo con una sola llamada a
torch.hub.load. El patrón documentado estorch.hub.load(repo_or_dir='snakers4/silero-models', model='silero_tts', language='ru', speaker='v5_ru'): cambialanguageyspeakerpor el idioma de destino y la versión de modelo que quieras. - Genera audio con
apply_tts. Una vez cargado,model.apply_tts(text=your_text, speaker=speaker_name, sample_rate=sample_rate)devuelve directamente el audio sintetizado; según tus necesidades de calidad, las frecuencias de muestreo compatibles son 8000, 24000 y 48000 Hz. - Consulta
models.ymlen el repositorio para ver la lista actual de voces e idiomas. Como se añaden nuevas versiones y voces con el tiempo, este archivo es la fuente autorizada y actualizada, en lugar de tutoriales antiguos que podrían mencionar identificadores de modelo obsoletos. - Utiliza marcado SSML para controlar el ritmo y el énfasis. V3, V4 y V5 lo admiten directamente en el texto de entrada; los ejemplos de Colab del proyecto son la forma más rápida de ver en acción la sintaxis concreta de las etiquetas antes de escribir las tuyas.
- Empaqueta un modelo como archivo
.ptautónomo para entornos de despliegue limitados. Contorch.package.PackageImporter, puedes empaquetar un modelo para que solo necesite PyTorch y la biblioteca estándar en tiempo de ejecución, sin llevar a producción todo el árbol de dependencias del repositorio.
Consejos para obtener mejores resultados
- Usa la extensión silero-stress específicamente para contenido en ruso. Dado lo mucho que la posición del acento y la ambigüedad de los homógrafos afectan a la naturalidad de la pronunciación rusa, ejecutar este ligero paso de preprocesamiento antes de la síntesis compensa la mínima latencia añadida.
- Comprueba si tu idioma de destino necesita una entrada romanizada. Sobre todo en los idiomas índicos compatibles, confirma el formato de entrada esperado antes de dar por hecho que el texto en escritura nativa funcionará directamente.
- Elige la frecuencia de muestreo según el destino real de la salida. 8000 Hz son suficientes para situaciones con ancho de banda limitado o sistemas integrados, mientras que 48000 Hz son una opción mejor cuando la salida alimenta un pipeline de audio de producción en el que la calidad se examinará con detalle.
- No esperes clonación de voz. Silero trabaja con una lista fija de voces preentrenadas por idioma, no con clonación zero-shot a partir de un clip de referencia; si tu objetivo es reproducir una voz real concreta, la herramienta adecuada es un modelo dedicado a la clonación.
- Vuelve a consultar
models.ymlperiódicamente si utilizas una integración antigua. Dado el ritmo de actualizaciones activas del proyecto hasta V5, los nuevos idiomas o voces podrían no aparecer en documentación o tutoriales escritos para versiones anteriores.
Silero TTS frente a otros modelos preentrenados y ligeros
| Silero TTS | Piper | Kokoro-82M | |
|---|---|---|---|
| Complejidad de configuración | Una línea mediante PyTorch Hub o pip | instalación con pip + descarga separada del modelo/configuración | instalación con pip + descarga del modelo |
| Principal fortaleza lingüística | Ruso, lenguas de la CEI y algunos idiomas índicos | Más de 35 idiomas, amplia cobertura general | 8 idiomas, centrado en el inglés |
| Funciona solo con CPU | Sí, y también indistintamente con GPU | Sí, por diseño | Sí, de forma nativa |
| Clonación de voz | No, lista fija de voces | No, lista fija de voces | No, lista fija de voces |
| Compatibilidad con SSML | Sí (V3/V4/V5) | No es una función principal | No es una función principal |
| Historial de mantenimiento | Activo desde 2020 | Original archivado en 2025, fork activo | Activo desde su lanzamiento en 2025 |
| Licencia | MIT | MIT (original) / GPL-3.0 (fork actual) | Apache 2.0 |
El nicho específico de Silero es su profundidad real en una región lingüística —Rusia y el espacio más amplio de la CEI— que la mayoría de los demás proyectos TTS ligeros y de código abierto trata, como mucho, como un añadido menor, combinada con un proceso de configuración que difícilmente podría ser más sencillo que una sola llamada a una función.
Preguntas frecuentes
¿Silero TTS se puede usar realmente con una sola línea de código?
Sí: una sola llamada a torch.hub.load (o el equivalente from silero import silero_tts mediante pip) carga un modelo funcional, sin necesidad de un pipeline de entrenamiento independiente ni de una configuración en varios pasos.
¿Qué idiomas admite mejor Silero TTS?
El ruso es su principal objetivo, junto con una sólida cobertura de otras lenguas de la CEI —ucraniano, kazajo, uzbeko, tártaro, armenio, azerbaiyano, bielorruso, georgiano, kirguís y tayiko— y varios idiomas índicos, como hindi, tamil y bengalí, que normalmente requieren una entrada romanizada.
¿Silero TTS admite clonación de voz?
No. Trabaja con un conjunto fijo de voces preentrenadas para cada idioma y versión, en lugar de realizar clonación zero-shot a partir de un clip de audio de referencia.
¿Silero TTS es gratuito para uso comercial?
Sí. Se publica bajo la licencia MIT, que permite el uso comercial sin regalías ni acuerdos de licencia independientes.
¿Qué es silero-stress y lo necesito?
Es una herramienta complementaria específica para texto en ruso que se ocupa de la marcación automática del acento prosódico y la desambiguación de homógrafos antes de la síntesis. Es opcional, pero se recomienda si la precisión de la pronunciación del contenido en ruso es importante para tu proyecto, porque la posición del acento en ruso influye notablemente en la naturalidad del resultado.
Convierte texto en voz con Echora
Para un flujo en el navegador con un objetivo similar, utiliza Texto a voz de Echora. Introduce hasta 5.000 caracteres, elige una voz integrada o una voz personalizada guardada, añade etiquetas de interpretación compatibles cuando las necesites y ajusta la estabilidad. Después podrás escuchar el resultado y descargar el MP3 terminado.