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 download of 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-detect

Set 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

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 ♡