5 Punkte von GN⁺ 2026-03-20 | 1 Kommentare | Auf WhatsApp teilen
  • Eine ONNX-basierte State-of-the-art-Lightweight-Text-to-Speech-(TTS)-Bibliothek, die hochwertige Sprachsynthese allein auf der CPU ausführt
  • Die Modellgröße liegt im Bereich von 15M bis 80M Parametern (25 bis 80 MB) und kann auch ohne GPU effizient ausgeführt werden
  • Bietet 8 integrierte Stimmen sowie Geschwindigkeitsanpassung, eine Textvorverarbeitungspipeline und 24-kHz-Audioausgabe
  • Direkt über Hugging Face nutzbar und mit der Python-API einfach integrierbar
  • Eine Open-Source-TTS-Lösung mit Fokus auf Deployment auf Edge-Geräten und kommerzielle Integration

Überblick über Kitten TTS

  • Kitten TTS ist eine ONNX-basierte Open-Source-TTS-Bibliothek, die hochwertige Sprachsynthese auf der CPU ohne GPU ausführt
    • Die Modellgröße beträgt 15M bis 80M Parameter und belegt auf dem Datenträger 25 bis 80 MB
    • In Version 0.8 werden Modelle mit 15M, 40M und 80M angeboten
  • Aktuell befindet sich das Projekt in der Developer-Preview-Phase, die API kann sich künftig noch ändern
  • Es wird kommerzieller Support angeboten (Integrationssupport, Custom Voices, Enterprise-Lizenz)

Hauptfunktionen

  • Extrem leichtgewichtige Architektur: startet bei 25 MB in int8 und eignet sich für das Deployment in Edge-Umgebungen
  • CPU-Optimierung: effiziente ONNX-Inferenz auch ohne GPU
  • 8 integrierte Stimmen: Bella, Jasper, Luna, Bruno, Rosie, Hugo, Kiki, Leo
  • Geschwindigkeitsanpassung: Steuerung der Sprechgeschwindigkeit über den Parameter speed
  • Textvorverarbeitungspipeline: verarbeitet Zahlen, Währungen, Einheiten usw. automatisch
  • 24-kHz-Ausgabe: erzeugt hochwertiges Audio mit standardisierter Sampling-Rate

Verfügbare Modelle

  • Es werden vier Modelle bereitgestellt
    • kitten-tts-mini (80M, 80MB)
    • kitten-tts-micro (40M, 41MB)
    • kitten-tts-nano (15M, 56MB)
    • kitten-tts-nano (int8, 15M, 25MB)
  • Einige Nutzer haben Probleme mit dem Modell kitten-tts-nano-0.8-int8 gemeldet; das Anlegen eines Issues wird empfohlen

Demo und Nutzung

  • Kann direkt im Browser über Hugging Face Spaces ausprobiert werden
  • Installation nur mit Python 3.8 oder höher und pip möglich
  • Grundlegendes Nutzungsbeispiel:
    • from kittentts import KittenTTS
    • model = KittenTTS("KittenML/kitten-tts-mini-0.8")
    • audio = model.generate("텍스트", voice="Jasper")
  • Erweiterte Funktionen: Geschwindigkeitsanpassung (speed), Speichern in Datei (generate_to_file), Abruf der verfügbaren Stimmenliste

API-Struktur

  • KittenTTS(model_name, cache_dir=None)
    • Lädt das Modell aus dem Hugging Face Hub
  • model.generate(text, voice, speed, clean_text)
    • Wandelt Text in 24-kHz-Audio um
  • model.generate_to_file(text, output_path, voice, speed, sample_rate, clean_text)
    • Speichert die synthetisierte Sprache direkt in einer Datei
  • model.available_voices
    • Gibt eine Liste der verfügbaren Stimmen zurück

Systemanforderungen

  • Betriebssysteme: Linux, macOS, Windows
  • Python: 3.8 oder höher
  • Hardware: nur CPU erforderlich, keine GPU nötig
  • Speicherplatz: je nach Modell 25 bis 80 MB
  • Die Nutzung einer virtuellen Umgebung (venv, conda usw.) wird empfohlen

Roadmap

  • Geplant sind Optimierung der Inferenz-Engine, mobiles SDK, hochwertige Modelle, mehrsprachiges TTS und der Release von KittenASR
  • Apache License 2.0

