Home
Login

MegaTTS3 : Modèle de synthèse vocale zéro-shot de haute qualité développé par ByteDance, prenant en charge le clonage de voix bilingue chinois-anglais.

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

Présentation détaillée du projet MegaTTS3

Aperçu du projet

MegaTTS3 est un système de synthèse vocale zéro-shot de haute qualité développé par ByteDance, basé sur la technologie Sparse Alignment Enhanced Latent Diffusion Transformer. Ce projet est principalement destiné à la recherche académique et offre de puissantes fonctionnalités de synthèse vocale (TTS) et de clonage de voix.

Caractéristiques principales

🚀 Léger et efficace

  • Taille des paramètres : Le réseau dorsal du transformateur de diffusion TTS ne compte que 0,45 milliard de paramètres.
  • Inférence efficace : Conception d'architecture optimisée pour une génération vocale rapide.

🎧 Clonage de voix de très haute qualité

  • Synthèse zéro-shot : Clone les voix de nouveaux locuteurs sans entraînement.
  • Haute fidélité : La qualité de la voix générée est proche de l'enregistrement original.
  • Expérience en ligne : Disponible sur Huggingface Demo.

🌍 Support bilingue

  • Multilingue : Prend en charge la synthèse vocale en chinois et en anglais.
  • Commutation de code : Prend en charge la génération vocale mixte en chinois et en anglais.
  • Translingue : La voix anglaise peut synthétiser la voix chinoise (avec contrôle de l'accent).

✍️ Forte contrôlabilité

  • Contrôle de l'intensité de l'accent : Permet de régler le degré d'accent de la voix générée.
  • Réglage fin de la prononciation : Prend en charge le réglage fin de la prononciation et de la durée (bientôt disponible).
  • Poids de l'intelligibilité : Contrôle la clarté de la voix via le paramètre p_w.
  • Poids de la similarité : Contrôle la similarité avec la voix originale via le paramètre t_w.

Architecture technique

Composants principaux

  1. Modèle principal TTS
  • Basé sur un transformateur de diffusion latente à alignement clairsemé amélioré.
  • Prend en charge la synthèse vocale zéro-shot.
  • Capacité de clonage de voix de haute qualité.
  1. Aligneur parole-texte (Speech-Text Aligner)
  • Entraîné à l'aide de pseudo-étiquettes générées par de nombreux modèles experts MFA.
  • Utilisations : préparation des ensembles de données, filtrage du bruit, reconnaissance des phonèmes, segmentation de la parole.
  1. Convertisseur graphème-phonème (G2P)
  • Basé sur le modèle Qwen2.5-0.5B affiné.
  • Fournit une conversion graphème-phonème robuste.
  1. WaveVAE
  • Puissant auto-encodeur variationnel de forme d'onde.
  • Compresse la parole à 24 kHz en une représentation latente acoustique à 25 Hz.
  • Reconstruit la forme d'onde originale presque sans perte.

Installation et utilisation

Configuration requise

  • Python 3.10
  • Support Linux/Windows/Docker
  • Accélération GPU optionnelle (recommandée)

Démarrage rapide

  1. Cloner le dépôt
git clone https://github.com/bytedance/MegaTTS3
cd MegaTTS3
  1. Configuration de l'environnement
conda create -n megatts3-env python=3.10
conda activate megatts3-env
pip install -r requirements.txt
export PYTHONPATH="/path/to/MegaTTS3:$PYTHONPATH"
  1. Téléchargement du modèle
  • Télécharger les modèles pré-entraînés depuis Google Drive ou Huggingface.
  • Placer les fichiers de modèle dans le répertoire ./checkpoints/xxx.

Méthode d'utilisation

Inférence en ligne de commande (standard)

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

# Synthèse vocale anglaise (haute expressivité)
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

Synthèse avec contrôle de l'accent

# Conserver l'accent 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

# Prononciation standard (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

Interface Web

python tts/gradio_api.py

Description des paramètres

Paramètres principaux

  • p_w (Poids de l'intelligibilité) : Contrôle la clarté de la voix. Les audios d'invite avec beaucoup de bruit nécessitent une valeur p_w plus élevée.
  • t_w (Poids de la similarité) : Contrôle la similarité avec la voix originale, généralement 0 à 3 points de plus que p_w.
  • Nombre d'étapes d'inférence : 10 étapes par défaut, l'inférence CPU prend environ 30 secondes.

Contrôle de l'accent

  • p_w ≈ 1.0 : Conserve l'accent original du locuteur.
  • Augmentation de p_w : Se rapproche de la prononciation standard.
  • Plage de t_w : Généralement entre 2.0 et 5.0, une augmentation raisonnable peut améliorer l'expressivité.

Sécurité et limitations

Considérations de sécurité

  • Encodeur WaveVAE : Pour des raisons de sécurité, les paramètres de l'encodeur ne sont pas divulgués.
  • Représentations latentes pré-extraites : Seuls les fichiers latents .npy pré-extraits peuvent être utilisés pour l'inférence.
  • Usage académique : Le projet est principalement destiné à la recherche académique.

Flux d'utilisation

  1. Préparer les fichiers audio (format .wav, < 24 secondes, le nom de fichier ne doit pas contenir d'espaces).
  2. Télécharger vers la file d'attente des demandes vocales.
  3. Après vérification de la sécurité, obtenir le fichier latent .npy correspondant.
  4. Utiliser les fichiers .wav et .npy pour l'inférence.

Licence et citation

  • Licence : Apache-2.0 License
  • Date de publication : 22 mars 2025
  • Mainteneur : ByteDance

Scénarios d'application

Utilisations principales

  1. Recherche sur la synthèse vocale : Fournit une base de référence TTS de haute qualité pour les chercheurs.
  2. Clonage de voix : Permet de créer des assistants vocaux personnalisés.
  3. Applications multilingues : Prend en charge la création de contenu bilingue chinois-anglais.
  4. Recherche sur l'accent : Étudie et contrôle les caractéristiques d'accent dans la parole.

Applications étendues

  • Préparation des ensembles de données : Utiliser l'aligneur pour préparer les données pour l'entraînement du modèle.
  • Filtrage de la qualité vocale : Filtrer les ensembles de données vocales à grande échelle.
  • Reconnaissance des phonèmes : Effectuer une analyse phonémique de la parole.
  • Conversion vocale : Permet la conversion vocale entre différents locuteurs.

Précautions

  1. Téléchargement du modèle : Les fichiers de modèle pré-entraînés doivent être téléchargés manuellement.
  2. Gestion des dépendances : Faire attention à la correspondance des versions de pydantic et gradio.
  3. Variables d'environnement : Définir correctement PYTHONPATH et CUDA_VISIBLE_DEVICES.
  4. Format de fichier : L'audio d'entrée doit être au format .wav et durer moins de 24 secondes.
  5. Examen de sécurité : Les fichiers vocaux téléchargés doivent passer un examen de sécurité.