Shruti BN/TA/MR: 29.7 MB Offline Code-Mix ASR

Introduction
Udgam Labs just widened its Shruti on-device speech-to-text kit with three sibling cards: Shruti Bengali, Shruti Tamil, and Shruti Marathi. Hugging Face timestamps put Bengali at 2026-11-02T19:25:58Z, Tamil at 2026-11-02T15:59:48Z, and Marathi at 2026-11-02T12:05:55Z — the same week as the Telugu drop we already covered. Each language ships as one ~29.7 MB 4-bit .cact file (~55.7–55.9M params) that turns native speech + English into text offline via the Cactus needle engine — phone, laptop, or browser WASM, no server.
Native script for the language; English words stay in lowercase Latin the way people actually type (বাচ্চাদের রবীন্দ্রসঙ্গীতের rehearsal, கல்யாணத்துக்கு catering order confirm, physics ची exam). That code-mix Latin English is the maker hook across the family.
What Shipped
- Vendor / product: Shruti Bengali / Tamil / Marathi — Udgam Labs (family also: Hindi, Telugu)
- Modality: speech-to-text / ASR (on-device, code-mixed Indic + English)
- Open vs closed: open weights Apache-2.0 (Cactus Whistle + needle also Apache-2.0)
- Runnable today:
pip install cactus-needle+hf downloadof the matching.cact; CLI./needle; browser WASM demo at udgamlabs.com/models/shruti; GH udgamlabs/shruti - Concrete fact: Galaxy F62 (2021) native engine RTF — Bengali 12.6×, Tamil 10.8×, Marathi ~12× / 12.1× — at ~64 MB peak RAM each
- Per-language file:
shruti-bengali.cact/shruti-tamil.cact/shruti-marathi.cact(apps pull only the language they need)
HF cards: udgamlabs/shruti-bengali · udgamlabs/shruti-tamil · udgamlabs/shruti-marathi.
Run It
pip install cactus-needle
hf download udgamlabs/shruti-bengali shruti-bengali.cact config.json --local-dir .from needle import Whistle
model = Whistle("shruti-bengali.cact")
print(model.transcribe("clip.wav")) # language auto-detectSet NEEDLE_TELEMETRY=0 to quiet the Python package. Native binaries + WASM live under Cactus-Compute/needle3. The live page lets you flip ?lang=bn|ta|mr (and the rest of the family) in-browser.
Why These Three Matter Together
We already shipped the Telugu write-up. This piece is the BN / TA / MR expansion — same ~30 MB offline pattern, same code-mix Latin English behavior, three more Indic markets you can ship without a cloud ASR bill. Under 100 MB, the vendor’s own benches put these cards ahead of other open models in that size class on several conversational / mixed sets (language cards spell out the paired intervals).
Limits Worth Knowing
- On read speech (FLEURS / Kathbath), larger models such as IndicConformer still win on pure native accuracy.
- Roughly half of English words can still land in the native script; no punctuation; numbers come out as words.
- Each language is its own download — not one multilingual megamodel.
- Noise, music, far-field, and speaker-played audio are not the vendor’s highlighted test focus on these cards.
Original Source
- https://udgamlabs.com/models/shruti
- https://huggingface.co/udgamlabs/shruti-bengali
- https://huggingface.co/udgamlabs/shruti-tamil
- https://huggingface.co/udgamlabs/shruti-marathi
- https://github.com/udgamlabs/shruti
Conclusion
If you need privacy-first Bengali, Tamil, or Marathi ASR that fits in an app download and keeps Hinglish-style Latin English inside the transcript, these three Shruti cards are the day-0 open files to grab — and together with Telugu/Hindi they read like a real Indic offline kit, not a one-off demo.
—Anabel ♡
