EchoraEchora
Volver a los modelos

MaskGCT: cómo resolver dos problemas opuestos del TTS con un solo truco de entrenamiento

12 de septiembre de 2026
•
6 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

Los modelos TTS autorregresivos modelan la duración de forma implícita, algo que suele perjudicar la robustez y no permite controlar realmente cuánto durará el resultado. Los modelos no autorregresivos resuelven el problema de robustez, pero históricamente han necesitado supervisión explícita de la alineación entre texto y habla y predicción de duración a nivel de fonema durante el entrenamiento: mecanismos adicionales que también pueden comprometer la naturalidad. MaskGCT, desarrollado por investigadores de CUHK-Shenzhen y publicado a través del conjunto de herramientas Amphion, se creó para evitar ambos problemas a la vez mediante un enfoque de entrenamiento tomado de otro ámbito del modelado generativo: enmascarar y después predecir.

¿Qué es MaskGCT?

MaskGCT (Masked Generative Codec Transformer) es un modelo TTS zero-shot, open source y totalmente no autorregresivo, publicado en octubre de 2024 y presentado más tarde en ICLR 2025. Elimina la necesidad de información explícita de alineación entre texto y habla durante el entrenamiento y prescinde por completo de la predicción de duración a nivel de fonema: una verdadera ruptura arquitectónica respecto a los sistemas TTS no autorregresivos habituales, no una simple diferencia de ajuste. Se distribuye mediante Amphion, un conjunto de herramientas open source para investigar la generación de audio, música y habla.

Ventajas funcionales de MaskGCT

  • No requiere supervisión de alineación durante el entrenamiento, lo que elimina toda una categoría de preprocesamiento y posibles puntos de fallo de los que dependen la mayoría de los sistemas TTS no autorregresivos.
  • No utiliza predicción de duración a nivel de fonema, con lo que evita un mecanismo que puede introducir falta de naturalidad en el habla generada.
  • Control explícito de la duración total del resultado, que permite especificar exactamente cuánto debe durar un clip generado: una verdadera ventaja frente a los modelos autorregresivos, que solo modelan la duración de forma implícita.
  • Clonación de voz zero-shot con solo 5 segundos de audio de referencia, sin necesidad de entrenamiento adicional para el hablante objetivo.
  • Generación rápida y paralela, que solo necesita entre 25 y 50 pasos de inferencia en la fase de texto a semántica, en lugar de generar los tokens uno tras otro.
  • Versatilidad demostrada más allá del TTS principal, ya que el mismo sistema subyacente se ha explorado para doblaje entre idiomas, conversión de voz, control de emociones y edición del contenido del habla.

Cómo funciona realmente la generación de enmascarar y predecir

El enfoque de entrenamiento de MaskGCT es conceptualmente similar al modelado de lenguaje enmascarado en texto (como BERT) o al modelado generativo enmascarado en imágenes (como MaskGIT), pero aplicado aquí a tokens discretos de habla. Durante el entrenamiento, el modelo aprende a predecir tokens semánticos o acústicos enmascarados a partir del contexto circundante, las condiciones y los prompts. Durante la inferencia, en vez de generar tokens de forma secuencial, genera una secuencia completa de tokens con una longitud especificada mediante decodificación paralela iterativa: rellena las posiciones enmascaradas a lo largo de varias pasadas en lugar de generar un token cada vez.

El pipeline real funciona en dos etapas. La etapa de texto a semántica (T2S) predice tokens semánticos a partir del texto de entrada y los tokens semánticos del prompt; estos tokens semánticos se extraen con un VQ-VAE entrenado específicamente para cuantizar embeddings de un modelo de aprendizaje autosupervisado del habla. Se trata de una elección deliberada frente al agrupamiento k-means habitual en trabajos anteriores, ya que minimiza la pérdida de información incluso con un solo codebook. Después, la etapa de semántica a acústica (S2A) predice tokens acústicos —extraídos de un códec de habla basado en RVQ— condicionados por esos tokens semánticos y por prompts acústicos adicionales, y utiliza generación por capas a través de las distintas capas de tokens del códec para conservar los detalles acústicos más sutiles.

Resultados en benchmarks

MaskGCT se entrenó con 100.000 horas de habla de entornos reales del conjunto de datos Emilia, divididas a partes iguales entre inglés y chino. Según los resultados publicados, superó a los anteriores sistemas TTS zero-shot de vanguardia con los que se comparó en calidad, similitud e inteligibilidad, y alcanzó lo que sus autores describen como resultados de nivel humano en estas métricas. En una comparación directa con una sólida referencia basada en un modelo autorregresivo más SoundStorm, MaskGCT mostró mejoras medibles de naturalidad —aumentos de CMOS de +0,12 en LibriSpeech test-clean, +0,08 en SeedTTS test-en y +0,37 en SeedTTS test-zh— junto con una mejor similitud y robustez. La ventaja de robustez fue especialmente pronunciada en casos realmente difíciles, como palabras repetidas y trabalenguas, los desencadenantes clásicos de alucinaciones y omisiones de palabras en TTS. Es un resultado con utilidad práctica real que va más allá de las puntuaciones generales de los benchmarks.

