supertone-oss-archive /
supertonic
Offline text-to-speech in 31 languages that runs on your own device via ONNX
- 13.8k stars
- Swift
- Updated 44 days ago
- Some experience
- Image, video & audio
Archived on GitHub: it still works as published, but it no longer gets updates.
Supertonic turns text into speech on your own machine. It uses ONNX Runtime, so there are no cloud calls and no API keys. The model has 99 million parameters, which is small for a TTS system, so downloads are modest and it starts quickly. It needs no GPU.
You download the model files (ONNX models, config and preset voice styles) from Hugging Face, then run an example in your language of choice. The repo has examples for Python, Node.js, browser (WebGPU), Java, C++, C#, Go, Swift, iOS, Rust and Flutter. Output is 44.1kHz 16-bit WAV audio. It supports 31 languages, and you can pass lang="na" when you don't know the input language.
The README compares it with larger open TTS models such as VoxCPM2, OmniVoice and Qwen3-TTS, and reports competitive error rates on the Minimax-MLS-test benchmark. Those numbers are the authors' own. The repo is archived: the authors say there will be no updates, fixes or support, and the hosted demos and Voice Builder service are not part of it.
What it does
Fully on-device synthesis
Runs through ONNX Runtime on desktop, mobile, browsers and small hardware like a Raspberry Pi. After the one-time model download, no network is needed.
31 languages
Covers languages from Arabic and Hindi to Finnish and Vietnamese. Passing lang="na" lets it handle text without a known language tag.
Expression tags
Ten inline tags such as <laugh>, <breath> and <sigh> add human touches to the speech without reference audio.
Many runtime examples
Ready-made examples for Python, Node.js, browser, Java, C++, C#, Go, Swift, iOS, Rust and Flutter.
44.1kHz WAV output
Writes 16-bit WAV files directly, and supports batch inference for higher throughput.
What you could build
- Add offline voice read-aloud to a mobile or desktop app.
- Convert web pages or documents into audio without sending text to a cloud service.
- Run speech synthesis on a Raspberry Pi or an e-reader.
- Generate multilingual narration for videos or prototypes from a script.
- Study how to run an ONNX speech model from several programming languages.
Get started
Clone the repo, make a Python 3.11 virtual environment and install huggingface_hub. Download the pinned Supertonic 3 model into assets/, install the Python requirements, then run the example to produce a WAV file in py/results/.
git clone https://github.com/supertone-oss-archive/supertonic.githf download supertone-oss-archive/supertonic-3 \
--revision aafc6e32416a594460b32413efc49d7fe4ce6d46 \
--local-dir assetspython example_onnx.py --n-test 1 --text "This speech was generated locally with the archived Supertonic model." --lang enCommands are copied from the project's README. Read it on GitHub for the full setup.
More in Image, video & audio
VoiceStudio
Desktop app for cloning voices, dubbing video and dictating, run on your own machine
voicebox
Local voice studio for cloning voices, generating speech and dictating into any app
upscayl
Desktop app that enlarges low-resolution images using AI, on Linux, macOS and Windows