Illustration of what supertonic does: Offline text-to-speech in 31 languages that runs on your own device via ONNX

supertone-oss-archive /

supertonic

Offline text-to-speech in 31 languages that runs on your own device via ONNX

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.git
hf download supertone-oss-archive/supertonic-3 \ --revision aafc6e32416a594460b32413efc49d7fe4ce6d46 \ --local-dir assets
python example_onnx.py --n-test 1 --text "This speech was generated locally with the archived Supertonic model." --lang en

Commands are copied from the project's README. Read it on GitHub for the full setup.

More in Image, video & audio

    ↑↓ to move, Enter to open, Esc to close