Primeros pasos con MaskGCT

  1. Clona el repositorio de Amphion. git clone https://github.com/open-mmlab/Amphion.git permite obtener el conjunto de herramientas completo, del que MaskGCT es un componente.
  2. Configura el entorno con el script incluido. bash ./models/tts/maskgct/env.sh se encarga de la configuración específica de MaskGCT dentro del repositorio más amplio de Amphion.
  3. Descarga los checkpoints preentrenados desde Hugging Face. Usa hf_hub_download("amphion/MaskGCT", filename="semantic_codec/model.safetensors") como patrón y repítelo para los demás componentes necesarios: el codificador y el decodificador del códec acústico, el modelo T2S y los modelos S2A, tanto la variante de 1 capa como la completa.
  4. Usa la clase MaskGCT_Inference_Pipeline para generar. Instánciala con el modelo semántico, el códec semántico, el codificador y el decodificador del códec, el modelo T2S y los modelos S2A ya cargados; después, llama a .maskgct_inference() con la ruta del audio de prompt, el texto del prompt, el texto objetivo y los códigos de los idiomas de origen y destino.
  5. Define target_len de forma explícita cuando necesites una duración precisa. Al introducir un valor concreto en segundos, controlas directamente la duración generada; si lo dejas como None, el sistema recurre a una sencilla regla de estimación de duración.
  6. Prueba el notebook de Jupyter, la interfaz de Gradio o la demo de Hugging Face Space si prefieres probar el modelo de forma interactiva antes de programar un pipeline personalizado.

Consejos para obtener mejores resultados

  • Usa target_len de forma deliberada siempre que el tiempo sea importante. Es una de las auténticas ventajas estructurales de MaskGCT frente a los modelos autorregresivos: aprovéchala en cualquier caso de uso, como narración de vídeo o doblaje para un espacio fijo, donde la duración exacta sea una restricción real y no solo algo deseable.
  • Haz pruebas con texto realmente difícil, no solo con frases limpias. La ventaja de robustez de MaskGCT se aprecia con especial claridad en palabras repetidas y contenido similar a trabalenguas, por lo que esa es también la forma más informativa de compararlo con alternativas para tu propio caso de uso.
  • Mantén limpio el clip de referencia durante el mínimo completo de 5 segundos. Como la calidad de la clonación depende de los tokens semánticos y acústicos extraídos de esa referencia, una grabación clara con esa duración o más superará a una muestra más corta o con más ruido.

MaskGCT frente a otros modelos TTS no autorregresivos

MaskGCTF5-TTSE2 TTS
Enfoque principalEnmascarar y predecir, tokens semánticos/acústicos en dos etapasDiffusion Transformer + flow matchingFlow matching, Transformer U-Net plano
¿Requiere supervisión de alineación?NoNoNo
Control explícito de la duraciónSí, mediante el parámetro target_lenSin modelo de duración específicoSin modelo de duración específico
Clip de referencia para clonación~5 segundos~5–15 segundosSimilar
Idiomas6 (inglés, chino, coreano, japonés, francés y alemán)Centrado principalmente en inglésCentrado en inglés

El nicho específico de MaskGCT consiste en combinar un entrenamiento sin alineación ni predicción de duración con un auténtico control explícito de la longitud del resultado. Esta combinación aborda directamente las debilidades concretas de los campos autorregresivo y no autorregresivo habitual entre los que se sitúa.

Preguntas frecuentes

¿Qué significa «generativo enmascarado» en el nombre MaskGCT?

Hace referencia al paradigma de entrenamiento de enmascarar y predecir del modelo, conceptualmente similar al modelado de lenguaje enmascarado en texto o a los modelos generativos de imágenes enmascaradas: el modelo aprende a predecir tokens enmascarados a partir del contexto circundante y, durante la inferencia, genera secuencias completas mediante decodificación paralela iterativa.

¿Puedo controlar exactamente cuánto dura el habla generada?

Sí, mediante el parámetro target_len, que permite especificar una duración exacta para el resultado. Los modelos autorregresivos no ofrecen esta capacidad directamente, ya que solo modelan la duración de forma implícita.

¿Cuánto audio de referencia necesita MaskGCT para clonar una voz?

Solo 5 segundos, sin entrenamiento adicional para el hablante objetivo.

¿Qué idiomas admite MaskGCT?

Seis: inglés, chino, coreano, japonés, francés y alemán.

¿Está MaskGCT preparado para uso comercial o en producción?

La página oficial del proyecto lo describe como una demostración para investigación. Haz pruebas exhaustivas con tu propio contenido y revisa las condiciones actuales de la licencia antes de plantearte cualquier despliegue en producción.

Genera una voz similar a partir de un audio de referencia

Para un flujo en el navegador con un objetivo similar, usa la Clonación de voz de Echora. Sube una grabación de tu propia voz o de una voz que tengas permiso explícito para usar, introduce un texto nuevo y genera una voz parecida a la referencia.

Crear un clon de voz →