Indian-language voice AI demos extremely well. Someone speaks a clean sentence of Hindi into a laptop microphone in a quiet room, the transcription is perfect, and everyone in the meeting is impressed. Then it goes onto a real phone line and the accuracy falls off a cliff.
The gap is not the model. It is four specific things about Indian phone calls that laptop demos never test.
1. The audio is 8 kHz, not 48 kHz
A telephone call is narrowband — 8,000 samples a second, roughly 300 Hz to 3,400 Hz. Your laptop microphone captures six times that. Every consonant that distinguishes similar words lives in the high frequencies the phone network throws away.
This is why a model that scores 95% on clean audio can drop to the seventies on a call, and why the only benchmark worth trusting is one run over an actual phone line. Test on the medium you will ship on.
2. People do not speak one language
Real Indian speech on a business call is code-mixed. A candidate answers "haan sir, main currently Bangalore mein hoon, but I'm open to relocating". That is one sentence in two languages with an English technical term in the middle.
A model configured strictly for Hindi will mangle the English half. A model configured for English will mangle the Hindi half. This is the single biggest cause of bad transcripts in Indian voice AI, and it is why we default to Sarvam for Indian-language calls — it was built for this specific problem rather than adapted to it.
3. Names are not in the vocabulary
General speech models are trained on general text. Indian names, cities, colleges and company names are long-tail, and a model will confidently substitute a common word it does know. "Sruthi" becomes "shruti" or "sooty"; "Guntur" becomes "gunter".
The practical fix is not a better model — it is telling the recogniser what to expect. Load the names, the cities and the domain terms you know will appear as keywords for the call, and accuracy on exactly the words you care about goes up sharply.
4. Silence means something different
Turn-taking is cultural. A pause that means "I have finished" in one context means "I am thinking" in another, and Indian speakers on a formal call — a job interview, say — often pause mid-thought while assembling an answer in their second language.
An agent tuned for Western conversational rhythm interrupts them. It feels rude, the candidate gets flustered, and the answer you collect is worse than the one they were about to give. The fix is to wait longer after a substantive answer than after a short confirmation — a distinction worth tuning explicitly rather than using one silence threshold for everything.
What good actually looks like
Not 99% word accuracy. On an Indian phone call in code-mixed speech, that number is not real and anyone quoting it is measuring something else.
What matters is whether the decision survives. If the transcript says "5 saal ka experience, Node aur React" and your rating extracts "5 years, Node, React", the call did its job — even if three filler words came out wrong. Judge the output you actually use, not the word error rate.
The only way to know is to hear it. Create a workspace, set the agent's language to the one your candidates actually speak, and call your own phone — then read the transcript and see whether you would have made the same decision from it.
