Metadata-Version: 2.4
Name: goobits-tts
Version: 1.1.4
Summary: Command-line text-to-speech tool with multiple providers, voice cloning, and smart auto-selection
Author: TTS CLI Contributors
License: MIT
Project-URL: Homepage, https://github.com/goobits/tts
Project-URL: Bug Tracker, https://github.com/goobits/tts/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.0.0
Requires-Dist: rich-click>=1.7.0
Requires-Dist: rich>=13.0.0
Requires-Dist: edge-tts>=7.0.0
Requires-Dist: requests>=2.25.0
Provides-Extra: openai
Requires-Dist: openai>=1.0.0; extra == "openai"
Provides-Extra: google
Requires-Dist: google-cloud-texttospeech>=2.0.0; extra == "google"
Provides-Extra: elevenlabs
Requires-Dist: elevenlabs>=1.0.0; extra == "elevenlabs"
Provides-Extra: chatterbox
Requires-Dist: chatterbox-tts>=0.1.2; extra == "chatterbox"
Requires-Dist: torch>=2.6.0; extra == "chatterbox"
Requires-Dist: torchaudio>=2.6.0; extra == "chatterbox"
Requires-Dist: soundfile>=0.13.0; extra == "chatterbox"
Provides-Extra: cloud
Requires-Dist: openai>=1.0.0; extra == "cloud"
Requires-Dist: google-cloud-texttospeech>=2.0.0; extra == "cloud"
Requires-Dist: elevenlabs>=1.0.0; extra == "cloud"
Provides-Extra: local
Requires-Dist: chatterbox-tts>=0.1.2; extra == "local"
Requires-Dist: torch>=2.6.0; extra == "local"
Requires-Dist: torchaudio>=2.6.0; extra == "local"
Requires-Dist: soundfile>=0.13.0; extra == "local"
Provides-Extra: all
Requires-Dist: openai>=1.0.0; extra == "all"
Requires-Dist: google-cloud-texttospeech>=2.0.0; extra == "all"
Requires-Dist: elevenlabs>=1.0.0; extra == "all"
Requires-Dist: chatterbox-tts>=0.1.2; extra == "all"
Requires-Dist: torch>=2.6.0; extra == "all"
Requires-Dist: torchaudio>=2.6.0; extra == "all"
Requires-Dist: soundfile>=0.13.0; extra == "all"
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-asyncio; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: hypothesis; extra == "dev"
Dynamic: license-file

# 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

```bash
# 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

```bash
# 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

```bash
# 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:

```bash
# 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

- **[Getting Started](docs/getting-started.md)** - Installation and first steps
- **[User Guide](docs/user-guide.md)** - Complete reference
- **[Provider Guide](docs/providers.md)** - Provider comparison and setup
- **[Advanced Usage](docs/advanced.md)** - Pipelines and document processing

## Installation Options

**Recommended** (all providers):
```bash
./setup.sh install
```

**Alternative methods**:
```bash
pipx install goobits-tts[all]      # Global install
pip install goobits-tts[all]       # User install
pip install goobits-tts[openai]    # Single provider
```

**Development**:
```bash
./setup.sh install --dev
```

## System Requirements

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

## Related Projects

Part of the Goobits AI toolkit:

- **[Matilda](https://github.com/goobits/matilda)** - AI assistant
- **[Goobits STT](https://github.com/goobits/stt)** - Speech-to-Text
- **[Goobits TTS](https://github.com/goobits/tts)** - Text-to-Speech (this project)
- **[Goobits TTT](https://github.com/goobits/ttt)** - Text-to-Text processing

## License

MIT License - See LICENSE file for details

## Contributing

Contributions welcome! See [CLAUDE.md](CLAUDE.md) for development setup and guidelines.
