SupertonicTTS
This page explains how to use sherpa-onnx with SupertonicTTS.
Hint
Support of this model in sherpa-onnx is contributed by https://github.com/Wasser1462 in the PR https://github.com/k2-fsa/sherpa-onnx/pull/3605.
SupertonicTTS 3 is an offline multi-speaker, multi-language TTS model supporting
31 languages. In a typical setup, you select a speaker with --sid and
a language with --lang.
You can try it online at HuggingFace Spaces.
The following table lists the supported languages and links to their documentation, download instructions, and code examples.
Language |
Documentation |
|---|---|
Arabic |
|
Bulgarian |
|
Croatian |
|
Czech |
|
Danish |
|
Dutch |
|
English |
|
Estonian |
|
Finnish |
|
French |
|
German |
|
Greek |
|
Hindi |
|
Hungarian |
|
Indonesian |
|
Italian |
|
Japanese |
|
Korean |
|
Latvian |
|
Lithuanian |
|
Polish |
|
Portuguese |
|
Romanian |
|
Russian |
|
Slovak |
|
Slovenian |
|
Spanish |
|
Swedish |
|
Turkish |
|
Ukrainian |
|
Vietnamese |
Download a pre-trained model
Download the released SupertonicTTS archive from https://github.com/k2-fsa/sherpa-onnx/releases/tag/tts-models:
wget https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/sherpa-onnx-supertonic-3-tts-int8-2026-05-11.tar.bz2
tar xf sherpa-onnx-supertonic-3-tts-int8-2026-05-11.tar.bz2
rm sherpa-onnx-supertonic-3-tts-int8-2026-05-11.tar.bz2
Run a command-line example
The following command uses the same model files as rust-api-examples/examples/supertonic_tts.rs:
./build/bin/sherpa-onnx-offline-tts \
--supertonic-duration-predictor=./sherpa-onnx-supertonic-3-tts-int8-2026-05-11/duration_predictor.int8.onnx \
--supertonic-text-encoder=./sherpa-onnx-supertonic-3-tts-int8-2026-05-11/text_encoder.int8.onnx \
--supertonic-vector-estimator=./sherpa-onnx-supertonic-3-tts-int8-2026-05-11/vector_estimator.int8.onnx \
--supertonic-vocoder=./sherpa-onnx-supertonic-3-tts-int8-2026-05-11/vocoder.int8.onnx \
--supertonic-tts-json=./sherpa-onnx-supertonic-3-tts-int8-2026-05-11/tts.json \
--supertonic-unicode-indexer=./sherpa-onnx-supertonic-3-tts-int8-2026-05-11/unicode_indexer.bin \
--supertonic-voice-style=./sherpa-onnx-supertonic-3-tts-int8-2026-05-11/voice.bin \
--sid=0 \
--lang=en \
--output-filename=./supertonic.wav \
"Today as always, men fall into two groups: slaves and free men."
You can change --lang to any of the 31 supported language codes
(e.g., ja for Japanese, ko for Korean, fr for French).
You can also use this tracked helper script:
API examples
Additional example code is available here:
Rust
C++ and C
Python
Go
Java and Kotlin
Dart and Swift
.NET
JavaScript
Pascal
Notes
Use
--sidto choose a speaker.Use
--langto select the synthesis language (e.g.,en,ja,ko,fr, etc.).The model files include
tts.jsonandunicode_indexer.binin addition to ONNX files.