KittenTTS is an open-source text-to-speech library (Python). Its flagship KittenTTS 2 clones a voice from about 5 seconds of audio, controls expression, speaks 20 languages, and runs in real time on a CPU.
- 0.8.1
- Published at
- Feb 24, 2026
- 16,194
- Stars
- 2,115,668
- Download
- Synced at
- 8d ago
The author no longer ships through GitHub Releases, but the repository is still active (last push 12d ago). Get the latest version from:
Latest release
0.8.1Feb 24, 2026, 08:14 PMREADME
Project Overview
KittenTTS is an open-source text-to-speech library. The flagship model, KittenTTS 2, is a 1.7B-parameter 1-bit speech language model that clones any speaker from about 5 seconds of reference audio and supports emotion tags and emphasis control. It also keeps lightweight ONNX models from 15M to 80M parameters that run on a CPU with no GPU, synthesizing 24 kHz speech in real time.
Voice cloning and lightweight deployment in one library that speaks in real time on a CPU.
| Item | Value |
|---|---|
| Platform | Linux, macOS, Windows (CPU or GPU) |
| Language | Python |
| License | Apache-2.0 |
| Output rate | 24 kHz |
Key Features
- Voice cloning: replicate any speaker from 5-30 seconds of audio, no fine-tuning
- Built-in voices: 47 presets, including 9 non-English voices
- Multilingual: 20 languages including Chinese, English, Japanese, Korean, French, and German
- Expression control: emotion tags, event tags, and emphasis brackets
- Decoding presets: trade stability against expressiveness per request
- Long-form text: sentence-aware chunking for article-level reading
- Text preprocessing: numbers, currencies, dates, and abbreviations expanded automatically
- Lightweight models: 15M-80M ONNX models run without a GPU
Target Audience
- Developers adding speech narration to apps
- Content creators cloning specific voices
- Engineers synthesizing speech on low-end or edge devices
- Teams producing audiobooks and voiceovers
Quick Start
- Install:
pip install kittenml- Generate speech:
from kittenml import KittenTTS
m = KittenTTS('KittenML/kitten-tts-2')
audio = m.generate('Hello, world', voice='Bruno')- To clone a voice, pass reference instead of voice with your recording:
audio = m.generate('This is a cloned voice', reference='my_voice.wav')- Lightweight models load through the same KittenTTS constructor with no extra install
Core Advantages
- No GPU needed: lightweight models run on CPU, and the flagship also has a CPU path
- Low cloning barrier: a few seconds of audio replicates a voice without training
- Minimal install: one package, weights download on demand, no Hugging Face login
System Requirements
| Item | Requirement |
|---|---|
| OS | Linux, macOS, Windows |
| Runtime | Python 3.9+ |
| Hardware | GPU with about 8 GB VRAM, or a CPU with about 6 GB RAM |
Notes
- Cloning input: reference audio should be 5-30 seconds of a single speaker; mixed voices reduce similarity
- Weight choice: default weights are 947 MiB lossless;
weights=emb4halves the size at a small quality cost - Legacy voices: the eight voices from 0.8 remain in the new model, so older code keeps working