Skip to main content

Local TTS router — multi-backend (MLX, VibeVoice), DashScope + OpenAI compatible

Project description

tts-router

Local TTS router for Apple Silicon — multi-backend, OpenAI-compatible API.

Pull models, serve an API, or synthesize speech directly from the command line.

Install

# Recommended (isolated, no venv needed)
uvx --prerelease=allow tts-router list

# Or install globally
pip install tts-router

Note: uvx requires --prerelease=allow because mlx-audio currently depends on a pre-release version of transformers.

Requires Python 3.11+ and macOS with Apple Silicon (M1/M2/M3/M4).

Quick Start

# List available models
tts-router list

# Download a model
tts-router pull qwen3-tts

# Synthesize speech
tts-router say "Hello world" -o hello.wav

# Start the API server (OpenAI-compatible)
tts-router serve

Commands

Command Description
tts-router list List available models and download status
tts-router pull <model> Download model weights from HuggingFace
tts-router say <text> Synthesize speech from the command line
tts-router serve Start the TTS API server with web playground

Models

Supports multiple TTS models through a unified interface:

  • Qwen3-TTS — Multi-speaker with emotion control and voice cloning (MLX)
  • Kokoro — Fast, lightweight TTS with many voices (MLX)
  • Dia — Dialogue generation with speaker tags (MLX)
  • Orpheus — Expressive speech with emotion tags (MLX)
  • Chatterbox — Voice cloning with emotion exaggeration (MLX)
  • VibeVoice — Microsoft's multi-speaker long-form TTS (PyTorch, optional)

Run tts-router list to see all available models.

Voice Cloning

# Clone a voice from a reference audio clip
tts-router say "Text to speak" --ref-audio reference.wav -o output.wav

The model automatically switches to a clone-capable variant when --ref-audio is provided.

API Server

tts-router serve --port 8091

Starts an OpenAI-compatible /v1/audio/speech endpoint with a built-in web playground at http://localhost:8091/.

Options

tts-router say --help

Key options: --voice, --model, --format (wav/mp3/flac/aac/opus), --speed, --instruct, --ref-audio, --ref-text, --temperature, --exaggeration.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tts_router-0.1.1.tar.gz (166.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tts_router-0.1.1-py3-none-any.whl (48.2 kB view details)

Uploaded Python 3

File details

Details for the file tts_router-0.1.1.tar.gz.

File metadata

  • Download URL: tts_router-0.1.1.tar.gz
  • Upload date:
  • Size: 166.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tts_router-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a3083fa528d62bf1cfd2d2d69f7c0c215f737b324d370b807fc07e812987644b
MD5 b8284e9620b08a7bcfeb1de22ba817f1
BLAKE2b-256 e00ff487c8dda8c225bc2b4054dd1e67bed5ea5cbbb7200c9f3827c18e2e321d

See more details on using hashes here.

Provenance

The following attestation bundles were made for tts_router-0.1.1.tar.gz:

Publisher: publish.yml on hrhrng/tts-router

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tts_router-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: tts_router-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 48.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tts_router-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cc5072a21fecb2288e56e2a9f7680640755137961d7e8758ef936cf7e2be7aba
MD5 aaab1d4da22c50b352d580150e889ccb
BLAKE2b-256 6982ae1de88ffaac819ce132f6a8b7e5b71ea40d13adbace8d6d72027a43e61a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tts_router-0.1.1-py3-none-any.whl:

Publisher: publish.yml on hrhrng/tts-router

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page