Skip to main content

Command-line text-to-speech tool with multiple providers, voice cloning, and smart auto-selection

Project description

Goobits TTS

One CLI for all TTS providers. Stream to speakers, save to files, or clone voices. Works with your text processing pipeline.

Supported Providers: Edge TTS • OpenAI • ElevenLabs • Google Cloud • Chatterbox

Quick Start

  1. Install: ./setup.sh install
  2. Test: tts "Hello world"
  3. Done: You just synthesized speech

Basic Usage

# Stream audio to speakers
tts "Hello world"
echo "Hello world" | tts

# Save to file
tts save "Hello world" -o greeting.mp3

# Use specific provider
tts @edge "Hello from Microsoft"
tts @openai "Hello from OpenAI"
tts @elevenlabs "Hello from ElevenLabs"

Provider Comparison

Provider Cost Quality Speed Voice Cloning Best For
Edge TTS Free Good Fast No Development, general use
OpenAI Paid Excellent Very Fast No Production, real-time
ElevenLabs Paid Excellent Fast Yes Premium quality, cloning
Google Cloud Paid Excellent Fast No Enterprise, multilingual
Chatterbox Free Variable Fast Yes Local processing, privacy

Configuration

# Set API keys
tts config set openai_api_key YOUR_KEY
tts config set elevenlabs_api_key YOUR_KEY
tts config set google_api_key YOUR_KEY

# View configuration
tts config show

# Interactive editor
tts config edit

Voice Selection

# Browse voices interactively
tts voices

# Use specific voice
tts @edge "Hello" --voice en-US-AriaNeural
tts @openai "Hello" --voice alloy

Pipeline Integration

Works seamlessly with other Goobits tools:

# Speech → Text → Speech
stt recording.wav | tts @edge

# Text transformation → Speech
echo "Hello" | ttt "translate to Spanish" | tts @google

# Document processing
tts document report.html --emotion-profile technical

Documentation

Installation Options

Recommended (all providers):

./setup.sh install

Alternative methods:

pipx install goobits-tts[all]      # Global install
pip install goobits-tts[all]       # User install
pip install goobits-tts[openai]    # Single provider

Development:

./setup.sh install --dev

System Requirements

  • Python 3.8+
  • FFmpeg (for audio processing)
  • Audio output device

Related Projects

Part of the Goobits AI toolkit:

License

MIT License - See LICENSE file for details

Contributing

Contributions welcome! See CLAUDE.md for development setup and guidelines.

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

goobits_tts-1.1.4.tar.gz (106.5 kB view details)

Uploaded Source

Built Distribution

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

goobits_tts-1.1.4-py3-none-any.whl (108.7 kB view details)

Uploaded Python 3

File details

Details for the file goobits_tts-1.1.4.tar.gz.

File metadata

  • Download URL: goobits_tts-1.1.4.tar.gz
  • Upload date:
  • Size: 106.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for goobits_tts-1.1.4.tar.gz
Algorithm Hash digest
SHA256 c728fff4f6983bd5058cd19a8d2655b057ef150e4aa3e2b7beb0ba911a808be5
MD5 1a3f07e5f340e626d5856ce5831b4e86
BLAKE2b-256 6cd539bc73b6e5a8f3928ac555ec7e54fbfd8aebd03b17817b8a140ac7e5883e

See more details on using hashes here.

File details

Details for the file goobits_tts-1.1.4-py3-none-any.whl.

File metadata

  • Download URL: goobits_tts-1.1.4-py3-none-any.whl
  • Upload date:
  • Size: 108.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for goobits_tts-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f20238c0ce6f6076e71b9b5080ba8261e8c5ba4f7d2adcbb1fde105648cfa5b1
MD5 431de86eb622aa75888a4576f8c70484
BLAKE2b-256 be16aaee02bed10548517292dda64e1644b2dd73ee44fb26511a193b5c33bcce

See more details on using hashes here.

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