Home
Login

MegaTTS3: Modelo de síntesis de voz de alta calidad y cero ejemplos, desarrollado por ByteDance, que admite la clonación de voz bilingüe chino-inglés

Apache-2.0Python 5.5kbytedance Last Updated: 2025-05-11

MegaTTS3: Descripción Detallada del Proyecto

Resumen del Proyecto

MegaTTS3 es un sistema de síntesis de voz de alta calidad y cero-shot desarrollado por ByteDance, basado en la tecnología de Transformador de Difusión Latente con Alineación Esparsa Mejorada (Sparse Alignment Enhanced Latent Diffusion Transformer). Este proyecto está destinado principalmente a fines de investigación académica y ofrece potentes funciones de texto a voz (TTS) y clonación de voz.

Características Principales

🚀 Ligero y Eficiente

  • Escala de Parámetros: La red troncal del transformador de difusión TTS tiene solo 0.45B de parámetros.
  • Inferencia Eficiente: Diseño de arquitectura optimizado para una generación de voz rápida.

🎧 Clonación de Voz de Ultra Alta Calidad

  • Síntesis Zero-Shot: Clona nuevas voces de hablantes sin necesidad de entrenamiento.
  • Alta Fidelidad: La calidad de la voz generada se acerca a la grabación original.
  • Experiencia en Línea: Disponible para probar en Huggingface Demo.

🌍 Soporte Bilingüe

  • Multilingüe: Soporta la síntesis de voz en chino e inglés simultáneamente.
  • Cambio de Código: Soporta la generación de voz mixta en chino e inglés.
  • Translingüístico: La voz en inglés puede sintetizar voz en chino (con control de acento).

✍️ Alta Controlabilidad

  • Control de la Intensidad del Acento: Ajusta el grado de acento de la voz generada.
  • Ajuste Fino de la Pronunciación: Soporta ajustes de duración y pronunciación de grano fino (próximamente).
  • Peso de Inteligibilidad: Controla la claridad de la voz a través del parámetro p_w.
  • Peso de Similitud: Controla la similitud con la voz original a través del parámetro t_w.

Arquitectura Técnica

Componentes Principales

  1. Modelo Principal TTS
  • Basado en el Transformador de Difusión Latente con Alineación Esparsa Mejorada.
  • Soporta la síntesis de voz zero-shot.
  • Capacidad de clonación de voz de alta calidad.
  1. Alineador de Voz-Texto (Speech-Text Aligner)
  • Entrenado utilizando pseudo-etiquetas generadas por una gran cantidad de modelos expertos de MFA.
  • Usos: Preparación de conjuntos de datos, filtrado de ruido, reconocimiento de fonemas, segmentación de voz.
  1. Convertidor de Grafema a Fonema (G2P)
  • Ajustado con el modelo Qwen2.5-0.5B.
  • Proporciona una conversión robusta de grafema a fonema.
  1. WaveVAE
  • Potente autoencoder variacional de forma de onda.
  • Comprime la voz de 24kHz en una representación latente acústica de 25Hz.
  • Reconstruye la forma de onda original casi sin pérdidas.

Instalación y Uso

Requisitos del Sistema

  • Python 3.10
  • Soporte para Linux/Windows/Docker
  • Aceleración GPU opcional (recomendada)

Inicio Rápido

  1. Clonar el Repositorio
git clone https://github.com/bytedance/MegaTTS3
cd MegaTTS3
  1. Configuración del Entorno
conda create -n megatts3-env python=3.10
conda activate megatts3-env
pip install -r requirements.txt
export PYTHONPATH="/path/to/MegaTTS3:$PYTHONPATH"
  1. Descarga del Modelo
  • Descargue los modelos pre-entrenados desde Google Drive o Huggingface.
  • Coloque los archivos del modelo en el directorio ./checkpoints/xxx.

Modo de Uso

Inferencia de Línea de Comandos (Estándar)

# Síntesis de voz en chino
python tts/infer_cli.py --input_wav 'assets/Chinese_prompt.wav' --input_text "另一边的桌上,一位读书人嗤之以鼻道,'佛子三藏,神子燕小鱼是什么样的人物,李家的那个李子夜如何与他们相提并论?'" --output_dir ./gen

