AI Personal Learning
und praktische Anleitung

CosyVoice: Open-Source-Projekt zum Klonen von 3-Sekunden-Stimmen von Ali mit Unterstützung für gefühlsgesteuerte Tags

Allgemeine Einführung

CosyVoice ist ein mehrsprachiges, groß angelegtes Spracherzeugungsmodell, das von der Inferenz über das Training bis hin zur Bereitstellung umfassende Funktionen bietet. CosyVoice wurde vom FunAudioLLM-Team entwickelt und zielt auf eine hochwertige Sprachsynthese durch fortschrittliche autoregressive Transformatoren und ODE-basierte Diffusionsmodelle ab. CosyVoice unterstützt nicht nur die mehrsprachige Spracherzeugung, sondern bietet auch Emotionskontrolle und Kantonesisch-Synthese auf einem Niveau, das mit der menschlichen Aussprache vergleichbar ist.

Kostenlose Online-Erfahrung (Text-to-Speech): https://modelscope.cn/studios/iic/CosyVoice-300M


Kostenlose Online-Erfahrung (Sprache zu Text): https://www.modelscope.cn/studios/iic/SenseVoice

CosyVoice: 3-Sekunden-Rush-Stimmenklonen von Ali mit Unterstützung für emotional gesteuerte Tags-1

 

Funktionsliste

  • Mehrsprachige Spracherzeugung: unterstützt die Sprachsynthese in mehreren Sprachen.
  • Sprachklonen: die Fähigkeit, die Sprachmerkmale eines bestimmten Sprechers zu klonen.
  • Text-to-Speech: Wandeln Sie Textinhalte in natürliche und flüssige Sprache um.
  • Emotionskontrolle: Einstellbarer Gefühlsausdruck bei der Sprachsynthese.
  • Kantonesische Synthese: Unterstützt die Spracherzeugung in Kantonesisch.
  • Hochwertige Audioausgabe: Synthese von High-Fidelity-Audio über HiFTNet-Vocoder.

 

Hilfe verwenden

Ablauf der Installation

Kürzlich hat Ali Tongyi Labs das CosyVoice-Sprachmodell veröffentlicht, das natürliche Spracherzeugung, Mehrsprachigkeit, Klangfarben- und Emotionskontrolle unterstützt und sich durch mehrsprachige Spracherzeugung, Null-Sample-Spracherzeugung, sprachübergreifende Sprachsynthese und Befehlsausführungsfunktionen auszeichnet.

CosyVoice nutzt insgesamt mehr als 150.000 Stunden Datentraining, um die Synthese von fünf Sprachen - Chinesisch, Englisch, Japanisch, Kantonesisch und Koreanisch - zu unterstützen, und der Syntheseeffekt ist deutlich besser als bei herkömmlichen Sprachsynthesemodellen.

CosyVoice unterstützt das Klonen von Tönen in einem Durchgang: Es werden nur 3 bis 10 Sekunden an Rohdaten benötigt, um analoge Töne zu erzeugen, die sogar Details wie Rhythmus und Emotionen enthalten. Auch bei der sprachenübergreifenden Sprachsynthese zeigt es gute Leistungen.

Da die offizielle Version vorerst keine Windows- und Mac-Plattformen unterstützt, haben wir CosyVoice dieses Mal lokal auf diesen beiden Plattformen eingesetzt.

Windows-Plattform

Wechseln Sie zunächst zur Windows-Plattform und klonen Sie das Projekt:

git clone https://github.com/v3ucn/CosyVoice_For_Windows

Zugang zu Projekten.

cd CosyVoice_Für_Windows

Eingebaute Module generieren:

git submodule update --init --rekursiv

Installieren Sie anschließend die Abhängigkeiten:

conda create -n cosyvoice python=3.11
conda cosyvoice aktivieren
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

Die offiziell empfohlene Version von Python ist 3.8. Tatsächlich läuft 3.11, und theoretisch hat 3.11 eine bessere Leistung.

Laden Sie dann die Windows-Version des deepspeed-Installationsprogramms herunter, um es zu installieren:

https://github.com/S95Sedan/Deepspeed-Windows/releases/tag/v14.0%2Bpy311

Installieren Sie schließlich die GPU-Version der Fackel: die

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

Hier ist die Version von cuda als 12 ausgewählt, oder Sie können 11 installieren.

Das Modell wurde dann heruntergeladen:

