Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🗣️ Supertonic-ZH

Bring Mandarin Chinese to the on-device Supertonic TTS family

English · 简体中文


status license build python HF Model

Native Mandarin · numbers · dates · money · lightweight · fast · on-device.


⚠️ Unofficial Mandarin extension · built on Supertonic-3. Supertonic-ZH is an independent Mandarin extension built on the publicly released Supertonic-3 model. v0.1.0-preview · 2026-07-11.

This is an independent, unofficial Mandarin adaptation of Supertonic; original code and derived model components remain subject to their respective upstream MIT and OpenRAIL-M licenses.

✨ Why Supertonic-ZH?

The official Supertonic-3 is a fast, lightweight, on-device TTS family — but out of the box it does not synthesize Mandarin Chinese. Supertonic-ZH closes that gap: a Mandarin fine-tune distributed as optimized, fused ONNX graphs that run in pure ONNX Runtime, on top of the frozen, unmodified upstream vocoder.

❌ Official Supertonic-3 ✅ Supertonic-ZH
No Mandarin synthesis Intelligible native Mandarin
Reads "12,580.60元" digit-by-digit Normalizes dates / money / % / phone to spoken Chinese
Public benchmark · reproducible test set

🚀 Highlights

  • 🈶 Native Mandarin in a consistent preset voice — tones, polyphones, 儿化, neutral tone, 一/不 sandhi.
  • 🔢 Smart text normalization — dates, money, percentages, phone numbers, and full-width punctuation are read the way a person would.
  • Fast — ~10× real-time generation on GPU (RTF ≈ 0.10). See BENCHMARK.md.
  • 🪶 Lightweight — small footprint, built for on-device / offline / low-latency use.
  • 🧊 Vocoder untouched — the four upstream Supertonic-3 ONNX graphs are used frozen; nothing about the base model is degraded.
  • 🔎 Honest & reproducible — a public 100-sentence test set and the exact CER numbers behind it are both included.

🎧 Listen

Retained multilingual output from the frozen base model, plus native Mandarin from the fine-tune — click ▶️ to play:

Language Text Audio
🇨🇳 Mandarin 今天天气很好,我们一起去公园散步吧。 ▶️ Play
🇬🇧 English The quick brown fox jumps over the lazy dog. ▶️ Play
🇷🇺 Russian Сегодня прекрасная погода, давайте прогуляемся в парке. ▶️ Play
🇸🇦 Arabic الطقس جميل اليوم، دعونا نذهب في نزهة。 ▶️ Play
🇫🇷 French Il fait très beau aujourd'hui, allons nous promener dans le parc. ▶️ Play
🇯🇵 Japanese 今日はいい天気ですね、公園を散歩しましょう。 ▶️ Play
🇰🇷 Korean 오늘 날씨가 좋네요, 공원을 산책합시다. ▶️ Play

Seven more samples across the hardest Chinese text categories (date, English acronym, long text, money, percent, polyphone, rare character) are in demo/:

Category Text Audio
Date 会议定在2026年8月15日上午举行。 ▶️ Play
English acronym 训练模型需要用到GPU加速。 ▶️ Play
Long text 这次旅行我们先去了西安看兵马俑,又去了敦煌欣赏壁画,最后到了张掖看七彩丹霞,一路上风景美不胜收。 ▶️ Play
Money 这件外套售价12,580.60元。 ▶️ Play
Percent 今年公司营收增长了23.7%。 ▶️ Play
Polyphone 他去银行取钱,然后在路上行走回家。 ▶️ Play
Rare character 他觉得这件事有点囧,不知道怎么解释。 ▶️ Play

▶️ opens the audio on GitHub's raw content host and plays in your browser.

📊 Benchmark

Full numbers — CER, RTF, first-packet latency, generation speed, footprint, drop rate, and a per-category CER breakdown — are in BENCHMARK.md.

Read honestly: CER is judged by Whisper-small, a comparatively weak Mandarin ASR that inflates measured error on exactly the hardest categories (rare characters, digit/acronym strings). The test set is deliberately hard — it over-samples edge cases, not everyday Mandarin. Use the per-category breakdown, not a single blended mean.

🔐 Weights

Model weights are not publicly distributed. They are gated on Hugging Face — request access at 🤗 dove88/supertonic-zh (evaluation license). The current build is non-commercial (its training data includes the Baker/CSMSC corpus); a Baker-free build for commercial licensing is available separately. You do not need the weights to evaluate this project — the demo/ audio and the BENCHMARK.md numbers were both produced with this model.

🧑‍💻 Run

The Mandarin model ships as fused / optimized ONNX graphs, gated on Hugging Face — 🤗 dove88/supertonic-zh (request access). Inference is pure ONNX Runtime (no PyTorch). examples/onnx_infer.py is the full pipeline:

pip install onnxruntime numpy soundfile
# place the gated ONNX + upstream vocoder.onnx + indexer + voice in ./onnx
python examples/onnx_infer.py "今天天气很好,我们一起去公园散步吧。"

🎙️ Voices

This preview synthesizes in a single preset voice, shipped as a voice-style embedding JSON (assets/F1.json). Custom voice / voice cloning (a new speaker from a reference sample) is not part of this preview — it is a separate capability available only under a private/commercial license, and is not described or shipped here.

🧾 License

  • Code — MIT (LICENSE).
  • Model weights — separate evaluation license, available on request; the current build is non-commercial only (Baker/CSMSC-encumbered training data). Commercial licensing is available for a separate Baker-free build.

⚠️ Limitations

(1) Residual high-frequency artifact bounded by the frozen upstream vocoder — a ceiling, not a bug; (2) Chinese⇄English code-switching is currently unreliable and not demonstrated in this showcase; (3) tone / polyphone / erhua accuracy are model-inherent (character-level acoustic model), not front-end-fixable; (4) one preset voice only, no custom voices. Treat this as a feasibility demonstration, not a finished product.

🗺️ Roadmap

Cleaner high-frequency detail · reliable code-switching · additional preset voices · streaming · on-device SDKs · a Baker-free build eligible for commercial licensing.

🙌 Acknowledgements

Built on the publicly released Supertonic-3 model and sample code. Trained on AISHELL-3 (OpenSLR SLR93) and Baker/CSMSC.

Supertonic-ZH · unofficial Mandarin extension · built on Supertonic-3

About

Unofficial Mandarin (Chinese) text-to-speech built on Supertonic-3 — lightweight, fast, on-device; with number/date/money text normalization, plus demos and a public benchmark. Weights gated.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors