StackMap
Subscribe
Explore / pocket-tts
kyutai-labs

pocket-tts

Kyutai's 100M-parameter CPU-only TTS — streaming audio in ~200ms, ~6× real-time on two laptop cores, voice cloning, six languages. pip install and it talks.

7,600 776 Python MITupdated 23 days ago
Curator's take

This is the TTS you add when the rest of your stack is already local: no GPU, no API key, ~200ms to first audio on two CPU cores, and a port ecosystem (WASM, MLX, ONNX, C++, Home Assistant) that means it runs basically anywhere — the natural voice for an Ollama-powered assistant. When NOT: you need studio-grade expressiveness or high-concurrency serving — it's a batch-of-1, small-model design, not a production voice API; and the polished voice catalog is English-heaviest. Voice cloning needs 20s of audio — use it with consent.

Mapped by ShipWithAI editors · links verified
README.md

Pocket TTS

pocket-tts-logo-v2-transparent

A lightweight text-to-speech (TTS) application designed to run efficiently on CPUs. Forget about the hassle of using GPUs and web APIs serving TTS models. With Kyutai's Pocket TTS, generating audio is just a pip install and a function call away.

Supports Python 3.10, 3.11, 3.12, 3.13 and 3.14. Requires PyTorch 2.5+. Does not require the gpu version of PyTorch.

🔊 Demo | 🐱‍💻GitHub Repository | 🤗 Hugging Face Model Card | ⚙️ Tech report | 📄 Paper | 📚 Documentation

Main takeaways

  • Runs on CPU
  • Small model size, 100M parameters
  • Audio streaming
  • Low latency, ~200ms to get the first audio chunk
  • Faster than real-time, ~6x real-time on a CPU of MacBook Air M4
  • Uses only 2 CPU cores
  • Python API and CLI
  • Voice cloning
  • Multi-language support: english, french, german, portuguese, italian, spanish
  • Can handle infinitely long text inputs
  • Can run on client-side in the browser

Additional languages may be added in the future.

Trying it from the website, without installing anything

Navigate to the Kyutai website to try it out directly in your browser. You can input text, select different voices, and generate speech without any installation.

Trying it with the CLI

The generate command

You can use pocket-tts directly from the command line. We recommend using uv as it installs any dependencies on the fly in an isolated environment (uv installation instructions here). You can also use pip install pocket-tts to install it manually.

This will generate a wav file ./tts_output.wav saying the default text with the default voice, and display some speed statistics.

uvx pocket-tts generate
# or if you installed it manually with pip:
pocket-tts generate

Modify the voice with --voice and the text with --text. We provide a small catalog of voices. Choose a pretrained language model with --language when running generate, export-voice, or serve (default: english). Non-english languages have also biggers 24 layers variants that are higher quality but slower. You can select them by using for example --language italian_24l. The --config option accepts only a local YAML path for custom weights.

You can take a look at this page which details the licenses for each voice.

Continue your stack

What teams reach for next — and why each earns a place beside pocket-tts. Ranked by curator confidence.