Home
Login
2noise/ChatTTS

Ein generatives Sprachmodell, das speziell für Dialogszenarien entwickelt wurde und die gemischte Eingabe von Chinesisch und Englisch sowie die Fähigkeit mehrerer Sprecher unterstützt.

AGPL-3.0Python 36.8k2noise Last Updated: 2025-05-23
https://github.com/2noise/ChatTTS

ChatTTS - Professionelles Text-zu-Sprache-Modell für Dialogszenarien

Projektübersicht

ChatTTS ist ein generatives Text-zu-Sprache (TTS)-Modell, das vom 2noise-Team speziell für Dialogszenarien entwickelt wurde. Das Projekt hat auf GitHub bereits über 35.000 Sterne erhalten und ist eines der beliebtesten Open-Source-TTS-Projekte.

Projektadresse: https://github.com/2noise/ChatTTS Entwicklungsteam: 2noise Open-Source-Lizenz: AGPLv3+ (Code) / CC BY-NC 4.0 (Modelle) Hauptsprachunterstützung: Chinesisch, Englisch

ChatTTS wurde mit dem Ziel entwickelt, eine natürliche und flüssige Sprachinteraktion für Dialoganwendungen wie LLM-Assistenten zu ermöglichen. Im Vergleich zu herkömmlichen TTS-Modellen zeichnet es sich in Dialogszenarien durch eine höhere Leistung aus.

Kernfunktionen und -merkmale

🎯 Optimiertes Design für Dialoge

  • Speziell für Dialogszenarien optimiert: Spezielle Optimierung für Chatbots, LLM-Assistenten und andere Dialoganwendungen
  • Natürliches Dialogerlebnis: Erzeugt natürlichere und flüssigere Sprache, geeignet für Mensch-Maschine-Dialoge
  • Interaktiver Dialog: Unterstützt die sprachliche Kohärenz in mehrfachen Gesprächsrunden

🎭 Unterstützung mehrerer Sprecher

  • Fähigkeit für mehrere Sprecher: Unterstützt den Wechsel zwischen verschiedenen Sprechern, um Dialoge mit mehreren Rollen zu ermöglichen
  • Sprecher-Sampling: Kann Sprechermerkmale zufällig aus einer Gaußschen Verteilung entnehmen
  • Klangfarbensteuerung: Unterstützt die Anpassung und Fixierung bestimmter Klangfarben, um die Konsistenz der Rollen zu gewährleisten

🎵 Fein abgestimmte Prosodie-Steuerung

  • Lachsteuerung: Unterstützt das Hinzufügen verschiedener Grade von Lacheffekten [laugh][laugh_0-2]
  • Pausensteuerung: Präzise Steuerung von Pausen und Intervallen in der Sprache [uv_break][lbreak][break_0-7]
  • Tonhöhensteuerung: Unterstützt die Anpassung des Grades der Umgangssprache [oral_0-9]
  • Emotionale Ausdruckskraft: Kann feinkörnige prosodische Merkmale, einschließlich Tonhöhenänderungen, vorhersagen und steuern

🌐 Mehrsprachige Unterstützung

  • Chinesisch-Englisch-Mischung: Unterstützt nativ die gemischte Eingabe von Chinesisch und Englisch ohne Sprachmarkierungen
  • Sprachanpassung: Erkennt und verarbeitet automatisch Textinhalte in verschiedenen Sprachen
  • Zukünftige Erweiterung: Plant die Unterstützung weiterer Sprachen

⚡ Technische Vorteile

  • Fortschrittliche Architektur: Basiert auf einer autoregressiven Modellarchitektur, die sich an fortschrittlichen Technologien wie Bark und Valle orientiert
  • Prosodie-Vorteil: Übertrifft die meisten Open-Source-TTS-Modelle in Bezug auf die Prosodie-Leistung
  • Hochwertiges Vortraining: Das Hauptmodell wurde mit über 100.000 Stunden chinesischer und englischer Audiodaten trainiert
  • Open-Source-freundlich: Bietet ein 40.000-stündiges vortrainiertes Basismodell für Forschungszwecke

Modellspezifikationen und Leistung

Trainingsdaten

  • Hauptmodell: Trainiert mit über 100.000 Stunden chinesischer und englischer Audiodaten
  • Open-Source-Version: 40.000 Stunden vortrainiertes Modell (ohne SFT)
  • Datenquelle: Öffentlich verfügbare Audio-Datenquellen

Leistungsindikatoren

  • GPU-Anforderungen: Für die Generierung von 30 Sekunden Audio sind mindestens 4 GB GPU-Speicher erforderlich
  • Generierungsgeschwindigkeit: 4090 GPU generiert etwa 7 semantische Token pro Sekunde
  • Echtzeitfaktor (RTF): Ungefähr 0,3
  • Audioqualität: 24 kHz Abtastrate-Ausgabe

Hardware-Anforderungen

  • Mindestkonfiguration: 4 GB+ GPU-Speicher
  • Empfohlene Konfiguration: High-End-Grafikkarten wie RTX 3090/4090
  • CPU: Unterstützt die Beschleunigung durch Mehrkernprozessoren
  • Speicher: Empfohlen werden 16 GB+ Systemspeicher

Installation und Verwendung

Schnelle Installation

# Projekt klonen
git clone https://github.com/2noise/ChatTTS
cd ChatTTS

# Abhängigkeiten installieren
pip install --upgrade -r requirements.txt