# git models download, stellen Sie sicher, dass Sie git lfs installiert haben
mkdir -p pretrained_models
git clone https://www.modelscope.cn/iic/CosyVoice-300M.git pretrained_models/CosyVoice-300M
git clone https://www.modelscope.cn/iic/CosyVoice-300M-SFT.git pretrained_models/CosyVoice-300M-SFT
git clone https://www.modelscope.cn/iic/CosyVoice-300M-Instruct.git pretrained_models/CosyVoice-300M-Instruct
git clone https://www.modelscope.cn/speech_tts/speech_kantts_ttsfrd.git pretrained_models/speech_kantts_ttsfrd

Es ist sehr schnell, weil es das Magic Hitch Lager in China nutzt.

Fügen Sie schließlich die Umgebungsvariablen hinzu:

set PYTHONPATH=dritte Partei/AcademiCodec;dritte Partei/Matcha-TTS

Grundlegende Verwendung:

from cosyvoice.cli.cosyvoice import CosyVoice
from cosyvoice.utils.file_utils importieren load_wav
importieren torchaudio
cosyvoice = CosyVoice('speech_tts/CosyVoice-300M-SFT')
#-SFT-Verwendung
print(cosyvoice.list_avaliable_spks())
output = cosyvoice.inference_sft('Hallo, ich bin Tongyi Generative Speech Large Model. , 'Chinesisch weiblich')
torchaudio.save('sft.wav', output['tts_speech'], 22050)
cosyvoice = CosyVoice('speech_tts/CosyVoice-300M')
# zero_shot Verwendung
prompt_speech_16k = load_wav('zero_shot_prompt.wav', 16000)
output = cosyvoice.inference_zero_shot('Ich erhielt ein Geburtstagsgeschenk von meinem besten Freund aus der Ferne, die unerwartete Überraschung und der tiefe Segen erfüllten mein Herz mit süßer Freude, und mein Lächeln erblühte wie eine Blume.' , 'Ich hoffe, du kannst es in Zukunft besser machen als ich. , prompt_speech_16k)
torchaudio.save('zero_shot.wav', output['tts_speech'], 22050)
# cross_linguale Verwendung
prompt_speech_16k = load_wav('cross_lingual_prompt.wav', 16000)
output = cosyvoice.inference_cross_lingual('<|en|>Ein Grund, warum wir manchmal nicht das ganze Unternehmen kaufen, ist also, dass das Management und die Interessen mit dem Vermögenswert, der in die Familie kommt, im Einklang stehen. warum wir manchmal nicht das ganze Unternehmen kaufen.', prompt_speech_16k)
torchaudio.save('cross_lingual.wav', output['tts_speech'], 22050)
cosyvoice = CosyVoice('speech_tts/CosyVoice-300M-Instruct')
#-Instruct-Verwendung
output = cosyvoice.reference_instruct('Im Angesicht von Herausforderungen hat er bemerkenswerte<strong>Tapferkeit</strong>zusammen mit<strong>Weisheit</strong>.' ', 'Chinese Man', 'Theo \'Crimson\', ist ein feuriger, leidenschaftlicher Rebellenführer, der mit Inbrunst für Gerechtigkeit kämpft, aber mit Impulsivität zu kämpfen hat.')
torchaudio.save('instruct.wav', output['tts_speech'], 22050)

Webui wird hier für mehr Intuition und Komfort empfohlen:

python3 webui.py --port 9886 --model_dir . /pretrained_models/CosyVoice-300M

Interviews http://localhost:9886

CosyVoice: Open-Source-Projekt zum Klonen von 3-Sekunden-Stimmen von Ali mit Unterstützung für Emotionskontrolle Tag-1

Beachten Sie, dass die offizielle Fackel sox für das Backend verwendet, hier ist es in soundfile geändert:

torchaudio.set_audio_backend('soundfile')

Es kann noch einige Fehler geben, also bleiben Sie dran, wenn es in Zukunft offizielle Projekt-Updates gibt.

MacOS-Plattform

Für die MacOs-Plattform ist es besser, das Projekt zunächst zu klonen:

git clone https://github.com/v3ucn/CosyVoice_for_MacOs.git

Installieren Sie die Abhängigkeit:

cd CosyVoice_für_MacOs
conda create -n cosyvoice python=3.8
conda activate cosyvoice
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

Anschließend müssen Sie sox über Homebrew installieren:

brew install sox

Es ist also konfiguriert, aber vergessen Sie nicht, Umgebungsvariablen hinzuzufügen:

export PYTHONPATH=dritte_partei/AcademiCodec:dritte_partei/Matcha-TTS

Die Verwendung bleibt dieselbe wie bei der Windows-Version.

Das Webui wird hier weiterhin empfohlen: die

python3 webui.py --port 50000 --model_dir speech_tts/CosyVoice-300M

Interviews http://localhost:50000

CosyVoice: Open-Source-Projekt zum Klonen von 3-Sekunden-Stimmen von Ali mit Unterstützung für Emotionskontrolle Tag-2

Schlussbemerkungen

In aller Fairness, CosyVoice verdient eine große Fabrik zu sein, ist die Qualität des Modells nicht zu sagen, was das höchste Niveau der inländischen AI, Tongyi Labs Name ist nicht falsch, natürlich, wenn Sie auch Open-Source-Code nach dem Engineering, wäre es besser, ich glaube, dass nach der Optimierung der libtorch, wird dieses Modell die Open-Source der TTS ist keine gute Wahl.

 

Verwendung Prozess

  1. Spracherzeugung::
    • Bereiten Sie die Eingabetextdatei (z. B. input.txt) mit einem Satz pro Zeile vor.
    • Führen Sie den folgenden Befehl zur Spracherzeugung aus:
      python generate.py --input input.txt --output output/
      
    • Die erzeugten Sprachdateien werden im VerzeichnisAusgabe/Katalog.
  2. Sprachklonen::
    • Bereiten Sie eine Beispiel-Sprachdatei (z. B. sample.wav) des Zielsprechers vor.
    • Führen Sie den folgenden Befehl zum Klonen der Stimme aus:
      python clone.py --sample sample.wav --text input.txt --output output/
      
    • Die geklonten Sprachdateien werden im VerzeichnisAusgabe/Katalog.
  3. emotionale Kontrolle::
    • Emotionen können bei der Spracherzeugung mit Kommandozeilenparametern eingestellt werden:
      python generate.py --input input.txt --output output/ --emotion happy
      
    • Zu den unterstützenden Emotionen gehören: glücklich, traurig, wütend, neutral.
  4. Kantonesisch-Synthese::
    • Bereiten Sie eine kantonesische Textdatei vor (z. B. cantonese_input.txt).
    • Führen Sie den folgenden Befehl zur Erzeugung kantonesischer Sprache aus:
      python generate.py --input kantonesisch_input.txt --output output/ --language kantonesisch
      
    • Die erzeugten kantonesischen Sprachdateien werden im VerzeichnisAusgabe/Katalog.

Detaillierte Vorgehensweise

  1. Textvorbereitung::
    • Vergewissern Sie sich, dass die Eingabedatei korrekt formatiert ist (ein Satz pro Zeile).
    • Der Text sollte so knapp und klar wie möglich gehalten sein und keine komplexen Sätze enthalten.
  2. Vorbereitung von Stimmproben::
    • Bei den Sprachproben sollte es sich um klare Ein-Personen-Sprache mit möglichst wenig Hintergrundgeräuschen handeln.
    • Es wird empfohlen, dass die Probenlänge weniger als 1 Minute beträgt, um eine optimale Klonierung zu gewährleisten.
  3. Parametrisierung::
    • Passen Sie die Parameter der generierten Sprache, wie z. B. Emotionen, Sprache usw., nach Bedarf an.
    • Die Personalisierung kann durch die Änderung von Konfigurationsdateien oder Befehlszeilenparametern erreicht werden.
  4. Validierung der Ergebnisse::
    • Die erzeugten Sprachdateien können mit einem Audioplayer vorgehört werden.
    • Wenn die Ergebnisse nicht zufriedenstellend sind, können die eingegebenen Text- oder Sprachproben angepasst und neu generiert werden.
AI Leichtes Lernen

Der Leitfaden für Laien zum Einstieg in die KI

Hilft Ihnen, die Nutzung von KI-Tools kostengünstig und von Null an zu erlernen.KI ist, wie Bürosoftware, eine wesentliche Fähigkeit für jeden. Die Beherrschung von KI verschafft Ihnen einen Vorteil bei der Stellensuche und die Hälfte des Aufwands bei Ihrer zukünftigen Arbeit und Ihrem Studium.

Details ansehen>
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " CosyVoice: Open-Source-Projekt zum Klonen von 3-Sekunden-Stimmen von Ali mit Unterstützung für gefühlsgesteuerte Tags

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)