CLI · open sourcelive

local-tts

Make your coding agent talk to you with simple, offline and optional online text-to-speech.

  • 6stars
  • 2forks
  • v2.0.1latest release
  • MITlicense
  • Python 3.9+requires
  • 2026-09-21last push
  • v2.0.1
  • Linux
  • macOS
  • Windows

A tiny command-line text-to-speech tool that makes your coding agent talk to you. It shells out to Kokoro-82M by default—eight languages from one small model—so speech is generated locally and offline.

It supports optional online speech and keeps language preferences in one config file rather than one chat, so every agent on the machine speaks the same way.

Highlights

  • Offline by defaultKokoro-82M speaks eight languages from one small model. No API key, nothing leaves the machine.
  • Zero runtime dependenciesThe package installs only itself. Standard library plus binaries you already have.
  • Tone tagsInline <calm>, <urgent>, <whisper> and more change the delivery per sentence.
  • Starts in a secondFragments play as soon as the first is synthesised instead of after the whole passage.
  • Any voice via RVCBring a trained .pth and every agent on the machine speaks in that voice, per language.
  • Six backendskokoro, piper, llamacpp, any OpenAI-compatible endpoint, RVC, or any command that writes a WAV.
  • Built for coding agentsShips skills and hooks for Claude Code and friends, so the agent installs and drives it.
  • Language memoryRemembers which backend and voice to use for each language.

Delivery: pacing and pauses

  • Backends that need short prompts get text split at sentence boundaries, synthesized piece by piece, and joined into a single file.

    • Backends that manage long input themselves receive it whole.
  • The pause is padded onto the fragment itself rather than inserted while joining, so streamed playback and the saved file are the same sound.

  • Fragments come from tone changes now, not from language: a borrowed word is handled by the pronunciation dictionary's IPA entries, inside the same utterance.

    • There is no edge to trim there at all.

Providers

  • The others are there because each one wins at something the default does not do.

    • A voice you trained yourself.
    • A language kokoro reads badly.
    • A hosted endpoint, or a binary you already have.
  • Piper runs neural ONNX voices on the CPU at roughly 7x realtime, with good models for ~40 languages.

    • German, Dutch, Polish, Russian, Turkish and the rest live here, not there.
  • The openai provider works with OpenAI itself and with local servers such as openedai-speech, Kokoro-FastAPI, or LocalAI.

Install

pipx install agents-local-tts
tts "Hello from my terminal."