Shruti: every language
Models · Shruti · 29.7 MB · released 4 November 2026

Shruti Telugu

Speech to text for Telugu and English, on your device, with no server.

Try it now · in your browser · free, no login

Speak Telugu, English or both. Shruti Telugu writes it down on your device.

Shruti · checking this device

Audio never leaves your device. Shruti and its open-source engine run inside this page.

Load Shruti, then press Record and speak Telugu, English or both.

The language is detected for you. English words stay in English (Latin script) and are underlined here; Telugu is written in Telugu script. While you speak, words appear once they have settled, a second or two behind you; when you stop, Shruti reads the whole recording once more for the final text.

Shruti Telugu · 29.7 MB · Telugu and English · 4 November 2026

On Telugu conversations that mix in English, fewer errors than IndicConformer Telugu, a model almost five times its size, and Whisper Telugu fine-tunes up to 32 times its size.

Shruti Telugu writes Telugu in Telugu script and keeps English words in English, the way people type: హైదరాబాద్‍లో కొత్త company నుంచి offer letter వచ్చింది. On real Telugu conversations that mix in English, scored with English words written in English, it makes fewer errors than IndicConformer Telugu (138 MB) and the Whisper-small Telugu fine-tune (967 MB): DiarBench 45.4 against 52.9 and 55.7. On those conversations it is level with SraVaani-1.0, a 909 MB model. It writes about half of the English words in English letters (53.7%); IndicConformer Telugu, Vosk Telugu and the Whisper Telugu fine-tunes write none. It makes about half the errors of Vosk Telugu (60.5 MB) on every test we ran. It runs offline on a five-year-old phone, about 10× faster than real time in 64 MB of memory with the native engine, and it invented no words on 100 silent clips.

ModelFileDiarBenchFLEURSKathbath
Shruti Telugu29.7 MB45.438.032.9
Whisper tiny43.5 MB659.1687.8583.3
Vosk Telugu (small)60.5 MB93.877.180.1
Whisper base81.8 MB371.3220.1363.3
Dolphin-base int8103.7 MB86.973.466.2
IndicConformer Telugu137.7 MB52.924.523.0
Whisper-tiny Telugu fine-tune (vasista22)151.1 MB59.234.234.4
Dolphin-small int8249.7 MB98.060.952.6
Whisper small264.5 MB201.1169.7154.1
Whisper-base Telugu fine-tune (vasista22)290.5 MB55.328.929.5
SraVaani-1.0908.8 MB47.822.020.3
Whisper-small Telugu fine-tune (vasista22)967.1 MB55.724.026.0

Word error rate %, lower is better; 200 clips per set, the same scorer for every model, measured 2 November 2026. DiarBench is real conversation that mixes in English, held out for every model, scored with English words written in English; FLEURS and Kathbath are read Telugu. On DiarBench the gaps to IndicConformer Telugu and the Whisper Telugu fine-tunes hold in a paired bootstrap; against SraVaani-1.0 the interval includes zero, so the two are level. Whisper adds words, so its rates pass 100%.

Where it falls short

  • On read Telugu, IndicConformer Telugu (about 5× larger) makes about 36% fewer errors on FLEURS (24.5 against 38.0) and 30% fewer on Kathbath (23.0 against 32.9). SraVaani-1.0 (about 30× larger) is ahead on every read set, and the Whisper-tiny Telugu fine-tune, published at 151 MB but about 44 MB as a whisper.cpp q8_0 copy, is ahead on FLEURS (34.2) and level on Kathbath.
  • On conversations scored against the native reference, which drops the English words, most larger models are ahead (SraVaani-1.0 33.0, IndicConformer Telugu 37.3, Shruti Telugu 58.0): Shruti keeps English words in English.
  • Some English words come out in Telugu script (online as ఆన్‌లైన్‌లో), and joined words and spelling variants count as errors.
  • No punctuation, and numbers come out as words. Noise, music, far-field and speaker-played audio were not tested.

Try Shruti Telugu Shruti Telugu on Hugging Face the model file, the full results and how each model was run

Use it in your app

Every Shruti model runs in Cactus’s open-source needle engine. Download the engine for your platform and the file for your language, and pass it a WAV file or 16 kHz audio.

# Command line (Mac, Linux, Windows)
# Engine: huggingface.co/Cactus-Compute/needle3, your platform
# Model:  shruti-telugu.cact, from Shruti Telugu's Hugging Face repo
./needle --model shruti-telugu.cact --audio clip.wav
# for speech that is only English: --audio-language en

# Python
pip install cactus-needle

import needle
shruti = needle.Whistle(weights="shruti-telugu.cact")
print(shruti.transcribe("clip.wav")["text"])
  • Android, iOS and the web: call the engine’s C API. needle_load takes the model file, needle_transcribe a clip, and needle_stream_transcribe_process about a second of live audio at a time. The demo on this page makes the same calls, from WebAssembly in a Web Worker.
  • Leave the language unset for Hindi and Hinglish: detection does as well as setting it on Hindi, Hinglish, accented Hindi and US English. Set English when the speech is only English with an Indian accent, which detection often takes for Hindi. On a subset of Svarah: 21.13% word errors with English set, 25.75% detected.
  • Keywords, one per line, favour the names, places and product words your users say.
  • Cactus’s Python package (cactus-needle) sends anonymous usage counts by default; set NEEDLE_TELEMETRY=0 to turn that off. The command-line engine and the WebAssembly engine on this page make no network requests of their own.

Credits

Every Shruti model is built on Cactus Whistle and runs in the needle engine, both by Cactus Compute under Apache-2.0. The engine files on this page are Cactus’s WebAssembly build, unmodified, served with its licence and notice. Shruti Telugu’s model card on Hugging Face lists its training datasets and their licences.

Every Shruti language