Allgemeine Einführung
MegaTTS3 ist ein Open-Source-Sprachsynthesewerkzeug, das von ByteDance in Zusammenarbeit mit der Zhejiang-Universität entwickelt wurde und sich auf die Erzeugung hochwertiger chinesischer und englischer Sprache konzentriert. Sein Kernmodell besteht aus nur 0,45B Parametern, ist leichtgewichtig und effizient und unterstützt gemischte chinesische und englische Spracherzeugung und Sprachklonen. Das Projekt wird auf GitHub gehostet und bietet Code und vortrainierte Modelle zum kostenlosen Download an. MegaTTS3 kann die Zielstimme mit ein paar Sekunden Audio-Samples imitieren und unterstützt auch die Anpassung der Intensität des Akzents. Es eignet sich für die akademische Forschung, die Erstellung von Inhalten und die Entwicklung von Sprachanwendungen, wobei Funktionen zur Aussprache- und Dauersteuerung in Zukunft hinzugefügt werden sollen.
Funktionsliste
- Generieren Sie Chinesisch, Englisch und gemischte Sprache mit natürlicher und flüssiger Ausgabe.
- Qualitativ hochwertiges Klonen von Sprache wird mit einer kleinen Menge an Audio erreicht, um eine bestimmte Klangfarbe zu imitieren.
- Unterstützt die Einstellung der Akzentstärke und kann Sprache mit Akzent oder Standardaussprache erzeugen.
- Verwenden Sie akustische Latenzen, um die Effizienz der Modellschulung zu verbessern.
- Integrierter hochwertiger WaveVAE-Vocoder für verbesserte Sprachverständlichkeit und Realismus.
- Aligner und Graphme-to-Phoneme Untermodule werden zur Unterstützung der Sprachanalyse bereitgestellt.
- Offener Quellcode und vortrainierte Modelle für die benutzerdefinierte Entwicklung.
Hilfe verwenden
MegaTTS3 erfordert einige grundlegende Programmiererfahrung, insbesondere mit Python und Deep-Learning-Umgebungen. Im Folgenden finden Sie ausführliche Anweisungen zur Installation und Verwendung.
Einbauverfahren
- Gebaute Umwelt
MegaTTS3 EmpfohlenPython 3.9
. Dies kann geschehen mitConda
Erstellen Sie eine virtuelle Umgebung:conda create -n megatts3-env python=3.9 conda activate megatts3-env
Nach der Aktivierung werden alle Operationen in dieser Umgebung durchgeführt.
- Code herunterladen
Führen Sie den folgenden Befehl in einem Terminal aus, um zu klonenGitHub
Lagerhaus:git clone https://github.com/bytedance/MegaTTS3.git cd MegaTTS3
- Installation von Abhängigkeiten
Projektangeboterequirements.txt
Wenn Sie die erforderlichen Bibliotheken installieren möchten, führen Sie den folgenden Befehl aus:pip install -r requirements.txt
Die Installationszeit variiert je nach Netzwerk und Gerät und ist in der Regel in wenigen Minuten abgeschlossen.
- Das Modell erhalten
Vorgefertigte Modelle können von Google Drive oder Hugging Face heruntergeladen werden (siehe offizielle Links).README
). Laden Sie es herunter und entpacken Sie es nach./checkpoints/
Mappe. Beispiel:- Oberbefehlshaber (Militär)
model.pth
hineinstecken./checkpoints/model.pth
. - vor-extrahiert
latents
Die Dateien müssen von dem angegebenen Link in dasselbe Verzeichnis heruntergeladen werden.
- Oberbefehlshaber (Militär)
- Probeaufbau
Führen Sie einen einfachen Testbefehl aus, um die Umgebung zu überprüfen:python tts/infer_cli.py --input_wav 'assets/Chinese_prompt.wav' --input_text "测试" --output_dir ./gen
Wenn keine Fehler gemeldet werden, war die Installation erfolgreich.
Hauptfunktionen
Sprachsynthese
Die Erzeugung von Sprache ist die Kernfunktion von MegaTTS3. Sie erfordert die Eingabe von Text und Referenzton:
- Das Dokument vorbereiten
existierenassets/
in den Referenz-Audio-Ordner (z. B.Chinese_prompt.wav
undlatents
Dateien (z.B.Chinese_prompt.npy
). Wenn keinelatents
sind offizielle, vor-extrahierte Dateien erforderlich. - Befehl ausführen
Eingabe:CUDA_VISIBLE_DEVICES=0 python tts/infer_cli.py --input_wav 'assets/Chinese_prompt.wav' --input_text "你好,这是一段测试语音" --output_dir ./gen
--input_wav
ist der Referenz-Audiopfad.--input_text
ist der Text, der synthetisiert werden soll.--output_dir
ist der Ausgabeordner.
- Ergebnisse anzeigen
Die erzeugte Sprache wird in der Datei./gen/output.wav
Der Film kann direkt abgespielt werden.
Sprachklonen
Es sind nur wenige Sekunden an Audiosamples nötig, um einen bestimmten Klang zu imitieren:
- Bereiten Sie einen klaren Referenzton vor (5-10 Sekunden empfohlen).
- Verwenden Sie den obigen Synthesebefehl, um die
--input_wav
. - Die ausgegebene Stimme wird dem Referenzton so nahe wie möglich kommen.
Akzentsteuerung
Anpassen der Akzentstärke über Parameter p_w
im Gesang antworten t_w
::
- Geben Sie den englischen Ton mit einem Akzent ein:
CUDA_VISIBLE_DEVICES=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
p_w
Anfahrt1.0
Der ursprüngliche Akzent wird manchmal beibehalten, und die Zunahme tendiert zur Standardaussprache.t_w
Kontrolliert die Ähnlichkeit der Klangfarbe, in der Regel mehr alsp_w
Ihr (Ehrentitel)0-3
.- Generierung einer standardisierten Aussprache:
CUDA_VISIBLE_DEVICES=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-UI-Betrieb
Unterstützt den Betrieb über eine Weboberfläche:
- Laufen:
CUDA_VISIBLE_DEVICES=0 python tts/gradio_api.py
- Öffnen Sie Ihren Browser und geben Sie die Adresse ein (Standard)
localhost:7860
), Audio und Text hochladen, um Sprache zu erzeugen.CPU
Ca. 30 Sekunden in der Umgebung.
Verwendung von Submodulen
Aligner
- FunktionalitätAusrichten von Sprache und Text.
- Verwendung: Lauf
tts/frontend_function.py
Der Beispielcode für die Sprachsegmentierung oder Phonemerkennung in der
Graphme-to-Phoneme
- FunktionalitätKonvertierung von Text in Phoneme.
- Verwendung: Referenz
tts/infer_cli.py
Im Folgenden finden Sie eine Liste der wichtigsten Funktionen der Ausspracheanalyse.
WaveVAE
- FunktionalitätKomprimiertes Audio ist
latents
und wiederaufgebaut. - Einschränkung: Die Encoder-Parameter sind nicht offengelegt und können nur mit den zuvor extrahierten Daten verwendet werden.
latents
.
caveat
- WaveVAE-Encoder-Parameter sind aus Sicherheitsgründen nicht verfügbar und können nur mit offiziellen
latents
Dokumentation. - Das Projekt wurde am 22. März 2025 veröffentlicht und befindet sich noch in der Entwicklung, wobei neue Aussprachen und Anpassungen der Dauer geplant sind.
GPU
Beschleunigte Empfehlungen.CPU
Läuft, ist aber langsam.
Anwendungsszenario
- akademische Forschung
Forscher können mit MegaTTS3 Sprachsynthesetechniken testen, indem sie dielatents
Die Wirkung der - Pädagogische Hilfsmittel
Konvertierung von Lehrbüchern in Sprache und Erstellung von Hörbüchern zur Verbesserung der Lernerfahrung. - Erstellung von Inhalten
Erstellen Sie Kommentare für Videos oder Podcasts und sparen Sie die Kosten für manuelle Aufnahmen. - Sprachinteraktion
Entwickler können es in ihre Geräte integrieren, um Sprachdialoge in Englisch und Chinesisch zu ermöglichen.
QA
- Welche Sprachen werden unterstützt?
Unterstützt Chinesisch, Englisch und Mixed Speech, mit der Möglichkeit der Erweiterung auf andere Sprachen in der Zukunft. - muss
GPU
Was? - Ich weiß es nicht.
Nicht notwendig.CPU
Er kann zwar ausgeführt werden, ist aber langsam und es wird empfohlen, denGPU
. - Wie gehe ich mit Installationsfehlern um?
Updatepip
(pip install --upgrade pip
), die Überprüfung des Netzes, oder inGitHub
Thema einreichen. - Warum fehlen die WaveVAE-Geber?
Aus Sicherheitsgründen nicht offengelegt, offizielle Vorab-Extraktion erforderlichlatents
.