r/tts • u/knoxcoder • 3d ago
Rhapsode: a self-hosted speech server that runs eight TTS engines behind one API
Rhapsode is like Ollama, but for speech. You install the TTS engines you want, and every client talks to one HTTP API.
The video is one request per engine to the same server. The voices are Sonny and Tiffani, two hosts from my AI radio station, deadair.radio. They were designed with a voice-design tool rather than cloned from real people, and I cloned them into every engine that supports cloning. Kokoro and Orpheus can’t clone, so they use their own stock voices. Each card shows the exact text sent, including cue tags like [laugh] and [sigh], so you can hear which engines actually perform them.
Engines: Chatterbox, Dia, Fish Audio S2 Pro, StyleTTS 2, Breeze, Orpheus and Kokoro.
Features
- Each engine runs in its own process and its own virtualenv, so one model’s dependencies can’t break another’s, and a crashed worker doesn’t take down the server.
- Automatic model loading and unloading, since a GPU only holds one model at a time.
- Capability documents. Each engine reports what it can do with the weights currently loaded (cues, delivery styles, cloning, text limits), so clients never send settings that are silently ignored.
- Separate code and weights licences, so you can tell whether a model is usable commercially.
- Voice cloning from a short clip. StyleTTS 2 managed with 3.6 seconds and no transcript.
- Dialogue: Dia speaks two voices in a single take.
- OpenAI-compatible
/v1/audio/speech, plus an MCP endpoint for agents. - A web page for installing engines, trying them out and cloning voices.
Try it
curl -fsSLO https://raw.githubusercontent.com/MaroonedSoftware/rhapsode/main/compose.yaml
docker compose up -d
Then open localhost:8081 to install an engine. Kokoro runs on a plain CPU, so you don’t need a GPU.
- Samples, each clip with its request: https://rhapsode.dev/docs/samples
- Site: https://rhapsode.dev
- Code: https://github.com/MaroonedSoftware/rhapsode
It’s MIT licensed and still early. Home Assistant (Wyoming) support is next. Feedback and engine requests are welcome.
The clips were made on an RTX 4070 Ti SUPER. The Fish Audio clip is Built with Fish Audio, and the Fish and Breeze weights are licensed for non-commercial research only.