# Síntesis de voz en inglés (alta expresividad)
python tts/infer_cli.py --input_wav 'assets/English_prompt.wav' --input_text 'As his long promised tariff threat turned into reality this week, top human advisers began fielding a wave of calls from business leaders.' --output_dir ./gen --p_w 2.0 --t_w 3.0

Síntesis con Control de Acento

# Mantener el acento original (p_w ≈ 1.0)
python tts/infer_cli.py --input_wav 'assets/English_prompt.wav' --input_text '这是一条有口音的音频。' --output_dir ./gen --p_w 1.0 --t_w 3.0

# Pronunciación estándar (p_w > 2.0)
python tts/infer_cli.py --input_wav 'assets/English_prompt.wav' --input_text '这条音频的发音标准一些了吗?' --output_dir ./gen --p_w 2.5 --t_w 2.5

Interfaz Web

python tts/gradio_api.py

Descripción de los Parámetros

Parámetros Centrales

  • p_w (Peso de Inteligibilidad): Controla la claridad de la voz; el audio de aviso con mucho ruido necesita un valor p_w más alto.
  • t_w (Peso de Similitud): Controla la similitud con la voz original, generalmente de 0 a 3 puntos más alto que p_w.
  • Pasos de Inferencia: 10 pasos por defecto, la inferencia de la CPU tarda aproximadamente 30 segundos.

Control de Acento

  • p_w ≈ 1.0: Mantiene el acento original del hablante.
  • Aumento de p_w: Se acerca a la pronunciación estándar.
  • Rango de t_w: Generalmente entre 2.0 y 5.0; un aumento razonable puede mejorar la expresividad.

Seguridad y Limitaciones

Consideraciones de Seguridad

  • Codificador WaveVAE: Por razones de seguridad, los parámetros del codificador no se han hecho públicos.
  • Representaciones Latentes Pre-extraídas: Solo se pueden usar archivos latentes .npy pre-extraídos para la inferencia.
  • Uso Académico: El proyecto está destinado principalmente a la investigación académica.

Flujo de Uso

  1. Prepare archivos de audio (formato .wav, <24 segundos, el nombre del archivo no debe contener espacios).
  2. Cargue a la cola de solicitud de voz.
  3. Después de la verificación de seguridad, obtenga el archivo latente .npy correspondiente.
  4. Utilice los archivos .wav y .npy para la inferencia.

Licencia y Cita

  • Licencia: Apache-2.0 License
  • Fecha de Publicación: 22 de marzo de 2025
  • Mantenedor: ByteDance

Escenarios de Aplicación

Usos Principales

  1. Investigación de Síntesis de Voz: Proporciona una línea de base TTS de alta calidad para los investigadores.
  2. Clonación de Voz: Implementa asistentes de voz personalizados.
  3. Aplicaciones Multilingües: Soporta la creación de contenido bilingüe en chino e inglés.
  4. Investigación de Acentos: Investiga y controla las características de acento en la voz.

Aplicaciones Extendidas

  • Preparación de Conjuntos de Datos: Utilice el alineador para preparar datos para el entrenamiento del modelo.
  • Filtrado de Calidad de Voz: Filtre conjuntos de datos de voz a gran escala.
  • Reconocimiento de Fonemas: Realice análisis a nivel de fonema de la voz.
  • Conversión de Voz: Implemente la conversión de voz entre diferentes hablantes.

Notas

  1. Descarga del Modelo: Debe descargar manualmente los archivos del modelo pre-entrenado.
  2. Gestión de Dependencias: Preste atención a la coincidencia de versiones de pydantic y gradio.
  3. Variables de Entorno: Configure correctamente PYTHONPATH y CUDA_VISIBLE_DEVICES.
  4. Formato de Archivo: El audio de entrada debe estar en formato .wav y tener una duración inferior a 24 segundos.
  5. Revisión de Seguridad: Los archivos de voz cargados deben pasar la revisión de seguridad.