Englisch | 中文
Eine Open-Source-Implementierung des Zero-Shot-TTS-Modells VALL-E X von Microsoft.
Wir stellen unser trainiertes Modell der Öffentlichkeit für Forschungs- oder Anwendungszwecke zur Verfügung.
VALL-E X ist ein erstaunliches mehrsprachiges Text-to-Speech-Modell (TTS), das von Microsoft vorgeschlagen wurde. Während Microsoft zunächst in seinem Forschungspapier veröffentlichte, veröffentlichte es keinen Code oder vorab trainierte Modelle. Unser Team erkannte das Potenzial und den Wert dieser Technologie und nahm die Herausforderung an, die Ergebnisse zu reproduzieren und unser eigenes Modell zu trainieren. Wir freuen uns, unser geschultes VALL-E X-Modell mit der Community zu teilen, damit jeder das leistungsstarke TTS der nächsten Generation erleben kann!
Weitere Details zum Modell finden Sie in der Modellkarte.
2023.09.10
30.08.2023
23.08.2023
20.08.2023
14.08.2023
git clone https://github.com/Plachtaa/VALL-E-X.git
cd VALL-E-X
pip install -r requirements.txt
Hinweis: Wenn Sie eine Eingabeaufforderung erstellen möchten, müssen Sie ffmpeg installieren und seinen Ordner zur Umgebungsvariablen PATH hinzufügen.
Wenn Sie das Programm zum ersten Mal ausführen, lädt es automatisch das entsprechende Modell herunter.
Wenn der Download fehlschlägt und ein Fehler gemeldet wird, führen Sie bitte die folgenden Schritte aus, um das Modell manuell herunterzuladen.
(Bitte achten Sie auf die Großschreibung von Ordnern)
Überprüfen Sie, ob im Installationsverzeichnis ein checkpoints
Ordner vorhanden ist. Wenn nicht, erstellen Sie manuell einen checkpoints
Ordner ( ./checkpoints/
) im Installationsverzeichnis.
Überprüfen Sie, ob sich im checkpoints
Ordner eine Datei vallex-checkpoint.pt
befindet. Wenn nicht, laden Sie bitte die Datei vallex-checkpoint.pt
manuell von hier herunter und legen Sie sie im checkpoints
Ordner ab.
Überprüfen Sie, ob im Installationsverzeichnis ein whisper
-Ordner vorhanden ist. Wenn nicht, erstellen Sie manuell einen whisper
Ordner ( ./whisper/
) im Installationsverzeichnis.
Überprüfen Sie, ob sich im whisper
-Ordner eine Datei medium.pt
befindet. Wenn nicht, laden Sie bitte die Datei medium.pt
manuell von hier herunter und legen Sie sie im whisper
-Ordner ab.
Sie sind noch nicht bereit, die Umgebung auf Ihrem lokalen Computer einzurichten? Kein Problem! Mit unseren Online-Demos sind Sie an der richtigen Adresse. Sie können VALL-E X direkt auf Hugging Face oder Google Colab ausprobieren und die Fähigkeiten des Modells problemlos testen!
VALL-E X ist vollgepackt mit modernsten Funktionen:
Mehrsprachiges TTS : Sprechen Sie in drei Sprachen – Englisch, Chinesisch und Japanisch – mit natürlicher und ausdrucksstarker Sprachsynthese.
Zero-Shot Voice Cloning : Registrieren Sie eine kurze 3–10 Sekunden lange Aufnahme eines unsichtbaren Sprechers und sehen Sie zu, wie VALL-E X personalisierte, hochwertige Sprache erstellt, die genauso klingt wie er selbst!
Entdecken Sie unsere Demoseite für viele weitere Beispiele!
from utils . generation import SAMPLE_RATE , generate_audio , preload_models
from scipy . io . wavfile import write as write_wav
from IPython . display import Audio
# download and load all models
preload_models ()
# generate audio from text
text_prompt = """
Hello, my name is Nose. And uh, and I like hamburger. Hahaha... But I also have other interests such as playing tactic toast.
"""
audio_array = generate_audio ( text_prompt )
# save audio to disk
write_wav ( "vallex_generation.wav" , SAMPLE_RATE , audio_array )
# play text in notebook
Audio ( audio_array , rate = SAMPLE_RATE )
text_prompt = """
チュソクは私のお気に入りの祭りです。 私は数日間休んで、友人や家族との時間を過ごすことができます。
"""
audio_array = generate_audio ( text_prompt )
Hinweis: VALL-E X steuert den Akzent perfekt, selbst wenn Code-Switch-Text synthetisiert wird. Allerdings müssen Sie die Sprache der jeweiligen Sätze manuell angeben (da unser G2P-Tool regelbasiert ist).
text_prompt = """
[EN]The Thirty Years' War was a devastating conflict that had a profound impact on Europe.[EN]
[ZH]这是历史的开始。 如果您想听更多,请继续。[ZH]
"""
audio_array = generate_audio ( text_prompt , language = 'mix' )
VALL-E X bietet Dutzende von Sprecherstimmen, die Sie direkt für Schlussfolgerungen verwenden können! Durchsuchen Sie alle Stimmen im Code
VALL-E X versucht, den Ton, die Tonhöhe, die Emotionen und die Prosodie einer bestimmten Voreinstellung anzupassen. Das Modell versucht auch, Musik, Umgebungsgeräusche usw. zu bewahren.
text_prompt = """
I am an innocent boy with a smoky voice. It is a great honor for me to speak at the United Nations today.
"""
audio_array = generate_audio ( text_prompt , prompt = "dingzhen" )
VALL-E X unterstützt das Klonen von Stimmen! Sie können eine Sprachansage mit jeder Person, jedem Charakter oder sogar Ihrer eigenen Stimme erstellen und diese wie andere Sprachvoreinstellungen verwenden.
Um eine Sprachansage zu erstellen, müssen Sie eine Rede von 3 bis 10 Sekunden Länge sowie das Transkript der Rede bereitstellen. Sie können das Transkript auch leer lassen, damit das Whisper-Modell das Transkript generieren kann.
VALL-E X versucht, den Ton, die Tonhöhe, die Emotionen und die Prosodie einer bestimmten Aufforderung anzupassen. Das Modell versucht auch, Musik, Umgebungsgeräusche usw. zu bewahren.
from utils . prompt_making import make_prompt
### Use given transcript
make_prompt ( name = "paimon" , audio_prompt_path = "paimon_prompt.wav" ,
transcript = "Just, what was that? Paimon thought we were gonna get eaten." )
### Alternatively, use whisper
make_prompt ( name = "paimon" , audio_prompt_path = "paimon_prompt.wav" )
Probieren wir nun die Eingabeaufforderung aus, die wir gerade erstellt haben!
from utils . generation import SAMPLE_RATE , generate_audio , preload_models
from scipy . io . wavfile import write as write_wav
# download and load all models
preload_models ()
text_prompt = """
Hey, Traveler, Listen to this, This machine has taken my voice, and now it can talk just like me!
"""
audio_array = generate_audio ( text_prompt , prompt = "paimon" )
write_wav ( "paimon_cloned.wav" , SAMPLE_RATE , audio_array )
Sind Sie mit Codes nicht vertraut? Kein Problem! Wir haben außerdem eine benutzerfreundliche grafische Oberfläche für VALL-E
Sie können die Benutzeroberfläche mit dem folgenden Befehl starten:
python -X utf8 launch-ui.py
VALL-E X funktioniert gut auf CPU und GPU ( pytorch 2.0+
, CUDA 11.7 und CUDA 12.0).
Ein GPU-VRAM von 6 GB reicht aus, um VALL-E X ohne Auslagerung auszuführen.
VALL-E X ähnelt Bark, VALL-E und AudioLM, das Audio im GPT-Stil generiert, indem es von EnCodec quantisierte Audio-Token vorhersagt.
Im Vergleich zu Bark:
Sprache | Status |
---|---|
Englisch (en) | ✅ |
Japanisch (ja) | ✅ |
Chinesisch, vereinfacht (zh) | ✅ |
wget
, um das Modell in das Verzeichnis ./checkpoints/
herunterzuladen, wenn Sie das Programm zum ersten Mal ausführen../checkpoints/
ab. .bat
Skripte für Nicht-Python-Benutzer Wenn Sie VALL-E X interessant und nützlich finden, geben Sie uns einen Stern auf GitHub! ️ Es ermutigt uns, das Modell weiter zu verbessern und aufregende Funktionen hinzuzufügen.
VALL-E X ist unter der MIT-Lizenz lizenziert.
Haben Sie Fragen oder benötigen Sie Hilfe? Fühlen Sie sich frei, ein Problem zu eröffnen oder unserem Discord beizutreten
Viel Spaß beim Stimmenklonen! ?