Home
Login

MegaTTS3: Ein hochwertiges Zero-Shot-Sprachsynthesemodell, entwickelt von ByteDance, das das Klonen von chinesischen und englischen Stimmen unterstützt

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

MegaTTS3 – Projektbeschreibung

Projektübersicht

MegaTTS3 ist ein hochwertiges Zero-Shot-Sprachsynthesesystem, das von ByteDance entwickelt wurde und auf der Sparse Alignment Enhanced Latent Diffusion Transformer-Technologie basiert. Das Projekt dient hauptsächlich akademischen Forschungszwecken und bietet leistungsstarke Text-to-Speech (TTS)- und Stimmklonfunktionen.

Kernfunktionen

🚀 Leicht und effizient

  • Parameterumfang: Das Backbone-Netzwerk des TTS-Diffusionstransformers hat nur 0,45 Milliarden Parameter.
  • Effiziente Inferenz: Optimiertes Architekturdesign für schnelle Sprachgenerierung.

🎧 Hochwertiges Stimmklonen

  • Zero-Shot-Synthese: Klonen neuer Sprecherstimmen ohne Training.
  • Hohe Wiedergabetreue: Die generierte Sprachqualität kommt der Originalaufnahme nahe.
  • Online-Erlebnis: Kann auf Huggingface Demo ausprobiert werden.

🌍 Zweisprachige Unterstützung

  • Mehrsprachig: Unterstützt gleichzeitig chinesische und englische Sprachsynthese.
  • Code-Switching: Unterstützt die Generierung von gemischtsprachiger chinesisch-englischer Sprache.
  • Sprachübergreifend: Englische Stimmen können chinesische Sprache synthetisieren (mit Akzentkontrolle).

✍️ Hohe Kontrollierbarkeit

  • Akzentstärkekontrolle: Anpassung des Akzentgrades der generierten Sprache.
  • Feinabstimmung der Aussprache: Unterstützung der feinkörnigen Anpassung von Aussprache und Dauer (in Kürze verfügbar).
  • Intelligenzgewichtung: Steuerung der Sprachverständlichkeit über den Parameter p_w.
  • Ähnlichkeitsgewichtung: Steuerung der Ähnlichkeit mit der Originalstimme über den Parameter t_w.

Technische Architektur

Hauptkomponenten

  1. TTS-Hauptmodell
  • Basiert auf einem Sparse Alignment Enhanced Latent Diffusion Transformer.
  • Unterstützt Zero-Shot-Sprachsynthese.
  • Hochwertige Stimmklonfähigkeit.
  1. Sprach-Text-Aligner (Speech-Text Aligner)
  • Trainiert mit Pseudo-Labels, die mit einer großen Anzahl von MFA-Expertenmodellen generiert wurden.
  • Verwendung: Datensatzvorbereitung, Rauschfilterung, Phonemerkennung, Sprachsegmentierung.
  1. Graphem-zu-Phonem-Konverter (G2P)
  • Feintuning auf Basis des Qwen2.5-0.5B-Modells.
  • Bietet eine robuste Graphem-zu-Phonem-Konvertierung.
  1. WaveVAE
  • Leistungsstarker Variational Autoencoder für Waveforms.
  • Komprimiert 24-kHz-Sprache in eine akustische latente Darstellung von 25 Hz.
  • Rekonstruiert die ursprüngliche Waveform nahezu verlustfrei.

Installation und Verwendung

Systemanforderungen

  • Python 3.10
  • Linux/Windows/Docker-Unterstützung
  • Optionale GPU-Beschleunigung (empfohlen)

Schnellstart

  1. Repository klonen
git clone https://github.com/bytedance/MegaTTS3
cd MegaTTS3
  1. Umgebung konfigurieren
conda create -n megatts3-env python=3.10
conda activate megatts3-env
pip install -r requirements.txt
export PYTHONPATH="/path/to/MegaTTS3:$PYTHONPATH"
  1. Modell herunterladen
  • Laden Sie vortrainierte Modelle von Google Drive oder Huggingface herunter.
  • Platzieren Sie die Modelldateien im Verzeichnis ./checkpoints/xxx.

