Repolode
KittenML

KittenML/KittenTTS

Open-source text-to-speech library whose KittenTTS 2 model clones voices from 5 seconds of audio and runs in real time on a CPU.

Open-source alternative to:ElevenLabs

Stars
16,193
Forks
967
Open issues
138
Last commit
4 days ago

What is it?

Kitten TTS is a Python text-to-speech library built around KittenTTS 2, a 1.7B-parameter 1-bit speech language model. It supports in-context voice cloning from 5-30 seconds of a speaker's audio, 47 built-in voices, 20 languages, and optional emotion, vocal-event and emphasis tags that steer delivery.

The library also includes lightweight ONNX models ranging from 15M to 80M parameters that run on CPU without a GPU, all loaded through the same KittenTTS constructor. Long input is split on sentence boundaries and joined seamlessly, and a streaming generator yields audio chunk by chunk.

Inference can be done with the standard Python package, a C++ backend built on llama.cpp, or vLLM on NVIDIA GPUs. Model weights are licensed separately from the Apache-2.0 code and carry their own terms.

Key features

  • 01Voice cloning from 5-30 seconds of reference audio, with no fine-tuning
  • 0247 built-in voices across 20 languages
  • 03Emotion tags, inline vocal events and emphasis spans for expressive speech
  • 04Lightweight ONNX models that run on CPU without a GPU
  • 05Sentence-aware chunking for long text and a streaming generator
  • 06Optional C++ backend and vLLM support for faster inference

Use cases

  • Adding offline speech output to a CPU-only application or edge device
  • Generating narration for long scripts or articles
  • Prototyping a custom voice from a short sample of a speaker
  • Building low-latency voice playback that starts before synthesis finishes

Quick start

  1. 1

    Install the package with pip

    pip install kittenml
  2. 2

    Generate speech with KittenTTS 2 and save it to a WAV file

    python -c "from kittenml import KittenTTS; import soundfile as sf; m = KittenTTS('KittenML/kitten-tts-2'); audio = m.generate('One day, a little girl named Lily found a needle in her room.', voice='Bruno'); sf.write('output.wav', audio, m.sample_rate)"

Things to know

  • KittenTTS 2 weights are under the separate Stellon Labs Community License, not Apache-2.0, so check its terms before commercial use.
  • Expression control is in beta and its effect varies by voice and sentence.
  • Streaming is chunk-level, so the first audio chunk still has a real generation delay.
  • The C++ CPU path is in beta.

Topics

FAQ

What is KittenTTS?
Open-source text-to-speech library whose KittenTTS 2 model clones voices from 5 seconds of audio and runs in real time on a CPU. Kitten TTS is a Python text-to-speech library built around KittenTTS 2, a 1.7B-parameter 1-bit speech language model. It supports in-context voice cloning from 5-30 seconds of a speaker's audio, 47 built-in voices, 20 languages, and optional emotion, vocal-event and emphasis tags that steer delivery.
Is KittenTTS free to use? What license does it have?
KittenTTS is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is KittenTTS still maintained?
Actively maintained. The last commit to KittenTTS was on Oct 16, 2026.
What can I use KittenTTS for?
Adding offline speech output to a CPU-only application or edge device Generating narration for long scripts or articles Prototyping a custom voice from a short sample of a speaker Building low-latency voice playback that starts before synthesis finishes
How do I install KittenTTS?
Install the package with pip: pip install kittenml Generate speech with KittenTTS 2 and save it to a WAV file: python -c "from kittenml import KittenTTS; import soundfile as sf; m = KittenTTS('KittenML/kitten-tts-2'); audio = m.generate('One day, a little girl named Lily found a needle in her room.', voice='Bruno'); sf.write('output.wav', audio, m.sample_rate)"
Where can I get KittenTTS?
The source code and installation instructions are on GitHub: https://github.com/KittenML/KittenTTS

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects