EchoraEchora
Volver a los modelos

Spark-TTS: un códec, sin necesidad de un modelo acústico independiente

12 de septiembre de 2026
•
7 min de lectura

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
Empieza a crear gratis

La mayoría de los sistemas TTS basados en LLM necesitan un segundo modelo después de que el modelo de lenguaje haga su trabajo: una red de flow matching o un decodificador de difusión que convierta los tokens predichos en detalles acústicos reales. Spark-TTS, desarrollado conjuntamente por investigadores de HKUST, Mobvoi, la Universidad Jiao Tong de Shanghái y varias instituciones más, elimina por completo esa segunda etapa. Construido sobre Qwen2.5, reconstruye el audio directamente a partir de los códigos que predice el modelo de lenguaje mediante un códec diseñado específicamente para hacer posible esa reconstrucción directa sin sacrificar calidad ni control.

¿Qué es Spark-TTS?

Spark-TTS es un sistema open source de texto a voz basado en LLM, presentado en un artículo de marzo de 2025 y construido íntegramente sobre el modelo de lenguaje Qwen2.5 como columna vertebral. Su principal contribución es BiCodec, un códec de voz de flujo único que elimina la necesidad de los modelos independientes de generación acústica —como flow matching— de los que dependen la mayoría de las arquitecturas TTS comparables basadas en LLM. En lugar de predecir varios libros de códigos apilados que después requieren un decodificador dedicado para interpretarlos, el LLM de Spark-TTS predice códigos que se asignan directamente al audio, lo que simplifica todo el pipeline de generación y lo hace más eficiente desde el punto de vista computacional.

Ventajas funcionales de Spark-TTS

  • Una arquitectura realmente simplificada. No hace falta ningún modelo independiente de flow matching o difusión para generar las características acústicas: el audio se reconstruye directamente desde los códigos predichos por el LLM, lo que reduce tanto la complejidad como el coste de inferencia.
  • Clonación de voz zero-shot, que replica la voz de un hablante objetivo sin datos de entrenamiento dedicados a esa voz concreta.
  • Un modo Voice Creation independiente, que genera una voz totalmente sintética solo a partir de parámetros de control, sin necesitar ningún audio de referencia: una capacidad realmente distinta de la clonación.
  • Control detallado de la interpretación, incluidos valores precisos de tono y velocidad del habla, además de controles más generales como el género y el estilo general al hablar.
  • Compatibilidad bilingüe con chino e inglés, incluidos escenarios de alternancia entre idiomas dentro de una misma generación.
  • Un pipeline de investigación completamente abierto, con el modelo, el código de entrenamiento y el conjunto de datos VoxBox creado específicamente para este fin (100.000 horas de voz con anotaciones detalladas de atributos) publicados abiertamente.

Cómo funcionan en realidad los tokens desacoplados de BiCodec

Esta es la decisión de diseño concreta que hace posible la sencillez de Spark-TTS sin renunciar al control, y merece la pena entenderla directamente. BiCodec descompone la voz en dos tipos de tokens complementarios: tokens semánticos de baja tasa de bits que capturan el contenido lingüístico (qué se dice) y tokens globales de longitud fija que recogen atributos específicos del hablante (quién habla y con qué estilo). Como estos dos tipos de tokens están claramente separados en vez de entrelazados, la base Qwen2.5 —combinada con un enfoque de generación de cadena de pensamiento— puede manipularlos con cierta independencia: ajustar los tokens globales cambia las características de la voz sin alterar el contenido lingüístico, y viceversa. Este desacoplamiento es precisamente lo que permite aplicar desde una misma representación subyacente tanto controles generales (elegir un género o un estilo general al hablar) como controles detallados (fijar un valor exacto de tono o una velocidad del habla), en lugar de necesitar mecanismos separados para cada nivel de control.

Dos modos: Voice Cloning y Voice Creation

Spark-TTS se articula en torno a dos flujos de trabajo realmente distintos, no a uno solo. Voice Cloning recibe un clip de audio de referencia y su transcripción, y genera una nueva locución con la voz de ese hablante: el caso de uso habitual de clonación zero-shot. Voice Creation funciona en sentido contrario: en vez de proporcionar una grabación de referencia, se especifican parámetros de control (género, tono, velocidad del habla y estilo), y el modelo genera una voz totalmente sintética que responde a esas especificaciones, sin que intervenga en absoluto la voz de una persona real. Este segundo modo resulta realmente útil para proyectos que necesitan una identidad de hablante virtual coherente —la voz de un asistente de marca o un personaje de videojuego— sin tener que buscar, licenciar ni grabar a un actor de voz real como punto de partida.

Primeros pasos con Spark-TTS

  1. Clona el repositorio y configura un entorno con Python 3.12. Ejecuta git clone https://github.com/SparkAudio/Spark-TTS.git; después crea y activa un entorno conda específico (conda create -n sparktts -y python=3.12 && conda activate sparktts) antes de instalar las dependencias con pip install -r requirements.txt.
  2. Descarga los pesos del modelo. Usa snapshot_download("SparkAudio/Spark-TTS-0.5B", local_dir="pretrained_models/Spark-TTS-0.5B") de la biblioteca huggingface_hub, o clónalos directamente mediante git lfs install && git clone https://huggingface.co/SparkAudio/Spark-TTS-0.5B pretrained_models/Spark-TTS-0.5B.
  3. Ejecuta la inferencia de clonación mediante la CLI. python -m cli.inference --text "text to synthesize." --device 0 --save_dir "path/to/save/audio" --model_dir pretrained_models/Spark-TTS-0.5B --prompt_text "transcript of the prompt audio" --prompt_speech_path "path/to/prompt_audio" cubre el flujo básico de clonación de voz directamente desde la línea de comandos.
  4. Inicia la WebUI para Voice Cloning y Voice Creation. python webui.py --device 0 abre una interfaz en el navegador compatible con ambos flujos: Voice Cloning acepta un clip de referencia subido o una grabación en directo, mientras que Voice Creation muestra directamente los parámetros de control.
  5. Consulta la referencia de despliegue con Triton/TensorRT-LLM para producción. El proyecto documenta una ruta de despliegue con Nvidia Triton y TensorRT-LLM pensada específicamente para los equipos que pasan de la experimentación local a servir el modelo a escala de producción.

