mcpField
E
ez-tts

ez-tts

github.com/araa47Creative & media144 installsUpdated 16w ago
Repository

About ez-tts

ez-tts is a local text-to-speech skill based on Kyutai Pocket TTS for offline speech generation after the initial model download. It supports multiple languages, preset voices, and cloning from audio samples.

Key features

  1. 01Local text-to-speech generation
  2. 02Offline use after initial model download
  3. 03Supports six languages
  4. 04Includes preset voices
  5. 05Clones voices from audio samples

Use cases

  1. 01Generate speech audio offline
  2. 02Choose a voice for text in another language
  3. 03Synthesize speech with a preset voice
  4. 04Clone a voice from a clear speech sample

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/araa47/ez-voice --skill ez-tts

After installing, type/ez-ttsin Claude Code to confirm it loaded.

Bundled filesscripts/tts.py

Details

From the project README

ez-tts - Local Text-to-Speech

Local text-to-speech using Kyutai's Pocket TTS. Fully offline after initial model download. ~10x realtime on CPU, no GPU needed.

Supports english, french, german, portuguese, italian, spanish (pocket-tts 2.x).

Usage

# Basic English (outputs to /tmp/tts_output.wav)
uv run scripts/tts.py "Hello, this is a test"

# Specify preset voice
uv run scripts/tts.py "Hello world" --voice marius

# Other languages (default voice picked per language)
uv run scripts/tts.py "Hola mundo" --language spanish
uv run scripts/tts.py "Bonjour le monde" --language french
uv run scripts/tts.py "Ciao mondo" --language italian --voice giovanni

# Custom output file
uv run scripts/tts.py "Hello world" --out ~/my_audio.wav

# Output as OGG (for voice messages, requires ffmpeg)
uv run scripts/tts.py "Hello world" --ogg

# Voice cloning from a local sample (requires HF_TOKEN + HF access to kyutai/pocket-tts)
uv run scripts/tts.py "Hello world" --voice /path/to/sample.ogg

Languages

LanguageNotesDefault voice
english (default)Same as english_2026-04alba
english_2026-01 / english_2026-04English model variantsalba
spanish / spanish_24l_24l = higher quality, slowerlola
german / german_24ljuergen
italian / italian_24lgiovanni
portuguese / portuguese_24lrafael
french_24lFrench is 24-layer only (french alias works)estelle

Preset Voices

English: alba, marius, javert, jean, fantine, cosette, eponine, azelma, anna, vera, charles, paul, george, mary, jane, michael, eve, bill_boerst, peter_yearsley, stuart_bell, caro_davy

Other languages: giovanni (it), lola (es), juergen (de), rafael (pt), estelle (fr)

Custom cloned voices can be placed in the skill's voices/ directory and used by name (e.g., --voice myvoice if voices/myvoice.ogg exists).

Voice Cloning

Clone any voice from a clear speech sample:

uv run scripts/tts.py "Hello world" --voice ~/voices/my_voice.ogg

Requirements:

Preset catalog voices work without cloning weights; file-path cloning needs the full model.

Options

  • --voice/-v — Voice name or path to audio for cloning (default depends on --language)
  • --language/-l — Model language (default: english)
  • --out/-o — Output file path (default: /tmp/tts_output.wav)
  • --ogg — Convert output to OGG (requires ffmpeg)
  • --quiet/-q — Suppress progress messages

Environment Variables

VariablePurpose
HF_TOKENHugging Face token for model download / voice cloning

Comments

Markdown supported