Chatterbox TTS – Open-Source-Modell für Text-to-Speech
(github.com/resemble-ai)- Chatterbox ist eine neue Reihe von Open-Source-Text-to-Speech-Modellen von Resemble AI, die Voice Cloning und mehrsprachige Sprachgenerierung unterstützt
- Das aktuelle Chatterbox Multilingual V3 behält eine Modellgröße von 0,5B bei und zielt auf bessere Sprecherähnlichkeit, weniger Halluzinationen und natürlichere dialogische Mehrsprachigkeit ab
- Chatterbox-Turbo ist ein 350M-Modell für englische Sprachagenten mit niedriger Latenz; es reduziert die Generierung im speech-token-to-mel decoder von 10 Schritten auf 1 Schritt und unterstützt paralinguistic tags wie
[laugh]und[cough] - Die Modellfamilie ist in Turbo, Multilingual V3, Single Language Pack und das bisherige Chatterbox unterteilt; das mehrsprachige Modell unterstützt 23 Sprachen einschließlich Koreanisch, während das Single Language Pack 6 dedizierte Fine-Tunings bietet
- Alle generierten Audiodateien enthalten das PerTh-Wasserzeichen von Resemble AI; laut Angaben bleibt es auch nach MP3-Kompression, Audiobearbeitung und üblichen Manipulationen mit nahezu 100 % Erkennungsgenauigkeit nachweisbar
Überblick über Chatterbox TTS
- Chatterbox ist eine Open-Source-Text-to-Speech-Modellfamilie von Resemble AI
- Demo-Samples, Hugging Face Space, Podonos-Bewertung und Discord-Link werden mitgeliefert
Aktuelles Release: Chatterbox Multilingual V3
- Chatterbox Multilingual V3 ist das neueste universelle mehrsprachige TTS-Modell der Chatterbox-Reihe
- V3 behält die bisherige Modellgröße von 0,5B bei und verbessert dabei Folgendes
- Sprecherähnlichkeit
- Verringerung von Halluzinationen
- Natürlichere dialogische Sprache über verschiedene Sprachen hinweg
- Wie V2 zielt es auf eine breite Sprachabdeckung ab, ist aber darauf ausgelegt, stabilere und ausdrucksstärkere Generierung zu bieten
- Es ist das empfohlene mehrsprachige Modell für Nutzer, die ein einziges Voice-Cloning-Modell für mehrere Sprachen wünschen
Single Language Pack
- Single Language Pack ist ein Paket dedizierter Fine-Tuning-Modelle für priorisierte Sprachen
- Es wird verwendet, wenn stärkeres sprachspezifisches Verhalten, strengere Qualitätskontrolle und dialektbewusste Generierung benötigt werden als beim universellen mehrsprachigen Modell
- Es werden 6 dedizierte Modelle angeboten
Chatterbox-Turbo
- Chatterbox-Turbo ist das effizienteste Modell für englische Sprachagenten mit niedriger Latenz
- Es nutzt eine vereinfachte Architektur mit 350M Parametern und ist darauf ausgelegt, hochwertige Sprache mit weniger Rechenaufwand und VRAM als frühere Modelle zu erzeugen
- Der zuvor als Engpass wirkende speech-token-to-mel decoder wurde distilliert, wodurch die Generierung von 10 Schritten auf 1 Schritt reduziert wurde
- Turbo unterstützt nativ paralinguistic tags wie
[cough],[laugh]und[chuckle], um realistische Ausdrucksformen hinzuzufügen - Der Hauptanwendungsfall sind Sprachagenten mit niedriger Latenz; laut Angaben eignet es sich aber auch für Narration und kreative Workflows
- Der kommerzielle TTS-Dienst bietet eine Ultralow-Latency-Performance von unter 200 ms und wird als geeignet für den Produktionseinsatz in Agenten, Anwendungen und interaktiven Medien beschrieben
Modellübersicht
| Modell | Größe | Sprachen | Hauptfunktionen | Geeignete Einsatzbereiche |
|---|---|---|---|---|
| Chatterbox-Turbo | 350M | English | paralinguistic tags, geringer Rechen- und VRAM-Bedarf | Zero-Shot-Sprachagenten, Produktion |
| Chatterbox-Multilingual V3 | 500M | 23+ | Verbesserte Sprecherähnlichkeit, weniger Halluzinationen, natürliche mehrsprachige Sprache | Globale Apps, Lokalisierung, sprachübergreifendes Voice Cloning |
| Single Language Pack | je 500M | 6 dedizierte Fine-Tunings | Qualitätskontrolle nach Sprache und Region | Apps mit priorisierten Sprachen und hoher Dialektsensibilität |
| Chatterbox | 500M | English | Anpassung von CFG und exaggeration | Allgemeines Zero-Shot-TTS mit kreativer Steuerung |
Installation und Ausführung
- Das Paket wird mit
pip install chatterbox-ttsinstalliert - Auch die Installation aus dem Quellcode wird unterstützt
git clone https://github.com/resemble-ai/chatterbox.git cd chatterbox pip install -e . - Die Entwicklungs- und Testumgebung ist Python 3.11 und Debian 11; die Dependency-Versionen sind in
pyproject.tomlfestgeschrieben - Im Modus zur Installation aus dem Quellcode können Code oder Dependencies angepasst werden
Verwendung
- Chatterbox-Turbo lädt das Modell mit
ChatterboxTurboTTS.from_pretrained(device="cuda"); für Voice Cloning wird der Pfad zu einem Referenzclip überaudio_prompt_pathübergeben - Das Turbo-Beispiel generiert einen Satz mit paralinguistic tags wie
[chuckle] - Für das allgemeine englische Modell wird
ChatterboxTTSverwendet, für das mehrsprachige ModellChatterboxMultilingualTTS - Multilingual V3 wird mit
ChatterboxMultilingualTTS.from_pretrained(device=device, t3_model="v3")geladen- Um den Legacy-V2-Checkpoint zu verwenden, lässt man
t3_modelweg oder übergibt"v2"
- Um den Legacy-V2-Checkpoint zu verwenden, lässt man
- Um mit einer anderen Stimme zu synthetisieren, gibt man bei
audio_prompt_patheine Referenz-Audiodatei an - Weitere Beispiele finden sich in
example_tts.pyundexample_vc.py
Unterstützte Sprachen
- Das universelle Chatterbox-Multilingual-Modell unterstützt die folgenden 23 Sprachen
- Arabisch
ar - Dänisch
da - Deutsch
de - Griechisch
el - Englisch
en - Spanisch
es - Finnisch
fi - Französisch
fr - Hebräisch
he - Hindi
hi - Italienisch
it - Japanisch
ja - Koreanisch
ko - Malaiisch
ms - Niederländisch
nl - Norwegisch
no - Polnisch
pl - Portugiesisch
pt - Russisch
ru - Schwedisch
sv - Swahili
sw - Türkisch
tr - Chinesisch
zh
- Arabisch
Tipps zur Anpassung des bisherigen Chatterbox
- Der Referenzclip sollte zum angegebenen Sprach-Tag passen
- Andernfalls kann die sprachübergreifende Ausgabe den Akzent der Sprache des Referenzclips übernehmen
- Um dies abzumildern, setzt man
cfg_weightauf0
- Die Standardwerte sind
exaggeration=0.5undcfg_weight=0.5und funktionieren für die meisten Prompts und Sprachen gut - Wenn der Referenzsprecher schnell spricht, kann eine Senkung von
cfg_weightauf etwa0.3bei der Geschwindigkeitskontrolle helfen - Für ausdrucksstarke oder dramatische Stimmen sollte man einen niedrigen
cfg_weightundexaggerationvon0.7oder höher ausprobieren- Hohe
exaggerationneigt dazu, die Sprechgeschwindigkeit zu erhöhen - Eine Reduzierung von
cfg_weightkann helfen, auf ein langsameres und bedächtigeres Tempo zu korrigieren
- Hohe
Integriertes PerTh-Watermarking
- Alle mit Chatterbox generierten Audiodateien enthalten das Perth-Wasserzeichen von Resemble AI
- Dieses Wasserzeichen ist ein nicht wahrnehmbares neuronales Wasserzeichen auf Basis der Perceptual Threshold
- Es bleibt auch nach MP3-Kompression, Audiobearbeitung und üblichen Manipulationen erhalten und behält laut Angaben nahezu 100 % Erkennungsgenauigkeit bei
- Die Extraktion des Wasserzeichens erfolgt mit
perth.PerthImplicitWatermarker()undget_watermark()- Das Ergebnis wird als kein Wasserzeichen
0.0oder Wasserzeichen vorhanden1.0ausgegeben
- Das Ergebnis wird als kein Wasserzeichen
Bewertung
- Chatterbox Turbo wurde mit Podonos bewertet, einer Plattform für reproduzierbare subjektive Sprachbewertungen
- Verglichen wurde mit konkurrierenden TTS-Systemen; der Fokus der Bewertung lag auf Gesamtpräferenz, Natürlichkeit und Ausdruckskraft
- Öffentliche Bewertungsberichte sind verfügbar
- Alle Bewertungen wurden unter identischen Bedingungen durchgeführt und sind über Podonos öffentlich zugänglich
Hinweise über die Lizenz hinaus
- Das README stellt klar: „Verwende dieses Modell nicht für schlechte Dinge“
- Die Prompts stammen laut Angaben aus im Internet frei zugänglichen Daten
1 Kommentare
Meinungen auf Hacker News
Die Demo kann man sich hier ansehen: https://resemble-ai.github.io/chatterbox_demopage/
Wenn das keine allzu stark kuratierten Beispiele sind, ist das ein ziemlich guter Release. Ich sage jedes Mal dasselbe, aber wenn man selbst damit experimentiert, lag der Flaschenhals bei Voice-AI nicht bei der Sprachsynthese, sondern bei der Transkriptionsqualität. Keine Ahnung, ob sich das in letzter Zeit geändert hat.
Ich habe noch nicht ausprobiert, dem LLM zusätzlich alternative Transkripte oder Confidence Scores mitzugeben, aber es sieht sehr danach aus, dass es auch damit gut umgehen könnte.
Außerdem braucht es eine Funktion zum Abgleich mit einer Liste häufiger Phrasen. Dass ein LLM „live feed“ oder „live here“ falsch ausspricht, ist schwer zu entschuldigen.
https://huggingface.co/nvidia/parakeet-tdt-0.6b-v2
Ich nutze es für Echtzeit-Chat und Untertitelerstellung, und auf einer 3090 verarbeitet es eine ganze TV-Folge in unter einer Minute. Whisper hatte bei mir viel zu viele Halluzinationen und war als Klassifikator nützlicher.
Hier kann man es kostenlos ausprobieren: https://huggingface.co/spaces/ResembleAI/Chatterbox
Wenn man bessere „offene“ Modelle will, klingen nach dem Kriterium zufälliges Voice Cloning MaskGCT und MegaTTS3 besser, und nach dem Kriterium Voice Conversion Seed-VC und MegaTTS3. Trainings-/Fine-Tuning-Code gibt es allerdings nur bei Seed-VC. Wenn man ohnehin ein Modell verwenden muss, das man nicht fine-tunen kann, und zufälliges Cloning braucht, das besser zur eigenen Stimme passt, sollte man eher diese verwenden als Chatterbox. Besonders MegaTTS3 von ByteDance ist stark. Die Forschenden von ByteDance sind den meisten TTS-Forschungsteams, abgesehen von ElevenLabs, weit voraus und haben viel mehr Geld, promovierte Forschende und Trainingsdaten.
Allerdings macht es aus meinem australischen Akzent einen sehr britischen, sogar nach vornehmer RP klingenden Akzent. Es klingt sehr natürlich, reproduziert aber meinen Akzent nicht. Trotzdem ist es für die meisten TTS-Anwendungsfälle überraschend klar und geeignet, sofern man nicht tatsächlich jemanden imitieren will.
Chatterbox ist großartig.
Ich habe einen API-Wrapper gebaut, der auch die Installation einfacher macht und Docker unterstützt: https://github.com/travisvn/chatterbox-tts-api/
Meiner Erfahrung nach ist es mit Abstand die beste lokal nutzbare Option für Voice Cloning.
Bitte entschuldigt, falls die folgende Frage sehr grundlegend ist. Ich habe nach einem einfachen CLI-Befehl gesucht, mit dem man statt eines Inline-
input-Objekts eine lokale Textdatei angeben kann, konnte aber nichts finden. Für einen Hinweis wäre ich dankbar.Es scheint für 2.6 gebaut zu sein.
"chatterbox-tts 0.1.2 requires torch==2.6.0, but you have torch 2.7.0+cu128 which is incompatible. chatterbox-tts 0.1.2 requires torchaudio==2.6.0, but you have torchaudio 2.7.0+cu128 which is incompatible."In allen von Chatterbox erzeugten Audiodateien soll das Perth-Watermark von Resemble AI enthalten sein.
Angeblich ist das ein nicht wahrnehmbares neuronales Watermark, das MP3-Kompression, Audiobearbeitung und gängige Manipulationen übersteht und eine Erkennungsgenauigkeit von nahezu 100 % beibehält. Wenn ich das nicht missverstanden habe, kann man das Watermark aber nicht einfach abschalten, indem man in
tts.pynur den Aufruf vonapply_watermarkauskommentiert? https://github.com/resemble-ai/chatterbox/blob/master/src/ch...Ich dachte, der Kern eines solchen Watermarks müsste irgendwie in den Modellgewichten eingebettet sein, sodass es sich nicht leicht abtrennen lässt. Wenn man ein Open-Source-Modell veröffentlicht und das Watermark nur als separaten Postprocessing-Schritt anhängt, verstehe ich nicht, warum man überhaupt ein Watermark einbaut.
Oder es könnte aus Sicht der Trainingsdaten dazu dienen, zu verhindern, dass versehentlich merkwürdige Daten hineingeraten.
--no-watermark. Ich dachte, das sei eingebaut worden, um es nachgelagerten Nutzern, die es in größere Produkte integrieren, als „Feature“ anzubieten.Die führenden Anbieter im TTS-Markt sind klar und tief verankert, daher müssen Unternehmen wie Resemble oder Play(HT) Gewichte bereitstellen und sich stark an Entwickler ausrichten [1]. Watermarking ist dafür eine Absicherung gegen Verantwortung. Ohne Watermark gäbe es vor allem von anti-AI-Medien wie 404Media große Bedenken wegen Missbrauchs [2].
[1] Das ist der richtige Ansatz. Quellcode und Gewichte bereitstellen, zusätzlich eine eigene API und Fine-Tuning anbieten, damit Entwickler keinen Aufwand haben. Nur so lässt sich ein Teil des Marktanteils zurückgewinnen.
[2] https://www.404media.co/wikipedia-pauses-ai-generated-summar...
Das ist vielleicht eine dumme Frage, aber wie niedrig darf die Mindest-Hardware sein, auf der es lauffähig ist?
Falls es hilft, die Probleme festzuhalten: Mit Python 3.13 geht es nicht, mit einer 3.12-virtuellen Umgebung über
uvließ es sich lösen. Dann hieß es, numpy 1.26.4 sei nicht vorhanden, obwohl es tatsächlich vorhanden war;uv pipsuchte nur im PyTorch-Repository. Ich musste das Flag--index-strategysetzen, damit auch andere Repositories geprüft werden. Die Version auspip install chatterbox-ttshat einen Bug im CPU-only-Modus, daher musste ich das Git-Repository klonen, und die aktuelle main-Version brauchte unter Debianprotobuf-compiler. Am Ende kam ein schwer zu interpretierender CMake-Fehler, der sich offenbar über fehlende Python-Development-Header beschwerte. Ich will doch nur Inferenz ausführen, nicht Python kompilieren; warum das nötig ist, verstehe ich nicht.Ich weiß, dass es nicht produktiv ist, sich aufzuregen, aber genau so läuft es bei mir fast jedes Mal, wenn ich ein fremdes Python-Projekt ausführen will. Ein Problem, Rückzug, noch ein Problem, Rückzug, und nach einer Stunde läuft es immer noch nicht.
Wenn das Modell gut ist, wird wahrscheinlich jemand einen Optimierungsweg finden, um es mit weniger Ressourcen laufen zu lassen.
Edit: Ich habe es auf einer alten Nvidia 2060 ausprobiert, und die maximale VRAM-Nutzung scheint bei etwa 5 GB zu liegen.
Im Standardzustand scheint man ziemlich starke Consumer-Hardware zu brauchen, damit es halbwegs schnell läuft. Allerdings scheint es viel Spielraum für Verbesserungen zu geben, und ich bin kein Experte.
[1]: https://github.com/resemble-ai/chatterbox/issues/127
Selbst wenn man es kostenlos laufen lassen kann: Wenn Mieten günstiger ist, verliert Self-Hosting seinen Sinn.
Die Funktion zur Emotionsüberzeichnung ist interessant, aber ich habe noch nichts gesehen, das so vielseitig und leicht „formbar“ ist wie ElevenLabs, wo man nur die gewünschte Stimme beschreiben muss.
SparkTTS bietet einige zusätzliche Parameter, und die Platzhalter im Code des GitHub-Projekts deuten darauf hin, dass das Modell für feinere Emotionssteuerung noch verbessert werden könnte. Schon jetzt hatte ich teilweise Erfolg damit, Hinweise in den Text einzubauen, die Rhythmus und Ton stark vorgeben, und das Ergebnis dann erneut in die Sprachsynthese zu geben, um näher an das gewünschte Resultat zu kommen. Aber es ist ein deutlich umständlicherer Prozess als bei ElevenLabs.
Bei sehr verbreiteten Akzenten war es hervorragend, aber auch andere Akzente sind ziemlich verbreitet, und es kann leicht auf einen anderen Akzent festgenagelt werden.
Zum Beispiel kamen einige schottische Aufnahmen mit australischem Akzent heraus, und bei einem ziemlich schwachen Yorkshire-Akzent war es genauso.
Sind solche Systeme inzwischen gut genug, um ein Buch überzeugend vorzulesen? Oder bricht nach ein paar Absätzen die Stimmkonsistenz zusammen?
Bei langen Texten ist es besser, sie absatzweise in Batches zu erzeugen und am Ende wieder zusammenzufügen. Außerdem hat Chatterbox, wenn das One-Shot-Sample-WAV nicht sehr sauber ist, am Ende des erzeugten Audios manchmal zufällig ein gottloses Zischgeräusch produziert. Wenn man Dantes Inferno aufnimmt, könnte das ein Bonus sein.
Man muss Freunde und Familie regelmäßig daran erinnern, Telefonanrufen stärker zu misstrauen.
Die Wahrscheinlichkeit steigt, dass der Freund, der dringend Walmart-Geschenkkarten braucht, nicht wirklich der Freund ist.
Identitätsbetrug wird so einfach und billig, dass es in naher Zukunft kaum ausbleiben kann, dass solche Betrugsanrufe überhandnehmen.
Wenn man dazwischenfragt: „Kannst du ein Gedicht über x schreiben?“, lassen sie sich zuverlässig aussortieren. Allerdings ist die Antwortverzögerung viel zu auffällig.
In einer echten Situation würde die andere Person dieses Passwort kennen und sich so authentifizieren können. In der neuen Ära, in der KI-Stimmen und sogar Videos möglich sind, muss man immer wieder einschärfen, dass dieses Passwort vor Nachahmung schützt.
Wie weit ist der aktuelle Stand der Technik bei Open-Source-mehrsprachigem TTS? Kokoro war auf Englisch großartig, aber für Französisch, Japanisch und Deutsch suche ich noch nach guten Lösungen.