1 Kommentare

 
GN⁺ 2026-03-20
Hacker-News-Kommentare
  • Ich habe purr gebaut, einen CLI-Wrapper für Kitten TTS
    Das kitten-Paket hat eine Abhängigkeitskette kittentts → misaki[en] → spacy-curated-transformers
    Wenn man es daher direkt mit uv installiert, werden torch und NVIDIA-CUDA-Pakete (mehrere GB) mitgezogen, obwohl sie für die tatsächliche Ausführung nicht nötig sind

    • Das Installationsskript hat gut funktioniert
      Beim ersten Start bekam ich den Fehler „OSError: PortAudio library not found“, aber mit apt install libportaudio2 ließ sich das beheben
    • Vielen Dank. Die Abhängigkeitskette war kaputt und die Installation ist ständig fehlgeschlagen, aber damit hat es funktioniert
      Ich frage mich nur, ob es beim Entfernen unnötiger Abhängigkeiten irgendeinen Funktionsverlust gibt
  • Wirklich ein tolles Projekt
    Ich werde es bald selbst ausprobieren
    Ich frage mich allerdings: Warum wurde es nicht als Kommandozeilen-Binary ausgeliefert?
    Die API ist auch fast schon im Manpage-Stil gehalten, daher dürfte sich das schnell umsetzen lassen. Nur reine Neugier

    • Gute Idee. Das ist ebenfalls geplant
      Zuerst will ich Feedback zur ONNX-Version einholen und danach den Ausführungsprozess weiter vereinfachen, auch mit einer Kommandozeilen-Binary
  • Was mir an OpenClaw gefällt, ist, dass es in Discord sofort Sprachnachrichten erzeugt hat, wenn man einfach eine GitHub-URL geschickt hat
    Ich hatte innerhalb weniger Minuten Benchmarks und Audio-Beispiele
    Die Qualität ist für die Größe beeindruckend. Die Stimme ist nicht perfekt, aber durchaus ordentlich
    Auf einer Intel-9700-CPU lief das 80M-Modell mit etwa 1,5-facher Echtzeit, und auf einer 3080-GPU war es nicht schneller

    • Wir wollen noch professionellere Stimmen und DIY-Custom-Voices hinzufügen
      Im Moment haben wir eine animeartige Stimme eingebaut, um die Ausdrucksstärke zu zeigen
      Es wäre hilfreich, wenn du den Grund für die Langsamkeit auf der GPU als GitHub-Issue oder auf Discord teilen könntest. Wir werden auch Beispielcode ergänzen
    • Das ist ein guter Anwendungsfall. Ich fand die Struktur interessant, weil man damit in einer Sandbox testen und ausrollen kann, ohne sicherheitsanfällige Verknüpfungen wie E-Mail
    • Ich kann nur sagen, ich bin neidisch. Bei mir hat es deutlich länger gedauert, bis es lief
      Ich habe mich mit Python-Versionskonflikten herumgeschlagen und es auch mit Docker versucht, musste am Ende aber doch alles direkt selbst einrichten
      Es läuft jetzt gerade so, aber ich hasse Python wirklich
  • Im Moment scheint es nur US-englische Stimmen zu unterstützen
    Mich persönlich interessieren nur irische, britische und walisische Akzente. Mit US-Englisch kann ich wenig anfangen

  • TTS, das direkt auf dem Gerät läuft, ist als Barrierefreiheitswerkzeug wirklich großartig
    Die meisten Geräte verlassen sich auf Online-Dienste, aber so ein lokaler Ansatz ist viel besser

    • Danke für das Feedback. Wir werden bald weitere kleine Modelle für unterschiedliche Einsatzzwecke veröffentlichen
  • Gegenüber den früheren Modellen ist die Verbesserung viel deutlicher spürbar
    Wirklich beeindruckend. Danke fürs Teilen

    • Danke. Diese Modelle sind deutlich besser als die vorherigen
      Das aktuelle 15M-Modell ist besser als das frühere 80M-Modell, und wir wollen dieses Verbesserungstempo beibehalten
  • Ich würde in Zukunft auch gern ein japanischspezifisches Modell sehen
    Qwen3-tts unterstützt zwar Japanisch, mischt aber manchmal Chinesisch hinein, wodurch es unbrauchbar wird

    • Man könnte im Vorverarbeitungsschritt auch eine Hiragana-Konvertierung ausprobieren
      Allerdings könnten dabei Informationen zur Tonhöhe verloren gehen (z. B. 飴 vs 雨)
    • Das nächste Modell, geplant in etwa 3 Wochen, wird Japanisch unterstützen
      Wenn du deinen Anwendungsfall teilst, würden wir das gern in die Qualitätsverbesserung einfließen lassen
  • Die Leistung war für die Modellgröße beeindruckend
    Es gab allerdings Probleme bei der Aussprache von Zahlen
    Ich habe „Startup finished in 135 ms.“ ausprobiert, und die Zahl klang wie Rauschen
    Mit „one hundred and thirty five seconds“ war es immerhin einigermaßen brauchbar

    • Dieses Problem wird gerade auch auf Modellebene behoben
      Bis dahin lässt es sich durch zusätzliche Textvorverarbeitung lösen
      Die meisten TTS-Modelle gehen damit um, indem sie Zahlen und Einheiten in ausgeschriebene Zeichenfolgen umwandeln
    • Danke für das Feedback. Mit kundenspezifischer Vorverarbeitung lassen sich 95 % der Fälle lösen
      Im nächsten Release wird das auch auf Modellebene korrigiert
    • Zur Info: Das richtige Wort ist „pronounce“ bzw. „pronouncing“. „pronounciating“ ist ein Tippfehler
  • Es wäre schön, wenn zusammen mit den vier Modellen auch Audio-Beispiele zum Vergleich gezeigt würden
    Ein Beispiel, in dem jeder dasselbe Satz vorliest, wäre leichter zu verstehen

    • Guter Vorschlag. Ich füge das sofort hinzu
      In der Zwischenzeit kannst du die Modelle direkt in der Hugging Face Demo ausprobieren
  • Ich frage mich, ob das Open Source ist oder eher ein Open-Weights-Modell

    • Ja, es ist Open Source
      Bis dieses Wochenende werden wir auch noch einen MIT-lizenzierten Phonemizer hinzufügen, sodass es frei nutzbar sein wird