Allgemeine Einführung
EmotiVoice ist eine von NetEaseYoudao entwickelte Text-to-Speech (TTS) Engine mit mehreren Stimmen und Emotionssteuerung. Diese Open-Source-TTS-Engine unterstützt Englisch und Chinesisch, hat mehr als 2000 verschiedene Stimmen und verfügt über Emotionssynthese-Funktionen, um Stimmen mit mehreren Emotionen wie glücklich, aufgeregt, traurig und wütend zu erstellen. Es bietet eine einfach zu bedienende WEB-Schnittstelle und Batch-Generierung Ergebnisse der Skript-Schnittstelle.
Gehostet unter der Replicate-Demo-Adresse
Funktionsliste
Bereitstellung einer WEB-Schnittstelle und einer Skript-Batch-Verarbeitungsschnittstelle
Unterstützung der Emotionssynthese
Mehrere Soundoptionen
Unterstützt chinesische und englische Synthese
Hilfe verwenden
Schauen Sie sich das GitHub-Repository für die Installation und Gebrauchsanweisungen an
Ausführen eines Docker-Images zum Testen von EmotiVoice
Auf der Wiki-Seite können Sie zusätzliche Informationen herunterladen, z. B. bereits trainierte Modelle.
Treten Sie der WeChat-Gruppe bei, um Feedback auszutauschen
Als Reaktion auf die Nachfrage der Community freuen wir uns, dieFunktion zum Klonen von Tönenund bietet zwei Beispiel-Tutorials!
Anmerkungen.
- Diese Funktion erfordert mindestens eine Nvidia-GPU-Grafik .
- ZieltonDaten sind entscheidend! Detaillierte Anforderungen werden im nächsten Abschnitt beschrieben.
- Derzeit wird diese Funktion nur in Chinesisch und Englisch unterstützt, d. h. Sie können entweder mit chinesischen oder englischen Daten trainieren, umHolen Sie sich ein Timbre-Modell, das zwei Sprachen sprechen kann.
- Obwohl EmotiVoice die emotionale Steuerung unterstützt, müssen die Trainingsdaten ebenfalls emotional sein, wenn Sie möchten, dass Ihre Stimme Emotionen vermittelt.
- Nach dem Training, bei dem nur Ihre Daten verwendet werden, kann das EmotiVoice aus demDer Originalton wird verändert. Dies bedeutet, dass das neue Modell vollständig an Ihre Daten angepasst wird. Wenn Sie die mehr als 2000 Originalstimmen von EmotiVoice verwenden möchten, wird empfohlen, das ursprüngliche, vortrainierte Modell zu verwenden.
Detaillierte Anforderungen an die Trainingsdaten
- Die Audiodaten sollten von hoher Qualität sein und müssen für die Stimme einer einzelnen Person klar und verzerrungsfrei sein. Die Dauer oder Anzahl der Sätze ist vorerst nicht vorgeschrieben, ein paar Sätze sind in Ordnung, aber mehr als 100 Sätze werden empfohlen.
- Der Text, der zu jedem Audio gehört, sollte genau mit dem Inhalt der Sprache übereinstimmen. Vor dem Training wird der Rohtext mit G2P in Phoneme umgewandelt. Dabei muss auf Pausen geachtet werden (sp*) und die Ergebnisse der polyphonen Umwandlung haben einen erheblichen Einfluss auf die Qualität der Ausbildung.
- Wenn Sie möchten, dass Ihre Stimme Emotionen vermittelt, müssen die Trainingsdaten ebenfalls emotional sein. Darüber hinaus sollte der Inhalt des **Tags "Prompt "** für jedes Audio geändert werden. Der Inhalt des Prompts kann eine beliebige Form der textlichen Beschreibung der Emotion, der Sprechgeschwindigkeit und des Sprechstils umfassen.
- Dann erhalten Sie eine Datei namens
Datenverzeichnis
Verzeichnis, das zwei Unterverzeichnisse enthält, dasZug
im Gesang antwortengültig
. Jedes Unterverzeichnis hat einedatalist.jsonl
Datei und jede Zeile ist formatiert:{"key": "LJ002-0020", "wav_path": "data/LJspeech/wavs/LJ002-0020.wav", "speaker": "LJ", "text": ["", "[IH0]", "[N]", "engsp1", "[EY0 ]", "[T]", "[IY1]", "[N]", "engsp1", "[TH]", "[ER1]", "[T]", "[IY1]", "[N]", "." , ""], "original_text": "Im Jahr 1813", "prompt": "common"}
.
Verteilung der Ausbildungsschritte.
Chinesisch siehe bitte unter DataBaker-RezeptBitte beachten Sie die englische Fassung:LJSpeech-Rezept. Im Folgenden finden Sie eine Zusammenfassung:
- Bereiten Sie die Schulungsumgebung vor - sie muss nur einmal konfiguriert werden.
# conda-Umgebung erstellen conda erstellen -n EmotiVoice python=3.8 -y conda aktivieren EmotiVoice # dann ausführen. pip install EmotiVoice[train] # oder git clone https://github.com/netease-youdao/EmotiVoice pip install -e . [Zug]
- Beratung Detaillierte Anforderungen an die Trainingsdaten Datenaufbereitung durchführen, empfohlene ReferenzbeispieleDataBaker-Rezept im Gesang antworten LJSpeech-RezeptMethoden und Skripte in der
- Führen Sie anschließend den folgenden Befehl aus, um ein Verzeichnis für die Schulung zu erstellen:
python prepare_for_training.py --data_dir --exp_dir
. Ersatzfür den tatsächlichen Pfad des vorbereiteten Datenverzeichnisses.
ist der gewünschte Pfad zum experimentellen Verzeichnis.
- Kann je nach Serverkonfiguration und Daten geändert werden
Verzeichnis /config/config.py
. Nachdem Sie die Änderungen vorgenommen haben, starten Sie den Trainingsprozess, indem Sie den folgenden Befehl ausführentorchrun --nproc_per_node=1 --master_port 8018 train_am_vocoder_joint.py --config_folder /config --load_pretrained_ Modell Wahr
. (Dieser Befehl startet den Trainingsprozess unter Verwendung des angegebenen Konfigurationsordners und lädt alle angegebenen vortrainierten Modelle). Diese Methode ist derzeit für Linux verfügbar, unter Windows können Probleme auftreten! - Wählen Sie nach Abschluss einiger Trainingsschritte einen Kontrollpunkt und führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Ergebnisse den Erwartungen entsprechen:
python inference_am_vocoder_exp.py --config_folder exp/DataBaker/config --checkpoint g_00010000 --test_file data/inference/text
. Vergessen Sie nicht zu ändernDaten/Rückschlüsse/Text
Der Inhalt des Lautsprecherfeldes in der Wenn Sie mit dem Ergebnis zufrieden sind, können Sie es gerne verwenden! Eine modifizierte Version der Demoseite wird bereitgestellt: diedemo_page_databaker.py
Kommen Sie und erleben Sie die Wirkung des Tons nach dem Klonen mit DataBaker. - Wenn die Ergebnisse nicht zufriedenstellend sind, können Sie das Training fortsetzen oder Ihre Daten und Umgebung überprüfen. Natürlich können Sie auch in der Community darüber diskutieren oder ein Problem einreichen!
Laufzeit-Referenzinformationen.
Wir stellen Ihnen die folgenden Informationen zur Laufzeit und zur Hardwarekonfiguration als Referenz zur Verfügung:
- Pip-Paketversionen: Python 3.8.18, torch 1.13.1, cuda 11.7
- GPU-Kartenmodell: NVIDIA GeForce RTX 3090, NVIDIA A40
- Zeitaufwändiges Training: Es dauert etwa 1-2 Stunden, um 10.000 Schritte zu trainieren.
Es kann sogar ohne eine GPU-Grafikkarte trainiert werden, da nur die CPU verwendet wird. Bitte warten Sie auf die guten Nachrichten!