AI Personal Learning
und praktische Anleitung

F5-TTS: Samplefreies Klonen von Sprache zur Erzeugung von weichen und emotionalen Klonstimmen

Allgemeine Einführung

F5-TTS ist ein neuartiges nicht-autoregressives Text-to-Speech (TTS)-System, das auf einem Stream-matched Diffusion Transformer (DiT) basiert. Das System verbessert die Synthesequalität und -effizienz erheblich, indem es das ConvNeXt-Modell verwendet, um die Textdarstellung zu optimieren und die Anpassung an die Sprache zu erleichtern. F5-TTS unterstützt das Training auf mehrsprachigen Datensätzen mit sehr natürlichen und ausdrucksstarken Null-Sample-Fähigkeiten, nahtlosem Code-Wechsel und Effizienz bei der Geschwindigkeitskontrolle. Das Projekt ist quelloffen und zielt darauf ab, die Entwicklung in der Gemeinschaft zu fördern.

Dieses Modell verzichtet auf die komplexen Module traditioneller TTS-Systeme, wie z.B. Dauer-Modelle, Phonem-Alignment und Text-Encoder, und erreicht stattdessen die Spracherzeugung durch Auffüllen des Textes auf die gleiche Länge wie die Eingangssprache und die Anwendung von Entrauschungsmethoden.

Eine der wichtigsten Innovationen des F5-TTS ist Sway-Probenahme Strategie, die die Effizienz in der Inferenzphase erheblich verbessert und Echtzeitverarbeitungsmöglichkeiten ermöglicht. Diese Funktion eignet sich für Szenarien, die eine schnelle Sprachsynthese erfordern, wie z. B. Sprachassistenten und interaktive Sprachsysteme.


F5-TTS-Unterstützung Null-Proben-SprachklonenEs bietet auch die Möglichkeit, eine breite Palette von Stimmen und Akzenten zu erzeugen, ohne dass große Mengen von Trainingsdaten benötigt werden. emotionale Kontrolle im Gesang antworten Geschwindigkeitsanpassung Merkmale. Mit seiner starken Unterstützung für mehrere Sprachen eignet sich das System besonders gut für Anwendungen, die die Erstellung unterschiedlicher Audioinhalte erfordern, wie z. B. Hörbücher, E-Learning-Module und Marketingmaterialien.

 

F5-TTS: Samplefreies Klonen von Sprache zur Erzeugung von weichen und emotionalen Klonstimmen

 

F5-TTS: Samplefreies Klonen von Sprache zur Erzeugung von weichen und emotionalen Klonstimmen

 

Funktionsliste

  • Text-zu-Sprache-Umwandlung: Wandeln Sie den eingegebenen Text in natürliche und flüssige Sprache um.
  • Zero-Sample-Generierung: Generieren Sie qualitativ hochwertige Sprache ohne vorab aufgenommene Samples.
  • Emotionale Reproduktion: Unterstützung bei der Erzeugung von Sprache mit Emotionen.
  • Geschwindigkeitskontrolle: Der Benutzer kann die Geschwindigkeit der Spracherzeugung steuern.
  • Mehrsprachige Unterstützung: unterstützt die Spracherzeugung in mehreren Sprachen.
  • Offener Quellcode: Vollständiger Code und Modellprüfpunkte werden zur Verfügung gestellt, um die Nutzung und Entwicklung durch die Gemeinschaft zu erleichtern.

 

Hilfe verwenden

Ablauf der Installation

conda create -n f5-tts python=3.10
conda activate f5-tts

sudo apt update
sudo apt install -y ffmpeg

pip uninstall torch torchvision torchaudio transformers

# PyTorch installieren (mit CUDA-Unterstützung)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

# Transformatoren installieren
pip install transformers

git clone https://github.com/SWivid/F5-TTS.git
cd F5-TTS
pip install -e .

# Starten einer Gradio-Anwendung (Weboberfläche)
f5-tts_infer-gradio

# Geben Sie den Port/Host an
f5-tts_infer-gradio --port 7860 --host 0.0.0.0

# Starten einer Freigabeverbindung
f5-tts_infer-gradio --share

F5-TTS Ein-Klick-Installationsbefehl

conda create -n f5-tts python=3.10 -y && \
conda activate f5-tts && \\
sudo apt update && sudo apt install -y ffmpeg && \
pip uninstall -y torch torchvision torchaudio transformers && \
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 transformers && \
git clone https://github.com/SWivid/F5-TTS.git && \ \
cd F5-TTS && \ pip install -e .
pip install -e . && \
f5-tts_infer-gradio --port 7860 --host 0.0.0.0

 

F5-TTS google Colab läuft

Hinweis: Die ngrok-Registrierung ist erforderlich, um einen Schlüssel für die Intranet-Penetration zu beantragen.

 

!pip install pyngrok transformers gradio

# Importieren Sie die erforderlichen Bibliotheken
os importieren
von pyngrok importieren ngrok

