uncloseai.

Open-Source Text-to-Speech

Raccoon Mission: Rescuing Abandoned TTS Models

uncloseai-speech is our community-driven initiative to rescue, preserve, and unify abandoned text-to-speech models into a single, resilient, self-hostable API.

"Why raccoons?" Because like raccoons, we dig through the digital dumpsters of abandoned GitHub repos and archived projects, rescuing valuable open-source TTS models that organizations have left behind. We give them a new home, maintain them, and make them accessible to everyone.

What's Live Right Now

Our public endpoint runs the Voice Cloning engine — 42+ distinct human voices cloned from the LibriSpeech public domain corpus, speaking 10 languages natively. First audio arrives in under 100 milliseconds.

# Female voice
curl https://speech.ai.unturf.com/v1/audio/speech \
  -H "Content-Type: application/json" \
  -d '{
    "input": "We rescue abandoned text-to-speech models and give them a new home. No API keys, no tracking, just open source voices for everyone.",
    "voice": "aria"
  }' > aria.mp3
# Male voice
curl https://speech.ai.unturf.com/v1/audio/speech \
  -H "Content-Type: application/json" \
  -d '{
    "input": "Like raccoons digging through digital dumpsters, we find the best open source TTS models that big companies left behind, and we make them accessible to everyone.",
    "voice": "atlas"
  }' > atlas.mp3
from openai import OpenAI

client = OpenAI(
    api_key="not-needed",
    base_url="https://speech.ai.unturf.com/v1"
)

client.audio.speech.create(
    voice="aria",
    input="Raccoon mission. We dig through abandoned repos and rescue the best open source speech models before they disappear."
).stream_to_file("aria.mp3")

client.audio.speech.create(
    voice="atlas",
    input="Five engines, one API. Self-host it, clone any voice, speak ten languages. No vendor lock-in, no API keys, no limits."
).stream_to_file("atlas.mp3")

Browse Voices & Models

Every voice has a name, a gender, and a personality. The API tells you exactly what's available.

→ See all voices   → See all engines

The Five Engines

Five TTS engines, each rescued from a different corner of open source, all running behind the same OpenAI-compatible API. Our public endpoint runs Qwen3-TTS. The other four are ready for anyone who clones the repo.

Qwen3-TTSLive

42+ cloned voices, 10 languages, voice cloning from 3-second samples. 1.7 billion parameters, 97ms first-packet latency. This is what's running on our public endpoint right now.

Piper TTSSelf-host

100+ English voices, CPU-only, ONNX runtime. The fastest engine in the dumpster — built for high-volume batch jobs and real-time applications where latency matters most.

XTTS v2Self-host

Clone any voice from a 6-second sample across 16 languages. The highest fidelity option, rescued from the Coqui TTS project. Needs a GPU with ~4GB VRAM.

Silero TTSSelf-host

148 voices across 5 languages, all running on CPU. English, Russian, German, Spanish, and French. Clean 48kHz output, no GPU required.

Kokoro TTSSelf-host

82 million parameters, 34 voices. Small enough for a Raspberry Pi or an edge device. Apache 2.0 licensed, 24kHz output.

Self-Hosting

Clone the repo, deploy, and you have your own production TTS API. All five engines are included — enable whichever ones you need.

git clone https://git.unturf.com/engineering/unturf/uncloseai-speech.git
cd uncloseai-speech

# Deploy with GPU (Qwen3-TTS, default)
make deploy

# Or CPU-only (works anywhere, slower)
make deploy-cpu

# Download 42+ cloned voice samples from LibriSpeech
make voices-qwen

# Test it (Qwen3-TTS model ~3.4GB downloads automatically on first use)
make test

# Enable additional engines
make voices-piper    # Piper TTS
make voices-xtts     # XTTS v2
make voices-silero   # Silero TTS
make voices-kokoro   # Kokoro TTS

For full documentation, see the uncloseai-speech repository.

Get Involved

We run a free public endpoint at https://speech.ai.unturf.com/v1 but we need help scaling:

Resources

Questions & Community

Ask questions, share your deployments, or discuss TTS research below!