Allgemeine Einführung
OpenVoice ist ein vielseitiges Verfahren zum fliegenden Klonen von Stimmen, das die Stimme eines Referenzsprechers nachbildet und mehrsprachige Sprache mit nur kurzen Audioclips des Sprechers erzeugt. OpenVoice repliziert nicht nur die Klangfarbe, sondern ermöglicht auch eine feine Kontrolle über den Sprachstil, einschließlich Emotionen, Akzent, Rhythmus, Pausen und Intonation.
OpenVoice-bezogene Text-to-Speech-Projekte: https://github.com/myshell-ai/MeloTTS
Das Projekt kann seine eigene Sprache anhand des Datensatzes trainieren, verfügt aber nicht über eine Trainingsschnittstelle. Es ist nicht dasselbe wie Instantaneous Speech Cloning und konzentriert sich mehr auf Text-zu-Sprache unter Verwendung eines stabilen trainierten Modells.
Funktionsliste
Präzises Klonen von Tönen: OpenVoice kann Referenztöne genau nachbilden und Sprache in mehreren Sprachen und Akzenten erzeugen.
Flexible Steuerung des Sprachstils: OpenVoice ermöglicht die Feinsteuerung des Sprachstils, einschließlich Emotionen, Akzent, Rhythmus, Pausen und Intonation.
Zero-shot Cross-Language Speech Cloning: Die generierte Sprache muss weder in der gleichen Sprache wie die Referenzsprache sein, noch muss sie in einem großen mehrsprachigen Trainingsdatensatz präsentiert werden.
Ausgewählt:
1. genaues Klonen von Tönen. OpenVoice kann Referenztöne exakt klonen und Sprache in mehreren Sprachen und Akzenten erzeugen.
2. flexible Klangregelung. OpenVoice bietet eine fein abgestufte Steuerung des Sprachstils (z. B. Emotion und Akzent) sowie anderer stilistischer Parameter wie Rhythmus, Pausen und Intonation.
3. Stichprobenfreies sprachübergreifendes Sprachklonen. Weder die Sprache, in der die Sprache generiert wird, noch die Sprache, in der die Sprache referenziert wird, muss in einem großen, mehrsprachigen Trainingsdatensatz vorhanden sein.
Hilfe verwenden
Eine ausführliche Anleitung finden Sie in der Gebrauchsanweisung.
Häufig gestellte Fragen finden Sie in der QA. Die Liste der Fragen und Antworten wird regelmäßig aktualisiert.
In MyShell anwenden:Direkte Nutzung von Diensten zur sofortigen Sprachwiedergabe und Sprachsynthese (TTS).
Minimalistisches Beispiel:Erleben Sie OpenVoice schnell und ohne hohe Qualitätsanforderungen.
Linux-Installation:Nur für Forscher und Entwickler.
Schneller Versuch in google colab
/content!git clone -b dev https://github.com/camenduru/OpenVoice /content/OpenVoice!apt -y install -qq aria2!aria2c --console- log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/camenduru/OpenVoice/resolve/main/checkpoints_1226.zip -d /content -o checkpoints_ 1226 zip!unzip 1226.zip!unzip /content/checkpoints_1226.zip!pip install -q gradio==3.50.2 langid faster-whisper whisper-timestamped unidecode eng-to-ipa pypinyin cn2an!python openvoice_app.py --share
In MyShell anwenden
Für die meisten Benutzer ist es am bequemsten, die kostenlosen TTS- und Live Voice Replication-Dienste direkt in MyShell zu nutzen.
TTS-Dienste
Klicken Sie hierund folgen Sie den nachstehenden Schritten:
Sprachklonen
Klicken Sie hierund folgen Sie den nachstehenden Schritten:
Minimalistisches Beispiel
Wer OpenVoice schnell ausprobieren möchte und keine allzu hohen Ansprüche an Qualität und Stabilität stellt, kann auf einen der unten stehenden Links klicken:
Lepton AI:https://www.lepton.ai/playground/openvoice
MySHell:https://app.myshell.ai/bot/z6Bvua/1702636181
HuggingFace:https://huggingface.co/spaces/myshell-ai/OpenVoice
Linux-Installation
Dieser Abschnitt richtet sich in erster Linie an Entwickler und Forscher mit Kenntnissen in Linux, Python und PyTorch. Klonen Sie dieses Repository und führen Sie die folgenden Schritte aus:
conda create -n openvoice python=3.9
conda aktiviert openvoice
git clone git@github.com:myshell-ai/OpenVoice.git
cd OpenVoice
pip install -e .
Von [hier sind] den Checkpoint herunterladen und dann in das Verzeichnis Kontrollpunkte Akte (Papier)
1. Flexible Steuerung des Sprachstils:Siehe [demo_part1.ipynb]Erfahren Sie, wie OpenVoice den Stil der geklonten Sprache steuert.
2. Sprachübergreifendes Klonen von Sprache:Weitere Informationen finden Sie unter [demo_part2.ipynbHier erfahren Sie mehr über die Demonstration von Sprachen, die in der MSML-Trainingsmenge sichtbar oder nicht sichtbar sind.
3. Gradio Demo:Hier stellen wir eine minimale lokale gradio-Simulation zur Verfügung. Wenn Sie Probleme mit der gradio-Demo haben, empfehlen wir Ihnen dringend, sich die demo_part1.ipynb
, unddemo_part2.ipynb
und [QnA] Verwenden Sie die python -m openvoice_app --share
Starten Sie die lokale gradio-Demo.
3. Benutzerhandbuch für Fortgeschrittene:Das Basis-Sprachmodell kann durch ein beliebiges Modell (beliebige Sprache, beliebiger Stil) ersetzt werden, das der Benutzer bevorzugt. Wie in der Demo gezeigt, ist die Verwendung des se_extractor.get_se
Methoden zur Extraktion von Toneinbettungen für neue Basissprecher.
4. Ein Vorschlag zur Erzeugung natürlicher Sprache:Es gibt viele TTS-Methoden mit einem oder mehreren Sprechern zur Erzeugung natürlicher Sprache, die ohne weiteres verfügbar sind. Indem Sie einfach das Basis-Sprechermodell durch Ihr bevorzugtes Modell ersetzen, können Sie die Natürlichkeit Ihrer Sprache auf das von Ihnen gewünschte Niveau bringen.
OpenVoiceV2 Anleitung zur lokalen Bereitstellung, Apple MacOs Bereitstellungsprozess
Kürzlich hat das OpenVoice-Projekt seine V2-Version aktualisiert, das neue Modell ist freundlicher zu chinesischer Inferenz, und das Timbre wurde bis zu einem gewissen Grad verbessert, dieses Mal teilen wir mit, wie man die V2-Version von OpenVoice in Apples MacOs-System lokal einsetzt.
Laden Sie zunächst die OpenVoiceV2-Zip-Datei herunter:
OpenVoiceV2-for-mac Code und Modelle https://pan.quark.cn/s/33dc06b46699
Diese Version wurde für MacOs optimiert, und die Lautstärke der chinesischen Stimme wurde geändert.
Kopieren Sie nach dem Entpacken zunächst den Hub-Ordner von HF_HOME im Projektverzeichnis in das folgende Verzeichnis auf Ihrem aktuellen System:
/Benutzer/Aktueller Benutzername/.cache/huggingface
Dies ist der Standard-Speicherpfad des Huggingface-Modells auf dem Mac-System. Wenn Sie ihn nicht kopieren, müssen Sie mehr als zehn G des Pre-Training-Modells von Grund auf herunterladen, was sehr mühsam ist.
Wechseln Sie dann wieder in das Stammverzeichnis des Projekts und geben Sie den Befehl ein:
conda create -n openvoice python=3.10
Erstellen Sie eine virtuelle Umgebung mit Python Version 3.10, beachten Sie, dass die Version nur 3.10 sein kann.
Aktivieren Sie anschließend die virtuelle Umgebung:
conda aktiviert openvoice
Das System kehrt zurück:
(base) ➜ OpenVoiceV2 git:(main) ✗ conda activate openvoice
(openvoice) ➜ OpenVoiceV2 git:(main) ✗
Zeigt die erfolgreiche Aktivierung an.
Die Installation erfolgt über das Gebräu, da für die untere Schicht Mecab erforderlich ist:
brew install mecab
Starten Sie die Installation der Abhängigkeiten:
pip install -r anforderungen.txt
Da OpenVoice nur für die Extraktion von Phonemen zuständig ist, erfordert die Konvertierung von Sprache auch tts-Unterstützung, und hier besteht eine Abhängigkeit vom melo-tts-Modul.
Rufen Sie das Melo-Verzeichnis auf:
(openvoice) ➜ OpenVoiceV2 git:(main) ✗ cd MeloTTS
(openvoice) ➜ MeloTTS git:(main) ✗
Installieren Sie die MeloTTS-Abhängigkeit:
pip install -e .
Nach dem Erfolg müssen Sie die Wörterbuchdatei separat herunterladen:
python -m unidic herunterladen
Gehen Sie dann einfach zurück zum Stammverzeichnis und starten Sie das Projekt:
python app.py
Das System kehrt zurück:
(openvoice) ➜ OpenVoiceV2 git:(main) ✗ python app.py
Ausführung auf lokaler URL: http://0.0.0.0:7860
WICHTIG: Sie verwenden gradio Version 3.48.0, aber Version 4.29.0 ist verfügbar, bitte aktualisieren Sie.
--------
Um einen öffentlichen Link zu erstellen, setzen Sie `share=True` in `launch()`.
Damit ist der Einsatz von OpenVoice in MacOs abgeschlossen.
Schlussbemerkungen
Eine der bahnbrechenden Eigenschaften von OpenVoice ist die Fähigkeit, das Klonen von Stimmen in verschiedenen Sprachen mit Nullschüssen durchzuführen. Es kann Stimmen in Sprachen klonen, die nicht im Trainingsdatensatz enthalten sind, ohne dass große Mengen von Sprecher-Trainingsdaten für diese Sprachen bereitgestellt werden müssen. Tatsache ist jedoch, dass das Zero-Shot-Lernen bei unbekannten Kategorien, insbesondere bei komplexen Kategorien, in der Regel eine geringere Genauigkeit aufweist als das traditionelle überwachte Lernen mit umfangreichen gelabelten Daten. Der Rückgriff auf Hilfsinformationen kann zu Rauschen und Ungenauigkeiten führen, so dass OpenVoice für einige sehr spezifische Töne nicht gut funktioniert und für die zugrunde liegende Modalität fein abgestimmt werden muss, um solche Probleme zu lösen.