Vergleich von Open-Source-Text-to-Speech-Modellen: Kokoro, SparkTTS, F5-TTS und Sesame CSM
Große Sprachmodelle zählen aus gutem Grund zu den sichtbarsten und wirkungsvollsten Ergebnissen des KI-Zeitalters. Sie haben eine Vielzahl an Anwendungen in unterschiedlichsten Bereichen ermöglicht, darunter informative Chatbots, leistungsfähige Agenten und breit einsetzbare Textgenerierung. Deshalb wird intensiv daran gearbeitet, weitere Modalitäten mit den Stärken dieser Modelle zu verbinden. Von Bildverständnis über Funktionsaufrufe bis hin zur Sprachsynthese besteht das Ziel darin, diese Systeme vielseitiger und praxisnäher zu machen.
Ein besonders spannender Anwendungsfall für große Sprachmodelle ist die Erstellung längerer Texte für audioorientierte Inhalte wie Podcasts, Skripte oder sogar vollständige Geschichten. Daraus ergibt sich unmittelbar eine interessante Frage: Kann KI Sprachaufnahmen erzeugen, die wirklich menschlich klingen?
In diesem Artikel betrachten wir vier der stärksten Open-Source-Modelle für Text-to-Speech (TTS). Genauer gesagt vergleichen wir, wie gut F5-TTS, Kokoro, SparkTTS und das neu veröffentlichte Sesame beim Generieren eines gesprochenen Absatzes abschneiden. Dabei bewerten wir qualitativ, wie exakt die Sprache dem Eingabetext folgt und wie gut Satzzeichen sowie Pausen umgesetzt werden. Diese Tests sollen eine greifbare Einschätzung liefern, welches Modell sich für welchen Einsatzbereich am besten eignet. Zusätzlich weisen wir darauf hin, welche Modelle schneller arbeiten als andere, auch wenn nahezu alle ausgesprochen schnell sind.
Kokoro
Kokoro ist das erste TTS-Modell, das in diesem Vergleich behandelt wird. Über Kokoro gibt es nur wenige Hintergrundinformationen, da bislang keine wissenschaftliche Veröffentlichung dazu erschienen ist. Der Großteil der bekannten Details stammt aus der Hugging-Face-Model-Card, aus der hervorgeht, dass die Architektur auf Ideen von StyleTTS2 basiert.
Kokoro ist ein sehr leichtgewichtiges TTS-Modell, das unter der Apache-Lizenz veröffentlicht wurde. Mit lediglich 82 Millionen Parametern lässt es sich in ganz unterschiedlichen Umgebungen einsetzen, darunter Produktivsysteme, Edge-Szenarien und private Projekte. Das Modell unterstützt mehrere Sprachen und kann Sprache in einer breiten Auswahl davon erzeugen, darunter Japanisch, Hindi und Thai. Eine auffällige Einschränkung besteht darin, dass es keine native Stimmenklonung in der Form bietet, wie es einige der anderen hier vorgestellten Modelle tun. Stattdessen stellt es eine Sammlung kuratierter Stimmen bereit, die intern als tensorbasierte Sprachoptionen abgebildet sind und vom Nutzer ausgewählt werden können. Diese Stimmen sind sorgfältig aufbereitet und liefern gute Ergebnisse.
Kokoro wurde vollständig mit Audio aus der Public Domain trainiert, das unter freizügigen Lizenzen wie Apache und MIT verfügbar war. Interessant ist dabei, dass der gesamte Trainingsdatensatz weniger als eintausend Stunden Audiomaterial umfasste. Aufgrund dieses vergleichsweise kompakten Datensatzes soll das Modell für rund 1.000 USD auf NVIDIA-A100-GPUs trainiert worden sein, was in einer Zeit äußerst kostspieliger Sprach-, Bild- und Videomodelle bemerkenswert ist.
Kokoro TTS auf einer GPU-Instanz ausführen
Kokoro TTS ist in Python so effizient, dass es in Kombination mit einer leistungsstarken cloudbasierten GPU-Instanz Sprache schneller erzeugen kann, als sie tatsächlich gesprochen werden kann. Um das zu testen, kann eine GPU-fähige virtuelle Maschine gestartet und eine Umgebung mit Zugriff auf JupyterLab vorbereitet werden. Eine detailliertere Einrichtungsanleitung kann bei Bedarf separat herangezogen werden.
Sobald die Instanz bereitsteht, sollte zunächst das Repository auf die Maschine geklont werden. Anschließend werden die benötigten Pakete innerhalb einer virtuellen Umgebung installiert und die im Projekt enthaltene webbasierte GUI gestartet, damit die TTS-Modelle bereitgestellt werden können. Folgende Befehle können dafür im Terminal verwendet werden:
git clone https://github.com/hexgrad/kokoro
cd kokoro
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cd demo/
python app.py --share
Dadurch wird eine auf Gradio basierende Webanwendung gestartet, die die Kokoro-TTS-Modelle bereitstellt. Dort kann aus einer großen Auswahl an Stimmen für die Sprachgenerierung gewählt werden, darunter männliche und weibliche Varianten. Zusätzlich enthält die Oberfläche Beispieldaten-Generatoren, etwa einen Zufallszitat-Generator sowie Buchzitat-Generatoren auf Basis von Frankenstein und The Great Gatsby. Es lohnt sich, mit den verfügbaren Stimmen zu experimentieren, um ihre Unterschiede direkt zu vergleichen.
In den Tests erzeugte Kokoro ein 30 Sekunden langes Sprachbeispiel auf Grundlage des dritten Absatzes dieses Artikels in weniger als einer Sekunde. Die erzeugte Audioqualität war hoch, Verzerrungen waren kaum wahrnehmbar, und die Ausgabe konnte entweder vollständig auf einmal oder als Stream erstellt werden. Das Modell ging sehr sicher mit Satzzeichen und Pausen um und klang überzeugend menschlich. Der größte Nachteil bestand darin, dass die Sprachmelodie weiterhin etwas steif und emotionsarm wirkte, wodurch hörbar blieb, dass das Audio von einer KI erzeugt worden war.
Kokoro erweist sich damit als leistungsstarkes TTS-System, auch wenn es nicht alle Funktionen mitbringt, die andere Modelle in diesem Vergleich anbieten. Insbesondere kann es keine Stimme direkt aus einer Audiodatei klonen. Das nächste Modell, F5-TTS, überzeugt genau in diesem Bereich besonders stark.
SparkTTS
Das nächste TTS-System in diesem Vergleich ist SparkTTS. Spark basiert auf einem neuen Ansatz namens BiCodec, einem Single-Stream-Sprachcodec, der Sprache in zwei sich ergänzende Tokentypen aufteilt: semantische Tokens mit niedriger Bitrate für den sprachlichen Inhalt und globale Tokens fester Länge für die Sprecheridentität. Im Gegensatz zu traditionelleren Verfahren soll diese binäre Kodierung dazu beitragen, dass die erzeugte Sprache dem Referenzsample noch näher kommt.
Diese getrennte Repräsentation ermöglicht zusammen mit dem großen Sprachmodell Qwen2.5 und einer Chain-of-Thought-Strategie sowohl eine grobe Steuerung, etwa von Geschlecht und Sprechstil, als auch feinere Eingriffe wie exakte Tonhöhenwerte oder Sprechgeschwindigkeit. Den veröffentlichten Experimenten zufolge erreicht Spark-TTS modernste Zero-Shot-Stimmenklonung und erlaubt zugleich stark anpassbare Sprachgenerierung, die über die Grenzen referenzbasierter Synthese hinausgeht. (Source)
SparkTTS ausführen
Wie Kokoro bringt auch SparkTTS eine praktische Web-Demo mit, die das Testen erleichtert. Mit den folgenden Befehlen lässt sich die Umgebung vorbereiten, die vortrainierten Modelldateien herunterladen und die Weboberfläche starten:
git clone https://github.com/SparkAudio/Spark-TTS
cd Spark-TTS/
pip install -r requirements.txt
mkdir pretrained_models
apt-get install git-lfs
cd pretrained_models/
git-lfs clone https://huggingface.co/SparkAudio/Spark-TTS-0.5B
cd ..
python webui.py –device 0
Nachdem die Web-Demo gestartet wurde, kann mit eigenen Audiosamples getestet werden. Besonders sinnvoll ist es, eine kurze Sprachaufnahme von ungefähr zehn Sekunden mit der eigenen Stimme aufzunehmen, um die Leistung des Modells direkt zu bewerten. In diesen Experimenten schnitt Spark in fast allen Kategorien schwächer als Kokoro ab. Die Generierung dauerte häufig mehr als zehn Sekunden, die Stimmenklonung war unzuverlässig und fügte oft unerwartete regionale Akzente hinzu, und auch Satzzeichen sowie Pausen wurden nur unzureichend umgesetzt, was häufig zu langen Lücken zwischen Aussagen führte. Obwohl Spark durch seine neuartige Architektur viel Potenzial zeigt, scheint diese Version derzeit noch nicht an andere State-of-the-Art-TTS-Modelle heranzureichen.
F5-TTS
Als Nächstes folgt F5-TTS, das sich unter den hier betrachteten Modellen als Favorit hervorhebt. F5 baut auf dem früheren Modell E2 auf, das bereits ein leistungsfähiges TTS-System war. Vereinfacht gesagt sind beide als vollständig nicht-autoregressive Text-to-Speech-Systeme konzipiert, die auf Flow Matching mit einem Diffusion Transformer (DiT) basieren. Anstatt auf komplexe Komponenten wie ein Dauermodell, einen Text-Encoder oder eine Phonem-Ausrichtung angewiesen zu sein, wird der Texteingang mit Fülltokens aufgefüllt, bis er die Länge der Eingangssprache erreicht, und anschließend wird per Denoising das Audio erzeugt. (Source)
F5 erweitert dieses Design um eine zusätzliche Anfangsphase, in der die Eingabe zunächst mit ConvNeXt modelliert und die Textrepräsentation verfeinert wird. Dadurch lässt sich die Ausrichtung zwischen Text und Sprache verbessern, bevor die Denoising-Phase zur Sprachgenerierung einsetzt.
Während der Inferenz wird der Diffusionsprozess gewissermaßen umgekehrt. Um Sprache aus dem Eingabetext zu erzeugen, startet das Modell mit einem Audioprompt und dessen Mel-Spektrogramm-Merkmalen sowie einer Transkription und einem Textprompt, der den gewünschten Inhalt beschreibt. Der Audioprompt liefert die Eigenschaften der Sprecherstimme, während der Textprompt vorgibt, was gesprochen werden soll. Die endgültige Sprache wird anschließend per Diffusion erzeugt, wobei sowohl die Tokens als auch der Audioprompt als konditionierende Signale dienen.
F5-TTS auf einer GPU-Instanz ausführen
Die Ausführung von F5-TTS auf einer GPU-basierten virtuellen Maschine folgt einem ähnlichen Ablauf wie bei den zuvor genannten Modellen. Es sind einige zusätzliche Einrichtungsschritte nötig, da weitere Pakete installiert werden müssen, diese bleiben jedoch überschaubar. Folgende Befehle können im Terminal innerhalb des gewünschten Repository-Verzeichnisses verwendet werden:
git clone https://github.com/SWivid/F5-TTS.git
cd F5-TTS
Pip install –upgrade pip
Pip install ffmpeg-python
Apt-get install ffmpeg
pip install -e .
F5-tts_infer-gradio
Dadurch wird die F5-Gradio-Inferenzoberfläche gestartet. Es ist sinnvoll, alle verfügbaren Demos auszuprobieren, darunter einfache Sprachgenerierung, Mehrsprecher-Sprachgenerierung und Voice-Chatting. Besonders die Mehrsprecher-Demo wirkt sehr beeindruckend und interessant. Bis vor Kurzem konnte dieses Modell in genau diesem Bereich durchaus als das stärkste gelten.
Nun folgt das TTS-Modell, das zuletzt besonders viel Aufmerksamkeit im Internet erhalten hat: Sesame CSM.
Sesame CSM
Sesame Conversational Speech Model (CSM) ist ein multimodales System, das sowohl mit geschriebenem Text als auch mit gesprochener Sprache arbeitet. Es verarbeitet Residual-Vector-Quantization-Tokens (RVQ-Tokens), die semantische und akustische Informationen enthalten, welche während des Trainings erlernt wurden. Die Architektur ist auf der Ebene des nullten Codebooks in zwei Transformer-Komponenten aufgeteilt. Ein multimodales Backbone verarbeitet die kombinierte Text-Audio-Eingabe und sagt das nullte Codebook voraus, während ein separater Audio-Decoder die Sprache rekonstruiert, indem er die verbleibenden N − 1 Codebooks über individuelle lineare Heads modelliert. Da dieser Decoder deutlich kleiner als das Backbone ist, kann CSM Sprache sehr schnell generieren und gleichzeitig als End-to-End-Modell arbeiten.
Die offizielle CSM-Website bietet derzeit eine der beeindruckendsten Text-to-Speech-Demonstrationen im Web. Das Modell kombiniert das umfangreiche Wissen eines Sprachmodells mit einer bemerkenswert natürlichen Sprechweise. Es empfiehlt sich, die öffentliche Demo auszuprobieren, bevor CSM in einer GPU-Cloud-Umgebung betrieben wird, da die gehostete Version derzeit offenbar stärker optimiert ist als die verfügbare Open-Source-Variante.
Sesame CSM auf einer GPU-Instanz ausführen
Es empfiehlt sich, CSM direkt über Python auszuführen, um die möglichen Ausgaben flexibler anpassen zu können. Eine Möglichkeit dafür ist die Nutzung eines Jupyter Notebooks, alternativ kann ebenso ein gewöhnliches Python-Skript verwendet werden. Der Einfachheit halber enthält das Projekt bereits ein Demo-Skript. Die benötigten Pakete können installiert und der Zugriff auf die Modelle bei Hugging Face mit folgenden Befehlen vorbereitet werden:
git clone git@github.com:SesameAILabs/csm.git
cd csm
python3.10 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
export NO_TORCH_COMPILE=1
# You will need access to CSM-1B and Llama-3.2-1B
huggingface-cli login
An dieser Stelle wirst du aufgefordert, deinen individuellen oder schreibgeschützten API-Key einzugeben. Danach muss der Zugriff auf die Modellseiten von CSM-1B und Llama-3.2-1B beantragt werden. Sobald das erledigt ist, kann das Skript entweder direkt ausgeführt oder mit einem Editor wie vim oder nano angepasst werden. Empfehlenswert ist es, das Skript zunächst unverändert zu testen.
python run_csm.py
Dadurch wird eine Datei mit dem Namen full_conversation.wav erzeugt, die den Audiomitschnitt einer Unterhaltung zwischen zwei Sprechern enthält. Diese Sprecher können durch eigene Audiosamples ersetzt werden, um Stimmenklonung durchzuführen. In diesen Experimenten war dies das stärkste aktuell verfügbare Mehrsprecher-Modell. Dennoch erreichte es bei längeren Generierungen weder qualitativ noch bei der Word Error Rate das Niveau von F5.
Das beste Modell für TTS auswählen
Die Wahl des besten TTS-Modells scheint im Wesentlichen von drei Hauptfaktoren abzuhängen: der Minimierung der Word Error Rate (WER), der Fähigkeit zur Stimmenklonung und der akustischen Tokenisierung nonverbaler Stimmsignale sowie tonaler Nuancen.
Im ersten Punkt stachen Kokoro und F5 in den Experimenten klar hervor. Die Word Error Rate blieb in sämtlichen Tests und auch in den bereitgestellten Demos sehr niedrig. Wenn Stimmenklonung keine Anforderung ist, stellt Kokoro die empfohlene Wahl dar.
Bei der Stimmenklonung sind F5 und Spark beides starke Modelle. F5 wird Spark vorgezogen, weil die Qualität der erzeugten Sprache deutlich besser ausfällt. Dennoch liefern beide Modelle gute Ergebnisse beim Klonen von Stimmen.
Schließlich ist Sesame CSM der klare Spitzenreiter, wenn es um die akustische Tokenisierung nonverbaler Stimmsignale und feiner tonaler Ausdrucksformen geht. Das Potenzial von CSM mit weiterem Fine-Tuning, wie es in der Online-Demo zu sehen ist, ist wirklich beeindruckend. Aktuell erreicht die verfügbare Open-Source-Version jedoch noch nicht das Niveau von F5 in Bezug auf Stimmenklonung und allgemeine Audioqualität.
Alle in diesem Vergleich behandelten Modelle sind hervorragende TTS-Systeme. Jedes von ihnen hat seine eigenen Stärken in unterschiedlichen Bereichen, doch insgesamt bleibt F5 die überzeugendste Empfehlung als bestes TTS-Modell dieser Gruppe.


