187 lines
9.1 KiB
HTML
187 lines
9.1 KiB
HTML
<!DOCTYPE html>
|
|
<!--
|
|
PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
|
|
Copyright 2025 TimeHexOn & foxhop & russell@unturf
|
|
https://www.permacomputer.com
|
|
-->
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="theme-color" content="#43a047">
|
|
<meta name="color-scheme" content="light dark">
|
|
<title>Qwen3-TTS | uncloseai-speech | uncloseai.com</title>
|
|
<meta name="description" content="State-of-the-art voice cloning from 3-second samples. 42+ built-in voices, 10 languages, 97ms latency. Live on our public endpoint.">
|
|
|
|
<link rel="stylesheet" href="/css/pico.classless.min.css">
|
|
<link rel="stylesheet" href="/css/chunkfive/stylesheet.css" type="text/css" charset="utf-8" />
|
|
<link rel="stylesheet" href="/css/sidebar-theme.css">
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/a11y-dark.min.css" />
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js"></script>
|
|
|
|
<script>
|
|
function switchTheme(theme) {
|
|
if (theme === "auto") {
|
|
document.documentElement.removeAttribute('data-theme');
|
|
} else {
|
|
document.documentElement.setAttribute('data-theme', theme);
|
|
}
|
|
}
|
|
window.UNCLOSEAI_CUSTOM_STYLING = false;
|
|
</script>
|
|
<script src="https://uncloseai.com/uncloseai.js" type="module"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<button class="sidebar-toggle" onclick="document.querySelector('.sidebar').classList.toggle('open')">
|
|
☰
|
|
</button>
|
|
|
|
<aside class="sidebar">
|
|
<div class="table-of-contents">
|
|
<nav>
|
|
<ul>
|
|
<li><a href="/">Home</a></li>
|
|
<li><a href="/c-examples.html">C Examples</a></li>
|
|
<li><a href="/csharp-examples.html">C# Examples</a></li>
|
|
<li><a href="/dart-examples.html">Dart Examples</a></li>
|
|
<li><a href="/elixir-examples.html">Elixir Examples</a></li>
|
|
<li><a href="/go-examples.html">Go Examples</a></li>
|
|
<li><a href="/java-examples.html">Java Examples</a></li>
|
|
<li><a href="/kotlin-examples.html">Kotlin Examples</a></li>
|
|
<li><a href="/nodejs-examples.html">Node.js Examples</a></li>
|
|
<li><a href="/php-examples.html">PHP Examples</a></li>
|
|
<li><a href="/python-examples.html">Python Examples</a></li>
|
|
<li><a href="/ruby-examples.html">Ruby Examples</a></li>
|
|
<li><a href="/rust-examples.html">Rust Examples</a></li>
|
|
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
|
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
|
<li><a href="/uncloseai-js-styleguide.html">Styleguide</a></li>
|
|
<li><a href="/cli.html">uncloseai-cli</a></li>
|
|
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
|
<li><a href="/inference.html">Inference Setup</a></li>
|
|
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
|
<li><a href="/tts/voice-cloning.html" class="active" style="padding-left:2em">Qwen3-TTS</a></li>
|
|
<li><a href="/tts/fast-synthesis.html" style="padding-left:2em">Piper TTS</a></li>
|
|
<li><a href="/tts/hd-cloning.html" style="padding-left:2em">XTTS v2</a></li>
|
|
<li><a href="/tts/multilingual-cpu.html" style="padding-left:2em">Silero TTS</a></li>
|
|
<li><a href="/tts/lightweight.html" style="padding-left:2em">Kokoro TTS</a></li>
|
|
<li><a href="/crawler.html">Our Crawler</a></li>
|
|
<li><a href="/reverse-rag.html">Reverse RAG</a></li>
|
|
<li><a href="/languages" target="_blank">All Languages</a></li>
|
|
<li><a href="https://shop.unturf.com/p/8486f492-a93e-11f0-b477-02dfe05770ee/uncloseai-machine-learning-reference-guide-to-inference-clients" target="_blank">Book</a></li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</aside>
|
|
|
|
<main>
|
|
<header>
|
|
<hgroup>
|
|
<a href="https://uncloseai.com"><h1 class="unturf" style="font-family: 'ChunkFiveRegular';">uncloseai.</h1></a>
|
|
<p>Qwen3-TTS</p>
|
|
</hgroup>
|
|
<nav>
|
|
<ul>
|
|
<li><a href="#" onclick="switchTheme('auto')">Auto</a></li>
|
|
<li><a href="#" onclick="switchTheme('light')">Light</a></li>
|
|
<li><a href="#" onclick="switchTheme('dark')">Dark</a></li>
|
|
</ul>
|
|
</nav>
|
|
</header>
|
|
|
|
<p><mark>Live</mark> — This is our default engine, running right now on the public endpoint.</p>
|
|
|
|
<h2>What It Does</h2>
|
|
|
|
<p>This engine clones real human voices from short audio samples. We ship 42+ distinct speakers out of the box — each with their own timbre, cadence, and character, cloned from the LibriSpeech public domain corpus. You can also clone your own voice from a 3-second recording.</p>
|
|
|
|
<p>It speaks 10 languages natively: English, Chinese, Japanese, Korean, German, French, Russian, Portuguese, Spanish, and Italian. First audio arrives in under 100 milliseconds.</p>
|
|
|
|
<h2>Try It</h2>
|
|
|
|
<pre><code class="bash"># 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</code></pre>
|
|
|
|
<pre><code class="python">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")</code></pre>
|
|
|
|
<h2>Voices</h2>
|
|
|
|
<p>42+ built-in voices, each a distinct human speaker. 20 female, 20 male, plus OpenAI-compatible aliases.</p>
|
|
|
|
<p><strong>Female:</strong> aria, clara, elena, grace, hazel, iris, luna, maya, ruby, sage, sofia, amber, brooke, cora, diana, eden, faye, gemma, hope, ivy</p>
|
|
|
|
<p><strong>Male:</strong> atlas, caleb, felix, hugo, jasper, kai, leo, marcus, owen, theo, archer, blake, cole, dane, ezra, finn, grant, heath, ivan, jude</p>
|
|
|
|
<p><a href="https://speech.ai.unturf.com/v1/voices" target="_blank"><strong>→ Browse all voices live</strong></a></p>
|
|
|
|
<h2>Technical Details</h2>
|
|
|
|
<ul>
|
|
<li><strong>Model:</strong> 1.7 billion parameters</li>
|
|
<li><strong>License:</strong> Apache 2.0 (commercial use OK)</li>
|
|
<li><strong>Languages:</strong> 10 (English, Chinese, Japanese, Korean, German, French, Russian, Portuguese, Spanish, Italian)</li>
|
|
<li><strong>Sample rate:</strong> 24kHz</li>
|
|
<li><strong>Latency:</strong> 97ms first packet</li>
|
|
<li><strong>Hardware:</strong> GPU recommended, runs on CPU (slower)</li>
|
|
<li><strong>Upstream:</strong> <a href="https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-Base" target="_blank">Qwen3-TTS by Alibaba</a>, actively maintained</li>
|
|
</ul>
|
|
|
|
<h2>Self-Hosting</h2>
|
|
|
|
<p>This engine is enabled by default. Clone the repo and deploy:</p>
|
|
|
|
<pre><code class="bash">git clone https://git.unturf.com/engineering/unturf/uncloseai-speech.git
|
|
cd uncloseai-speech
|
|
make deploy
|
|
make voices-qwen # Download 42+ cloned voice samples from LibriSpeech
|
|
make test</code></pre>
|
|
|
|
<p>The Qwen3-TTS model (~3.4 GB) downloads automatically on first use. The <code>make voices-qwen</code> target runs <code>scripts/download_diverse_voices.py</code>, which pulls speaker samples from the LibriSpeech corpus and assigns them permanent human names via the voice registry.</p>
|
|
|
|
<p><a href="/text-to-speech.html"><strong>← Back to Text-to-Speech overview</strong></a></p>
|
|
|
|
<script>hljs.highlightAll();</script>
|
|
|
|
<footer>
|
|
<small>© uncloseai. 2025</small>
|
|
<br>
|
|
<small>Stylesheets by <a href="https://picocss.com" target="_blank">PicoCSS</a></small>
|
|
<small>& <a href="https://highlightjs.org/" target="_blank">highlight.js</a></small>
|
|
<br>
|
|
<small><a href="/privacy-policy.html">Privacy Policy</a> | <a href="/terms-of-use.html">Terms of Use</a></small>
|
|
</footer>
|
|
</main>
|
|
</body>
|
|
|
|
</html>
|