Mithi v1 Edge: 39MB Open TTS for 11 Indian Languages

Introduction
Oomni, a Hugging Face developer that goes by Folivo Intelligence and builds "AI models for edge devices," has released Mithi v1 Edge. It's an open-weight text-to-speech (TTS) model for 11 Indian languages with 10 voices, squeezed into 39 MB of compressed weights. The model card went up on November 14 under Apache-2.0, so it's free for commercial use. You can run it today on a laptop CPU, or try the browser demo. The demo runs everything client-side, so your text never leaves the page.
Edge is the small sibling of Mithi v1 Flash (Nov 7, 99.1M parameters, 197 MB, two voices), which is already in Hugging Face's top text-to-speech trending list with about 740 downloads, and Mithi v2 Flash (Nov 10, same size, 10 voices). Edge keeps all 10 voices and cuts the size by about 5x.
What Shipped
- Model: Mithi v1 Edge from Oomni / Folivo Intelligence. 47.6M parameters, 39 MB of weights (46 MB with tokenizer files).
- Languages: Hindi, English, Bengali, Gujarati, Kannada, Malayalam, Marathi, Odia, Punjabi, Tamil and Telugu.
- Voices: 10 in total, and every voice speaks all 11 languages. Male: Satvik, Anirban, Nakul, Vasant, Siddhant. Female: Charvi, Ahana, Vaidehi, Malini, Jahnavi.
- Compression: the decoder and the "writer" network are int8 (per row), the indic-bert text encoder is int4 (groups of 32), and the voice embeddings stay bf16.
- Output: 24 kHz mono WAV. Long text is read one sentence at a time.
- Built from open parts: it uses a Kokoro-82M-style iSTFTNet decoder, the ai4bharat indic-bert encoder, Maya Research's Maya2-native and its text normaliser, plus misaki and espeak-ng for phonemes. All of them are Apache-2.0 or MIT.
- Browser build: an
onnx/folder with gzipped ONNX graphs. The decoder is about 18 MB and the text encoder about 10.5 MB.
Where to Run It Today
- Browser, no install: the Mithi v1 Edge demo runs on onnxruntime-web (WASM) plus Pyodide for text processing. It has sliders for speed, expressiveness, pitch and seed, an "All 10 voices" button, and WAV download.
- Local, Python 3.10+: GPU if you have one, otherwise CPU.
pip install -U huggingface_hub
hf download Oomni/mithi-v1-edge --local-dir mithi-v1-edge
cd mithi-v1-edge
pip install "torch>=2.4" "transformers>=5.0" "safetensors>=0.4" "sentencepiece>=0.2" "numpy>=1.26" "soundfile>=0.12" \
"misaki[en]>=0.9.4" "espeakng-loader>=0.2.4" "phonemizer-fork>=3.3.2" "spacy>=3.8" "num2words>=0.5"
python -m spacy download en_core_web_sm
python run.py --device cpu --threads 4 --lang ta --voice vaidehi --text "வணக்கம்! எப்படி இருக்கீங்க?" --out hello_ta.wav- From Python:
from run import Mithi, thentts = Mithi(device="cpu")andtts.save(tts.synthesize("नमस्ते! आप कैसे हैं?", lang="hi", voice="nakul"), "namaste.wav"). - Target hardware: the card lists laptops, Raspberry Pi, phones and GPU-less servers. espeak-ng comes with
espeakng-loader, so you don't need a system package.
Caveats
- No evaluation yet. The card says so itself: no automated scores and no human MOS study. Judge it by ear.
- Flatter delivery. Intonation and emotion are flatter than human speech, and the card says the bigger Mithi Flash models sound slightly more natural.
- Known weak spots: Punjabi with Jahnavi or Vasant, rare names and loanwords, and numbers, dates, currency and URLs. Those are only read as well as the normaliser expands them.
- No cross-sentence context. Each sentence is spoken without seeing the others, so long paragraphs can sound choppy.
- Brand-new release. It had zero downloads at release and comes from a small, new account. No voice cloning, just the 10 preset voices.
Conclusion
Mithi v1 Edge is one of the smallest permissively licensed ways to get speech in all 11 major Indian languages, and you can try it with one click in a browser tab. It's not the most expressive option (for that, look at Maya2-native or the larger Mithi Flash models). But if you're building an offline kiosk, an Android reader app, an IVR prototype or a Raspberry Pi assistant for Hindi, Tamil or Bengali speakers, 39 MB and Apache-2.0 is hard to argue with. Run the voice sweep on your own scripts, especially numbers and names, before you ship it. For context, our earlier write-up on Maya2-native covers one of the models Mithi is built from.
—Anabel ♡
