Indian-language speech-to-text · published 24 August 2026
Every voice agent begins by listening. When you speak to an AI agent on a call, the first thing that happens is speech-to-text (often shortened to STT): a model listens to your voice and writes down, word for word, what you said. Every voice agent is built as a stack of layers, and speech-to-text is always the bottom one — every layer above works only from its transcript:
The layers above never hear you at all — they only read that transcript. So if a name, an amount or a “not” is misheard at this first step, no intelligence downstream can win it back — the error simply flows through every layer above. The speech-to-text you choose sets the ceiling for everything built on top.
So we put ours to the test. Bodhi, Navana's speech-to-text, against four leading systems — Sarvam, Azure, Smallest and Deepgram — on about 67,000 real speech clips across nine Indian languages: Hindi, Kannada, Tamil, Telugu, Malayalam, Marathi, Gujarati, Bengali and Odia, all from public datasets anyone can download.
We asked the two questions that decide a voice agent: does it get the words right, and does it keep the meaning — the name, the number, the “not” that flips an instruction? On both, across every language, Bodhi comes out on top.
The full benchmark — audio, references and every system's transcript — is open on Hugging Face: Navana-AI/indic-asr-benchmark ↗
The standard test · word error rate
There is one number the whole industry lives by — Word Error Rate, or WER. It's simple: take what the system typed, line it up against what the person actually said, and count how many words are wrong, missing or invented. Divide by the number of words spoken. Lower is better — a WER of 12% means roughly one word in eight came out different from what was said.
It's the number on every vendor's slide, ours included. So it's the honest place to start: measure every system the same way, on the same audio, and see who gets the most words right. We did exactly that across nine languages. But before the scores, the catch that this number hides — because it's the whole reason a good-looking WER can still let you down.
The catch · what the number hides
WER counts every wrong word the same. But not all wrong words matter the same. Writing “colour” for “color”, or “25” for “twenty-five”, counts as a mistake — even though nobody is confused. Now compare that to mishearing a customer's name, flipping a “yes” into a “no”, or hearing a different amount. Those count as one mistake each too — yet only these end a conversation. The number treats a harmless spelling quirk and a wrong name as exactly equal.
So a system can post a respectable error rate and still be the one that mangles the name on every call. To judge what a system is really worth, you have to look at the kind of mistake it makes, not just how many. Here is one clip that makes the point — a plain farming question in Bengali:
The results · Bodhi vs the field
Knowing WER's blind spot, we still measured it — the same clean-up applied identically to every system, on the same clips — because it is the common yardstick everyone recognises. Across about 67,000 clips from six public datasets, Bodhi has the lowest error rate in every one of the nine languages.
Here is Bodhi against its closest competitor in each language — whichever of the four rivals scores best there, named on its bar. Bodhi's bar is shorter every time:
And the margin is not thin. Language by language, Bodhi makes 11% to 22% fewer mistakes than the closest competitor — roughly one error in six avoided, on average. To be clear about what this counts: it is the raw tally, where a harmless spelling variant and a wrong name each cost one point. Whether the mistakes a system does make are the kind that change the meaning is a separate question — the second test, further down, answers it. And that is against the best rival each time, which changes from language to language; measured against the rest of the field the gap widens sharply — in six of the nine languages, the weakest of the four competitors makes more than twice as many mistakes as Bodhi. All five systems, side by side:
Error rate as a percentage (lower is better; ● marks the best in each row). Bodhi's column is highlighted. Deepgram does not support Malayalam or Odia, so those cells are blank.
Same clips, same scoring, applied identically to every system.
Every language here — Hindi included — is measured the same way, on the same public datasets, with the same scoring. Bodhi has the lowest error rate in all nine.
The evidence · hear it yourself
Numbers are easy to argue with; recordings aren't. Below is one real clip per language where Bodhi got the sentence right and a rival changed the meaning — a wrong word, a wrong name, a dropped word. Press play, read what each system heard, and follow the plain-English note on what went wrong. (Hindi's own worked examples are in our dedicated Hindi report.) Pick a language tab:
Test 2 · did it keep the meaning?
Word error rate can't tell a harmless spelling quirk from a wrong name. So we ran the test that actually matters for a voice agent: a blind AI judge — OpenAI's GPT-5.4-mini — read the human reference and every system's transcript, with brand names hidden and the order shuffled on every clip, and rated how faithfully each one preserved what was actually said. About 4,700 clips across the eight non-Hindi languages — with Hindi judged the same way separately (just below).
Clip for clip, no system keeps the meaning better than Bodhi. Judged head-to-head on the same audio, Bodhi comes out ahead of every competitor:
Bodhi vs each rival on the same clips, rated by the same blind judge · numbers are clip counts.
And on the headline measure — the share of clips where the meaning came through intact — Bodhi sits at the top of the field:
Hindi tells the same story. In our dedicated Hindi study, judged the same blind way, Bodhi kept the full meaning on 72% of clips; the next-best of these four systems, Sarvam, managed 59% — and Bodhi wins every Hindi head-to-head too.*
* Hindi figures from our dedicated Hindi report, judged the same blind way.
Why the gap · data and design
There is no single trick. The gap you see above is the sum of building for Indian speech from day one, rather than adapting to it later:
Trained on the speech India actually speaks. Bodhi learns from real Indian conversations — telephony-grade audio with traffic and crosstalk behind it, regional accents and dialects, and the code-mixed English (phone, payment, slip) that formal corpora underrepresent. Most global systems meet this speech for the first time in production; Bodhi grew up on it.
Dialect coverage, not just the textbook language. No Indian language is spoken one way — the Hindi of Patna is not the Hindi of Jaipur, and Tamil, Bengali and Kannada shift accent, vocabulary and phrasing from district to district. A system trained on the news-reader “standard” starts failing the moment a caller sounds like where they're from — which is most callers. Bodhi is trained and evaluated across these regional varieties, and the benchmark you just read reflects that: it includes dialect-rich corpora such as RESPIN and Kathbath, recorded from speakers across districts and states — so the accuracy holds in the field, not just in the metros.
Tuned for the errors that end conversations. A voice agent acts on names, numbers and negations, so that is what we optimise hardest — it's why, in the clips above, rivals lose a person's name or an amount where Bodhi holds on.
Indic scripts as first-class citizens. Nine languages, three script families, and dozens of equally-correct ways to spell the same word. Bodhi is built around that reality — spelling variants, joined-vs-split compounds and both scripts of code-mixed speech are modelled, not fought.
Measured the way you just read. Benchmarks like this one run internally, per language, on every model iteration — so a win in one language is never bought with a regression in another.
And we put our work back into the Indian voice-AI space. This entire benchmark — the audio, the human references, every system's transcripts and the blind judge's ratings, across ~67,000 clips in nine languages — is openly published on Hugging Face, alongside our dedicated Hindi benchmark, for anyone building or evaluating Indian-language voice AI to use. And we build for the languages the industry skips: Bodhi serves Odia and Malayalam callers that some global providers don't support at all — because a voice AI for India has to work for all of India.
How we did it · nothing hidden
Every number here comes from openly available audio, and every system — including Bodhi — is put through the exact same scoring. Here is the whole pipeline, end to end.
The data. All clips come from six public speech datasets widely used to test Indian-language ASR — Kathbath (noisy), FLEURS, IndicTTS, MUCS, Common Voice and RESPIN. Each clip has a human-written reference of what was actually said. We use about 67,000 clips across all nine languages — Hindi measured here the same way as the rest, on the same public datasets.
The systems. Bodhi (Navana's own model) plus four leading providers: Sarvam, Azure, Smallest and Deepgram. Each system transcribed the same audio; we froze the output as-is — no retries, no manual fixes. (Deepgram doesn't offer Malayalam or Odia, so it isn't scored there.)
The scoring. Before counting mistakes, every benchmark first tidies the text so that harmless differences don't count as errors. We apply one fair clean-up, identically to every system on every clip: numbers matched by value (25 = twenty-five), English words accepted in either script, and spelling-mark variants folded together. Whatever is still different after that is a genuine recognition error. Then we count the wrong, missing and invented words — the industry-standard measure — and report the average per language.
The meaning test. Beyond word-counting, a blind AI judge — OpenAI's GPT-5.4-mini — read the human reference and every system's transcript, with brand names hidden and the order shuffled on every clip, and rated how faithfully each preserved the meaning on a 0–4 scale. “Kept the meaning” means the top two ratings; head-to-head results are decided clip by clip. About 4,700 clips were judged across the eight non-Hindi languages, with Hindi judged the same blind way separately.
The examples. The clips in the player are real and unedited — press play and check each one against the reference yourself. The plain-English notes are our reading of what changed.
The verdict · and beyond
Two tests, nine languages, one answer: Bodhi gets the most words right by the standard count, and keeps the meaning best when a blind judge reads every transcript. And this is not even all of Bodhi — add English and it speaks ten languages in total, built the same accuracy-first way — so a voice agent that stays on track for one set of callers stays on track for the rest.
Want this accuracy on your own calls? Bring us a sample of your audio and we'll show you what Bodhi hears.
Book a meeting with us ↗