Verwendung

Befehlszeilen-Inferenz (Standard)

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

# Englische Sprachsynthese (hohe Ausdruckskraft)
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

Akzentkontrollierte Synthese

# Beibehaltung des ursprünglichen Akzents (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

# Standardaussprache (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

Web-Oberfläche

python tts/gradio_api.py

Parameterbeschreibung

Kernparameter

  • p_w (Intelligenzgewichtung): Steuert die Sprachverständlichkeit. Prompts mit viel Rauschen benötigen einen höheren p_w-Wert.
  • t_w (Ähnlichkeitsgewichtung): Steuert die Ähnlichkeit mit der Originalstimme, normalerweise 0-3 Punkte höher als p_w.
  • Inferenzschritte: Standardmäßig 10 Schritte, CPU-Inferenz dauert ca. 30 Sekunden.

Akzentkontrolle

  • p_w ≈ 1.0: Beibehaltung des ursprünglichen Akzents des Sprechers.
  • p_w erhöhen: Annäherung an die Standardaussprache.
  • t_w-Bereich: Normalerweise zwischen 2.0 und 5.0, eine angemessene Erhöhung kann die Ausdruckskraft verbessern.

Sicherheit und Einschränkungen

Sicherheitsüberlegungen

  • WaveVAE-Encoder: Aus Sicherheitsgründen werden die Encoder-Parameter nicht veröffentlicht.
  • Vorextrahierte latente Darstellungen: Für die Inferenz können nur vorextrahierte .npy-Latentdateien verwendet werden.
  • Akademische Zwecke: Das Projekt ist hauptsächlich für die akademische Forschung gedacht.

Verwendungsprozess

  1. Bereiten Sie Audiodateien vor (.wav-Format, <24 Sekunden, Dateinamen ohne Leerzeichen).
  2. Laden Sie sie in die Sprachanfrage-Warteschlange hoch.
  3. Nach erfolgreicher Sicherheitsüberprüfung erhalten Sie die entsprechende .npy-Latentdatei.
  4. Verwenden Sie die .wav- und .npy-Dateien für die Inferenz.

Lizenz und Zitation

  • Lizenz: Apache-2.0 License
  • Veröffentlichungsdatum: 22. März 2025
  • Betreuer: ByteDance

Anwendungsbereiche

Hauptanwendungen

  1. Sprachsyntheseforschung: Bereitstellung einer hochwertigen TTS-Baseline für Forscher.
  2. Stimmklonen: Realisierung personalisierter Sprachassistenten.
  3. Mehrsprachige Anwendungen: Unterstützung der Erstellung von chinesisch-englischen Inhalten.
  4. Akzentforschung: Erforschung und Steuerung von Akzentmerkmalen in der Sprache.

Erweiterte Anwendungen

  • Datensatzvorbereitung: Verwendung des Aligners zur Vorbereitung von Daten für das Modelltraining.
  • Sprachqualitätsfilterung: Filtern großer Sprachdatensätze.
  • Phonemerkennung: Durchführung einer Phonem-Analyse der Sprache.
  • Sprachkonvertierung: Realisierung der Sprachkonvertierung zwischen verschiedenen Sprechern.

Hinweise

  1. Modell-Download: Die vortrainierten Modelldateien müssen manuell heruntergeladen werden.
  2. Abhängigkeitsverwaltung: Achten Sie auf die Übereinstimmung der pydantic- und gradio-Versionen.
  3. Umgebungsvariablen: Stellen Sie PYTHONPATH und CUDA_VISIBLE_DEVICES korrekt ein.
  4. Dateiformat: Die Eingabeaudio muss im .wav-Format vorliegen und kürzer als 24 Sekunden sein.
  5. Sicherheitsprüfung: Hochgeladene Audiodateien müssen eine Sicherheitsprüfung bestehen.