SupertonicTTS

This page explains how to use sherpa-onnx with SupertonicTTS.

SupertonicTTS is an offline multi-speaker, multi-language TTS model. In a typical setup, you select a speaker with --sid and a language with --lang.

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-tts-int8-2026-03-06.tar.bz2
tar xf sherpa-onnx-supertonic-tts-int8-2026-03-06.tar.bz2
rm sherpa-onnx-supertonic-tts-int8-2026-03-06.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-tts-int8-2026-03-06/duration_predictor.int8.onnx \
  --supertonic-text-encoder=./sherpa-onnx-supertonic-tts-int8-2026-03-06/text_encoder.int8.onnx \
  --supertonic-vector-estimator=./sherpa-onnx-supertonic-tts-int8-2026-03-06/vector_estimator.int8.onnx \
  --supertonic-vocoder=./sherpa-onnx-supertonic-tts-int8-2026-03-06/vocoder.int8.onnx \
  --supertonic-tts-json=./sherpa-onnx-supertonic-tts-int8-2026-03-06/tts.json \
  --supertonic-unicode-indexer=./sherpa-onnx-supertonic-tts-int8-2026-03-06/unicode_indexer.bin \
  --supertonic-voice-style=./sherpa-onnx-supertonic-tts-int8-2026-03-06/voice.bin \
  --sid=0 \
  --lang=en \
  --output-filename=./supertonic.wav \
  "Today as always, men fall into two groups: slaves and free men."

You can also use this tracked helper script:

API examples

Additional example code is available here:

Notes

  • Use --sid to choose a speaker.

  • Use --lang to select the synthesis language.

  • The model files include tts.json and unicode_indexer.bin in addition to ONNX files.