KittenML

KittenTTS

KittenML

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 PM
Downloads slow? Switch the source anytime above

README

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

  1. Install:
pip install kittenml
  1. Generate speech:
from kittenml import KittenTTS

m = KittenTTS('KittenML/kitten-tts-2')
audio = m.generate('Hello, world', voice='Bruno')
  1. To clone a voice, pass reference instead of voice with your recording:
audio = m.generate('This is a cloned voice', reference='my_voice.wav')
  1. 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=emb4 halves 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

Release history

Sort