Consejos para obtener mejores resultados

  • Usa Voice Creation en lugar de la clonación cuando no necesites la voz de una persona real concreta. Si tu proyecto solo requiere un hablante virtual coherente y diferenciado, generarlo mediante parámetros de control evita las cuestiones de licencia y consentimiento que acompañan a la clonación de una voz real de referencia.
  • Proporciona una transcripción precisa del prompt para la clonación. Como la CLI requiere tanto el audio de referencia como su texto transcrito correspondiente, una transcripción precisa ayuda al modelo a separar con mayor fiabilidad el contenido lingüístico de la identidad del hablante durante la generación.
  • Experimenta con controles precisos de tono y velocidad en lugar de depender solo de ajustes generales. Dado que los tokens desacoplados de BiCodec permiten específicamente realizar ajustes precisos, usar valores exactos en vez de limitarse a categorías amplias de estilo es donde el control del modelo se diferencia realmente de los sistemas de clonación basados únicamente en una referencia.
  • Prueba directamente la alternancia entre idiomas si tu contenido la necesita. Como es un escenario expresamente compatible y no un caso extremo, merece la pena validar directamente tu contenido concreto que mezcla chino e inglés antes de asumir una calidad uniforme.

Spark-TTS frente a otros modelos de clonación basados en LLM

Spark-TTSCosyVoice3F5-TTS
Mecanismo centralBiCodec de flujo único, del LLM directamente al audioTokens semánticos supervisados + flow matchingDiffusion Transformer + flow matching
¿Necesita un modelo acústico independiente?NoSí (etapa de flow matching)Sí (la etapa central de generación)
Clonación zero-shotSíSíSí
Creación de voz totalmente sintética (sin referencia)Sí, modo específicoNo es una función específicaNo es una función específica
Control preciso de tono/velocidadSí, mediante tokens desacopladosBasado en instruccionesNo es una función específica
IdiomasChino e inglés (alternancia entre idiomas)9 + 18 dialectos chinosCentrado principalmente en inglés
LicenciaCC-BY-NC-SA-4.0 (no comercial, compartir igual)Abierto, API alojada disponibleCC-BY-NC (no comercial)

El nicho concreto de Spark-TTS es una sencillez arquitectónica combinada con una auténtica flexibilidad para dos usos: el diseño de flujo único elimina toda una etapa de modelo que la mayoría de los sistemas comparables todavía necesitan, mientras que su modo Voice Creation cubre un caso de uso (una voz sintética sin ninguna referencia real) que la mayoría de los modelos centrados en la clonación no abordan directamente.

Preguntas frecuentes

¿Qué diferencia a la arquitectura de Spark-TTS de otros modelos TTS basados en LLM?

Utiliza BiCodec, un códec de flujo único que permite que la base Qwen2.5 prediga códigos que se asignan directamente al audio, lo que elimina el modelo independiente de flow matching o difusión que la mayoría de los sistemas comparables necesitan como etapa adicional de generación.

¿Puede Spark-TTS crear una voz sin ningún audio de referencia?

Sí: ese es el propósito específico de su modo Voice Creation, que genera una voz totalmente sintética a partir de parámetros de control como el género, el tono y la velocidad del habla, sin necesidad de una grabación de referencia.

¿Admite Spark-TTS idiomas distintos del inglés y el chino?

Su enfoque documentado y de entrenamiento es bilingüe chino-inglés e incluye alternancia entre idiomas dentro de una misma generación; la compatibilidad con más idiomas no forma parte de la versión principal.

¿Se puede usar Spark-TTS gratis con fines comerciales?

No sin obtener una autorización aparte. Se publica bajo una licencia CC-BY-NC-SA-4.0, que restringe el uso a fines no comerciales y exige compartir bajo la misma licencia; además, su documentación limita explícitamente el uso previsto a la investigación, la educación y las aplicaciones legítimas, a la vez que prohíbe la clonación o la suplantación no autorizadas.

¿Cuánto audio de referencia necesita Spark-TTS para clonar una voz?

El flujo documentado utiliza un clip de referencia breve junto con el texto de su transcripción correspondiente; la duración mínima exacta no se especifica de manera tan rígida como en otros modelos, pero el pipeline de clonación está diseñado para trabajar con una muestra limpia y representativa.

Genera una voz similar desde un audio de referencia

Para un flujo de clonación de voz en el navegador con un objetivo parecido, utiliza la Clonación de voz de Echora. Sube una grabación de tu propia voz o una que tengas permiso explícito para usar, introduce hasta 5.000 caracteres de texto nuevo y genera una nueva locución que busca parecerse a la voz de referencia.

Crear una voz clonada →