!apt-get update && apt-get install -y ffmpeg
!pip uninstall -y torch torchvision torchaudio transformers
!pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 transformers

# Klonen und installieren Sie das Projekt
!git clone https://github.com/SWivid/F5-TTS.git
 F5-TTS
!pip install -e .

!ngrok config add-authtoken 2hKI7tLqJVdnbgM8pxM4nyYP7kQ_3vL3RWtqXQUUdwY5JE4nj

# Konfigurieren von ngrok und gradio
importiere gradio als gr
von pyngrok importieren ngrok
importieren threading
importiere Zeit
importieren Socket
importiere Anfragen

def is_port_in_use(port): with socket.socket(socket.AF_INET, socket.
 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:: return s.connect_ex(('localhost', port)) == 0
 return s.connect_ex(('localhost', port)) == 0

def wait_for_server(port, timeout=60): start_time = time.
 start_time = time.time()
 while time.time() - start_time < timeout.
 if is_port_in_use(port).
 start_time = time.
 response = requests.get(f'http://localhost:{port}')
 if response.status_code == 200:: if response.status_code == 200
 return True
 außer.
 pass
 time.sleep(2)
 return False

# Stellen Sie sicher, dass ngrok nicht läuft
ngrok.kill()

# Gradio in einem neuen Thread starten
def run_gradio():
 import sys
 importiere f5_tts.infer.infer_gradio
 sys.argv = ['f5-tts_infer-gradio', '--port', '7860', '--host', '0.0.0.0']
 f5_tts.infer.infer_gradio.main()

thread = threading.Thread(target=run_gradio)
thread.daemon = True
thread.start()

# Warten auf den Start des Gradio-Dienstes
print("Warten auf den Start des Gradio-Dienstes...")
print("Warten auf den Start des Gradio-Dienstes...") if wait_for_server(7860).
 print("Gradio-Dienst gestartet")
 # Start von ngrok
 public_url = ngrok.connect(7860)
 print(f"\n=== Zugangsinformationen ===")
 print(f "Ngrok URL: {public_url}")
 print("===============\n")
print(f "Ngrok-URL: {öffentliche_URL}")
 print("Zeitüberschreitung beim Start des Gradio-Dienstes")

# Die Anwendung weiterlaufen lassen
while True.
 time.sleep(1)
 time.sleep(1)
 except KeyboardInterrupt: ngrok.kill()
 ngrok.kill()
 ngrok.kill()

!f5-tts_infer-cli \
---model "F5-TTS" \\
--ref_audio "/content/test.MP3" \
--ref_text "Willkommen im Chief AI Sharing Circle,Microsoft hat OmniParser veröffentlicht, ein großes, modellbasiertes Screen-Parsing-Tool.Dieses Tool wurde entwickelt, um die Automatisierung der Benutzeroberfläche zu verbessern." \
--gen_text "Willkommen im Chief AI Sharing Circle, heute wird eine ausführliche Demonstration eines weiteren Open-Source-Sprachklonprojekts gezeigt."

 

Verwendung Prozess

Ausbildungsmodelle

  1. Konfigurieren Sie die Beschleunigungseinstellungen, z. B. die Verwendung mehrerer GPUs und FP16:
    Konfiguration beschleunigen
    
  2. Ausbildung einleiten:
    Beschleunigen Sie den Start von test_train.py
    

Inferenz

  1. Laden Sie vorab trainierte Modellprüfpunkte herunter.
  2. Einzige Begründung:
    • Ändern Sie die Konfigurationsdatei, um die Anforderungen zu erfüllen, z. B. feste Dauer und Schrittgröße:
      python test_infer_single.py
      
  3. Begründung der Charge:
    • Bereiten Sie den Testdatensatz vor und aktualisieren Sie den Pfad:
      bash test_infer_batch.sh
      

Detaillierte Vorgehensweise

  1. Text-zu-Sprache-Umwandlung::
    • Sobald der Text eingegeben ist, wandelt das System ihn automatisch in Sprache um, und der Benutzer kann verschiedene Sprachstile und Emotionen auswählen.
  2. Erzeugung von Nullproben::
    • Der Benutzer muss keine voraufgezeichneten Hörproben zur Verfügung stellen, und das System erzeugt auf der Grundlage des eingegebenen Textes qualitativ hochwertige Sprache.
  3. emotionale Reproduktion::
    • Der Benutzer kann verschiedene Emotionsbezeichnungen auswählen, und das System erzeugt Sprache mit der entsprechenden Emotion.
  4. Geschwindigkeitskontrolle::
    • Der Benutzer kann die Geschwindigkeit der Spracherzeugung steuern, indem er die Parameter an die Anforderungen der verschiedenen Szenarien anpasst.
  5. Mehrsprachige Unterstützung::
    • Das System unterstützt die Spracherzeugung in mehreren Sprachen, und die Benutzer können je nach Bedarf verschiedene Sprachen auswählen.
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 " F5-TTS: Samplefreies Klonen von Sprache zur Erzeugung von weichen und emotionalen Klonstimmen

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)