diff --git a/public/text-to-speech.html b/public/text-to-speech.html index a4d1725..24e36be 100644 --- a/public/text-to-speech.html +++ b/public/text-to-speech.html @@ -25,7 +25,7 @@
Our public endpoint runs the Voice Cloning engine — 42 distinct human voices, 41 cloned from the LibriSpeech public domain corpus plus the operator's own self-recorded voice (foxhop, voice 42). Speaks 10 languages natively, first audio arrives in under 100 milliseconds.
Our public endpoint runs F5-TTS — a flow-matching voice-cloning engine that benchmarks faster and produces cleaner clones than Qwen3-TTS on the same reference audio. 42 distinct human voices: 41 cloned from the LibriSpeech public domain corpus plus the operator's own self-recorded voice (foxhop, voice 42). Speaks 10 languages natively, first audio arrives in under 100 milliseconds.
# Female voice
@@ -280,7 +281,7 @@ client.audio.speech.create(
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."
+ input="Six 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")
→ See all voices → See all 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.
+Six TTS engines, each rescued from a different corner of open source, all running behind the same OpenAI-compatible API. Our public endpoint runs F5-TTS. The other five are ready for anyone who clones the repo.
-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.
+Flow-matching voice cloning, 42 voices, 10 languages. Model is F5-TTS_v1 + Vocos vocoder (~1.5GB), MIT-licensed, sourced from SWivid/F5-TTS on Hugging Face. Empirically faster inference and cleaner clones than Qwen3-TTS on the same reference clips. This is what's running on our public endpoint right now — called as "model":"tts-1-f5".
42 cloned voices, 10 languages, voice cloning from 3-second samples. 1.7 billion parameters, 97ms first-packet latency. Still wired up in the repo ("model":"tts-1-qwen"); F5-TTS replaced it as our default after head-to-head benchmarking.
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.
@@ -310,22 +314,22 @@ client.audio.speech.create(Clone the repo, deploy, and you have your own production TTS API. All five engines are included — enable whichever ones you need.
+Clone the repo, deploy, and you have your own production TTS API. All six 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)
+# Deploy with GPU (F5-TTS, default)
make deploy
# Or CPU-only (works anywhere, slower)
make deploy-cpu
-# Download 42+ cloned voice samples from LibriSpeech
-make voices-qwen
+# Download 42 cloned voice samples (LibriSpeech + foxhop self-recorded)
+make voices-f5
-# Test it (Qwen3-TTS model ~3.4GB downloads automatically on first use)
-make test
+# Test it (F5-TTS model ~1.5GB downloads automatically on first use)
+make test-f5
# Enable additional engines
make voices-piper # Piper TTS