Skip to main content

Speaky

Text‑to‑Speech with Voice Cloning made easy with Chatterbox TTS

Generate natural‑sounding speech from plain text—locally on your GPU/CPU using a single, ergonomic command‑line tool.

Features

  • Voice cloning from a short audio prompt (optional)
  • Built‑in voices accessible via -v NAME (or -v ALL for every voice)
  • Emotion control via exaggeration & classifier‑free guidance
  • Device auto‑detection — Apple Silicon (mps), CUDA GPUs, or CPU
  • Smart sentence chunking (NLTK) to handle long passages gracefully
  • Trailing‑silence trimming so outputs end crisply
  • Glitch / clipping detection heuristic for cleaner audio
  • Verification via transcription (Distil‑Whisper) to catch missing words

🚀 Quickstart (CLI)

Run without installation:

uvx speak "Do or do not. There is no try."  --voice vader

or install first:

uv tool install speaky

speak --file speech.txt  --voice attenborough

Run speak --help for the full list of options.

🐍 Python API

from pathlib import Path
from speaky.core import batch_synthesize

batch_synthesize(
    inputs=[("Hello there!", "greeting")],  # (text, stem)
    output_dir=Path("out"),
)

Examples

https://github.com/user-attachments/assets/f1956d1a-c407-4944-b9f8-a5402f71cbd8

https://github.com/user-attachments/assets/8e6a81df-773c-4d48-876b-4cced0b4f643

https://github.com/user-attachments/assets/2c2884e2-759a-4b1d-884c-c1d5eed9ddf0

https://github.com/user-attachments/assets/2d70a497-b156-40d8-907f-0beb33ea68d6

https://github.com/user-attachments/assets/0ab6195d-ae9e-420e-bde2-719dad772563

https://github.com/user-attachments/assets/aeabd1d9-3839-4190-8460-8ad2e364dd02

Credit

This project is built on top of chatterbox open-source TTS.

Development

Quick Commands

  • make init create the environment and install dependencies
  • make help see available commands
  • make af format code
  • make lint run linter
  • make typecheck run type checker
  • make test run tests
  • make check run all checks (format, lint, typecheck, test)
  • uv add pkg add a python dependency
  • uv run -- python foo/bar.py run arbitrary command in python env

Code Conventions

  • Always run make checku after making changes.

Testing

  • Use pytest (no test classes).
  • Always set match= in pytest.raises.
  • Prefer monkeypatch over other mocks.
  • Mirror the source-tree layout in tests/.

Exceptions

  • Catch only specific exceptions—never blanket except: blocks.
  • Don't raise bare Exception.

Python

  • Manage env/deps with uv (uv add|remove, uv run -- ...).
  • No logging config or side-effects at import time.
  • Keep interfaces (CLI, web, etc.) thin; put logic elsewhere.
  • Use typer for CLI interfaces, fastapi for web interfaces, and pydantic for data models.

Release files for speaky 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for speaky 0.1.1
File Size Uploaded
speaky-0.1.1.tar.gz 4.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for speaky 0.1.1
File Interpreter ABI Platform
speaky-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 6.0 MB

Release files / speaky-0.1.1.tar.gz

Download URL speaky-0.1.1.tar.gz
Size 4.3 MB
Tags Source
SHA-256 checksum
How to use checksums
e16a5327d7f3d826598fe74eaabacc0316b2439c2d1ca22c9c764b2e2db40ca1
BLAKE2b-256 checksum
How to use checksums
d0ce74d5356d8773384f7acbceeb437b8296017a8da226799db916125704704a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release files / speaky-0.1.1-py3-none-any.whl

Download URL speaky-0.1.1-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e9fa6392ab6d396c6feace2b75ee2b1fd3c4c4bfd375e3875227405b5b3e2cb1
BLAKE2b-256 checksum
How to use checksums
e52808e2119d60aa2e423b053069ec7ec17d62fb30b18cd7491e0633bac65807
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page