Indic Tiny TTS: 12-Lang Open On-Device Voices

Introduction
Sulabh Katiyar just completed the INDIC TINY TTS MODELS collection on Hugging Face — twelve tiny open text-to-speech cards for 11 Indian languages + Indian English. The English card sulabhkatiyar/indic-tiny-tts-english landed 2026-11-04T07:49Z, with Odia / Assamese / Marathi in the same hour, and the collection itself lastUpdated 2026-11-04T09:17Z. Each model is about 22.5M parameters (~90 MB per PyTorch or ONNX format), ships female + male voices, and runs from a bundled Python package on CPU, CUDA, or Apple silicon — no eSpeak, no cloud.
This is a maker-ready multi-language tiny TTS shelf, not a single research checkpoint with a missing runtime.
What Shipped
- Vendor / product: Indic Tiny TTS (12-model suite) — Sulabh Katiyar
- Modality: generative TTS (tiny / on-device; Matcha-style acoustic model + Vocos vocoder)
- Open vs closed: acoustic weights CC-BY-4.0; code MIT; Vocos weights MIT by their authors
- Runnable today:
huggingface_hub.snapshot_download+ bundledindic_tiny_tts/TinyTTS(PyTorch) orTinyTTSOnnx; optionalpip install ./…CLI - Concrete fact (Indian English card): 1.08% CER (~1.1%) on 100 FLORES-200 news sentences vs four other open Indian-English TTS models tested; 38× faster than realtime on 1× Apple M1 CPU thread (RTF 0.026); 7× on 1× x86 thread
- Languages in the collection: Hindi, Tamil, Bengali, Telugu, Malayalam, Gujarati, Punjabi, Kannada, Marathi, Assamese, Odia, Indian English
Collection: INDIC TINY TTS MODELS.
Run It (Indian English)
pip install torch numpy safetensors huggingface_hubimport sys
from huggingface_hub import snapshot_download
from indic_tiny_tts import TinyTTS
sys.path.insert(0, snapshot_download(
"sulabhkatiyar/indic-tiny-tts-english",
ignore_patterns=["onnx/*"],
))
tts = TinyTTS.from_pretrained("sulabhkatiyar/indic-tiny-tts-english")
wav = tts.synthesize("Hello! The weather is very nice today.", voice="female")
tts.save_wav(wav, "hello.wav") # 24 kHz monoSwap the repo id for any sibling language card. Prefer ONNX? Install onnxruntime and use TinyTTSOnnx against the card’s onnx/ graphs. Optional speed= and seed= knobs are on the English card README.
Design Notes
Matcha-style acoustic model (~8.9M of the stack) reads characters directly — no phonemiser — then Vocos mel→wave. English training data is the LIMMITS / SYSPIN IISc corpus (CC-BY-4.0), prepared as sulabhkatiyar/indic-tts-mini-24k. The English frontend already expands Indian money, dates, titles, and common acronyms before speaking.
Limits Worth Knowing
- One card per language — pick the repo you need; scripts outside that language’s expectations are skipped or warned.
- Calm reading voice, not a hyper-expressive studio singer; rare names and long digit strings can stumble.
- Speaker consent for voice-model release is not documented by the LIMMITS source beyond the organisers’ CC-BY-4.0 terms — credit the corpus and use responsibly.
- Distinct from single-lang drops already on artrealmai.com (Kuyil Tamil, Klein, etc.): this is the 12-lang open tiny shelf.
Original Source
- https://huggingface.co/collections/sulabhkatiyar/indic-tiny-tts-models-6aeae36f954418631a68676d
- https://huggingface.co/sulabhkatiyar/indic-tiny-tts-english
Conclusion
If you want open, CPU-friendly Indic + Indian English TTS with a real install path today, Indic Tiny TTS is the November 4 shelf to bookmark — twelve Matcha-scale voices, CC-BY-4.0 weights, and an English card that already posts competitive FLORES CER at phone-class speed.
—Anabel ♡