# Oder eine conda-Umgebung verwenden
conda create -n chattts python=3.11
conda activate chattts
pip install -r requirements.txt

Grundlegendes Anwendungsbeispiel

import ChatTTS
import torch
import torchaudio

# Modell initialisieren
chat = ChatTTS.Chat()
chat.load(compile=False)  # Auf True setzen, um eine bessere Leistung zu erzielen

# Text in Sprache umwandeln
texts = ["你好,我是ChatTTS", "Hello, I am ChatTTS"]
wavs = chat.infer(texts)

# Audiodateien speichern
for i, wav in enumerate(wavs):
    torchaudio.save(f"output_{i}.wav", torch.from_numpy(wav).unsqueeze(0), 24000)

Erweiterte Steuerungsfunktionen

# Zufälligen Sprecher sampeln
rand_spk = chat.sample_random_speaker()

# Inferenzparameter festlegen
params_infer_code = ChatTTS.Chat.InferCodeParams(
    spk_emb=rand_spk,      # Sprecher-Embedding
    temperature=0.3,        # Temperaturparameter
    top_P=0.7,             # Top-P-Sampling
    top_K=20,              # Top-K-Sampling
)

# Textverfeinerungsparameter festlegen
params_refine_text = ChatTTS.Chat.RefineTextParams(
    prompt='[oral_2][laugh_0][break_6]',  # Prosodie-Steuerung hinzufügen
)

# Sprache generieren
wavs = chat.infer(
    texts,
    params_refine_text=params_refine_text,
    params_infer_code=params_infer_code,
)

Anwendungsbereiche

🤖 KI-Assistenten und Chatbots

  • Sprachausgabe von LLM-Dialogsystemen
  • Intelligente Kundendienstsysteme
  • Virtuelle Assistenten-Anwendungen

📚 Bildung und Training

  • Online-Bildungsplattformen
  • Sprachlernanwendungen
  • Produktion von Hörbüchern

🎬 Inhaltserstellung

  • Podcast-Produktion
  • Videovertonung
  • Generierung von Audioinhalten

🏢 Unternehmensanwendungen

  • Wiedergabe von Konferenzzusammenfassungen
  • Sprachausgabe von Benachrichtigungen und Ankündigungen
  • Barrierefreie Hilfsfunktionen

Technische Architektur

Kernkomponenten

  • Text-Encoder: Verarbeitung des semantischen Verständnisses von Eingabetexten
  • Prosodie-Prädiktor: Vorhersage und Steuerung der prosodischen Merkmale der Sprache
  • Vocoder: Umwandlung von Merkmalen in hochwertige Audio-Wellenformen
  • Sprecher-Encoder: Verarbeitung von Sprechermerkmalen-Einbettungen für mehrere Sprecher

Modellmerkmale

  • Autoregressive Architektur: Autoregressives Generierungsmodell basierend auf Transformer
  • End-to-End-Training: Einheitliches End-to-End-Trainingsframework
  • Multimodale Fusion: Effektive Fusion von Text-, Prosodie- und Sprecherinformationen

Hinweise und Einschränkungen

Nutzungsbeschränkungen

  • Akademische Zwecke: Die veröffentlichten Modelle sind nur für akademische Forschungszwecke bestimmt
  • Kommerzielle Beschränkungen: Dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden
  • Ethische Überlegungen: Hochfrequentes Rauschen wurde hinzugefügt, um böswillige Verwendung zu verhindern

Technische Einschränkungen

  • Audiolänge: Bei längeren Audios kann es zu Qualitätseinbußen kommen
  • Rechenbedarf: Erfordert hohe GPU-Rechenressourcen
  • Sprachunterstützung: Unterstützt derzeit hauptsächlich Chinesisch und Englisch

Häufige Fragen

  • Generierungsgeschwindigkeit: Kann durch Optimierung der Hardwarekonfiguration und Anpassung der Parameter verbessert werden
  • Audioqualität: Das MP3-Komprimierungsformat kann die endgültige Qualität beeinträchtigen
  • Stabilität: Autoregressive Modelle können instabile Ausgaben erzeugen

Zusammenfassung

ChatTTS zeichnet sich als TTS-Modell, das speziell für Dialogszenarien entwickelt wurde, in folgenden Bereichen aus:

🎯 Professionalität: Speziell für Dialogszenarien optimiert, hervorragende Leistung in Chatbots, KI-Assistenten und anderen Anwendungen

🚀 Technischer Fortschritt: Einsatz neuester Deep-Learning-Technologien, führend in Bezug auf Prosodie-Steuerung und Unterstützung mehrerer Sprecher

🌟 Open-Source-Wert: Bietet eine vollständige Open-Source-Lösung, die die Eintrittsbarriere für die Nutzung hochwertiger TTS-Technologie senkt

🤝 Aktive Community: Verfügt über eine aktive Entwickler-Community und umfangreiche Ökosystemressourcen

⚡ Praktikabilität: Bietet vollständige Funktionen von der grundlegenden Verwendung bis zur erweiterten Steuerung, um unterschiedlichen Anforderungen gerecht zu werden

Das Aufkommen von ChatTTS füllt die Lücke für spezielle TTS-Modelle für Dialogszenarien und bietet eine starke technische Unterstützung für den Aufbau einer natürlicheren Mensch-Maschine-Sprachinteraktion. Mit der kontinuierlichen Weiterentwicklung der Technologie und den fortlaufenden Beiträgen der Community wird ChatTTS im Bereich der Sprachsynthese eine immer wichtigere Rolle spielen.