September 2026
|
25 min read

IndicTelephony-Bench: An Open ASR Benchmark for Indian Telephone Speech

25,393 human-curated utterances in nine languages, read from anonymized real business calls over live phone lines at 8 kHz: heavily code-mixed, mostly short turns, with the business terms a voice agent acts on tagged in every reference. We release the audio, the transcripts and the keywords, and baseline five speech-to-text systems on every utterance.

Prasoon Priyadarshi Author Prasoon Priyadarshi ConvoZen AI
Dataset STT ASR Benchmark Telephony Code-Mixed Indic Languages
25,393 utterances
30.18 h audio
9 languages
70.4% code-mixed
66.0% with keywords
30.0% under two seconds
3.1 s median turn
8 kHz sample rate

Indian Phone Calls Are Hard on Several Fronts at Once

Most public benchmarks for Indian-language speech recognition are read or extempore speech, recorded through a phone app or a microphone. Most Indian voice deployments are phone calls, and a phone call is hard in four ways at once. Callers speak in short bursts (“haan”, “wait karo”, “balance batao”); they switch between English and their own language mid-sentence; what they say carries business terms, such as amounts, plan names and places, that a voice agent has to get exactly right; and all of it reaches the model through a narrowband telephone channel.

Each of these trips models up in its own way, and the benchmark measures them separately: code-mixed against monolingual turns, short turns against long ones, keyword misses against overall word error. The channel is the least visible of the four, so it is worth being precise about why it matters, because the reasons are physical rather than a matter of recording quality.

  1. 1

    Nyquist caps the spectrum at half the sample rate

    A telephone line hands the model 8,000 samples a second. The Nyquist–Shannon theorem says a sampled signal can only represent frequencies below half its sample rate, so 8 kHz audio carries nothing above 4 kHz — not attenuated, absent. Anything higher would fold back down as alias noise, so the line filters it out before sampling. The codec narrows it further: the classic telephone passband is about 300 Hz to 3.4 kHz.

  2. 2

    What gets cut is where several consonants are told apart

    The hiss of s carries most of its energy above 4 kHz, while sh sits lower, around 2.5–4 kHz. On a phone line s loses the part that identifies it and sh survives, so the two collapse towards each other. f and th are faint and flat-spectrumed to begin with, and what is left to separate them are the formant transitions into the next vowel — cues the same band limit squeezes.

  3. 3

    Downsampling a clean corpus reproduces one of these, not the rest

    Resampling a studio recording to 8 kHz imitates the band limit. It does not add the codec’s quantisation noise, packet loss and its concealment, echo cancellation, automatic gain control, the handset, or the way people actually speak when they are on a call.

Where the energy goes
illustration

Schematic spectrograms of the same kind of speech. Left: 16 kHz wideband recording. Right: an 8 kHz telephone channel, where nothing above 4 kHz survives.

Telephone speech does exist in prior work. IndicVoices records its two-person conversations over 8 kHz telephony, about a sixth of the collection. Gram Vaani released spontaneous telephone Hindi. Voice of India evaluates fifteen languages on unscripted phone conversations, but keeps its test set closed. What was missing is an open, telephony-only benchmark, split into single turns across many languages, with the business vocabulary a voice agent acts on tagged in every reference.

IndicTelephony-Bench is built for all four conditions together. Every file was recorded over a live SIP telephone line and is released exactly as the line delivered it: 8 kHz, mono, 16-bit, never resampled.

Benchmark Speech Channel Access
KathbathRead news sentences, 12 languagesSmartphone appOpen
IndicVoicesRead, extempore, conversational, 22 languagesApp; conversations over 8 kHz telephonyOpen
Gram VaaniSpontaneous, Hindi onlyTelephoneOpen
Voice of IndiaUnscripted conversations, 15 languagesTelephoneClosed; open subset via submission
IndicTelephony-BenchReal call text read aloud, 70.4% code-mixed, 9 languagesLive telephone line, 8 kHzOpen: audio, references, keywords

What Is in the Benchmark

25,393 single-speaker utterances (30.18 hours) across Bengali, English, Gujarati, Hindi, Kannada, Malayalam, Marathi, Tamil and Telugu. Every language has at least three hours. Utterances are short, with a median of 3.1 seconds, because a telephony system decodes one conversational turn at a time.

Language Utterances Hours Code-mixed Short utterance (< 2 s) Median
Bengali 2,211 3.25 90.9% 6.9% 4.20 s
English 3,672 3.01 — 63.8% 1.42 s
Gujarati 2,230 3.90 87.6% 10.1% 5.16 s
Hindi 2,837 3.35 76.1% 41.8% 2.76 s
Kannada 3,549 3.92 79.4% 27.2% 2.66 s
Malayalam 2,319 3.29 92.1% 8.9% 4.08 s
Marathi 2,111 3.43 97.8% 3.7% 5.22 s
Tamil 3,173 3.00 86.1% 36.4% 2.44 s
Telugu 3,291 3.02 60.7% 40.0% 2.34 s
Total 25,393 30.18 70.4% 30.0% 3.1 s
Utterance length
Most frequent language tags
en 3,714
en-kn 2,791
en-ta 2,723
en-hi 2,148
en-ml 2,134
en-mr 2,074
en-bn 2,008
en-te 1,998

code-mixed tag, English plus a local language · 31 distinct tags in total

Every utterance carries a business domain. Automotive and real estate lead, followed by banking, telecom, insurance, e-commerce, education and healthcare, and 66.0% of utterances carry curator-tagged keywords: the policy numbers, loan amounts, plan names and car variants a support call turns on.

Domains
share of hours · keyword coverage
Real estate
25.7% 77% kw
Automotive
20.5% 70% kw
Banking & finance
10.1% 59% kw
Insurance
9.1% 68% kw
Telecom
8.6% 78% kw
E-commerce
6.2% 56% kw
Education
3.8% 56% kw
Healthcare
2.8% 64% kw
Other
13.2% 52% kw

Domain is the curator's label, with the earlier label kept where a curator did not assign one. “kw”: share of that domain's utterances with tagged keywords.

Code-mixing is the norm, not a special case. Outside English, most utterances carry English words, and a system has to keep them in Latin script while writing the rest in the native script, inside one breath:

One utterance · two scripts
en-hi · 6.2 s

बस ये कि चार लाख पच्चीस हजार पे ये जो company का service charge होता है वो कटेगा

6.2s
English, Latin script Hindi, Devanagari 8 kHz audio, exactly as it appears in the benchmark

Listen to the Benchmark

One turn from each language, played from the release files themselves: 8 kHz, straight off the phone line. English words are shown in blue and native-script words in violet; outlined words are the turn's tagged keywords, the terms KWER checks.

Bengali en-bn
4.9s

sirএকটাconfirmationcallআসবেonepressকরেinspectionটাconfirmকরেদেবেন

confirmation callone pressinspectionconfirm
English en
4.8s

yessirifyoucomebysevenPMsevenPMtoninePMweprovidethetableforyou

seven PMnine PMtable
Gujarati en-gu
5.6s

એકસોએંસીમેંrechargeકર્યુંછેએંસીરૂપિયાવપરાઈગયારૂપિયાગયાક્યાંsir

એકસો એંસીrechargeએંસી રૂપિયા
Hindi en-hi
6.2s

बसयेकिचारलाखपच्चीसहजारपेयेजोcompanyकाservicechargeहोताहैवोकटेगा

चार लाख पच्चीस हजारservice charge
Kannada en-kn
5.9s

ಆcarನನೋಡಬಹುದುtestdrivetestdriveಕೂಡಮಾಡಬಹುದು

cartest drive
Malayalam en-ml
4.7s

ഓരോവ്യക്തികളുടെhealthconditionഅനുസരിച്ച്എല്ലാmedicinesupportഉംമാറും

health conditionmedicine support
Marathi en-mr
5.1s

सत्तरच्याbudgetमध्येचबघानाहीमाझंपाहिलेपासष्टचाbudgetहोता

सत्तरच्या budgetपासष्टचा budget
Tamil en-ta
4.2s

sirpleaselineலஇருந்தாcalldisconnectபண்ணிடாதிங்கsir

call disconnect
Telugu en-te
6.9s

twentyfourtotalగాsirఎంతఅవుతుందిఅంటేonethousandthreehundredandfortytworupeesఅవుతుందిచూడండి

twenty fourone thousand three hundred and forty two rupees

How We Built It

The goal was real telephone acoustics carrying real business language. The text comes from real customer-service and sales calls across many domains (banking, insurance, real estate, automotive, telecom, e-commerce, education, healthcare). Curators transcribed each source call by ear and anonymized it, replacing every name, number and address with a placeholder; the source audio is never released. The transcripts were then cut into turn-sized chunks and shuffled, and two speakers read them aloud to each other over a live phone line. The wording, fillers and code-mixing are those of real calls, and the channel and codec are genuine; the delivery is read, and the turn order is shuffled.

Construction pipeline
  1. 1

    Anonymize real calls

    Curators transcribe real business calls by ear and replace every personal detail with a placeholder. The source audio is never released.

  2. 2

    Read them over live telephone lines

    The transcripts are cut into turn-sized chunks and shuffled, and two speakers read them to each other over a SIP line. Audio is kept exactly as delivered: 8 kHz, mono, 16-bit.

  3. 3

    Segment into single-speaker turns

    The recorded calls are trimmed and diarized with DiariZen; each speaker turn becomes one utterance, cut from the original 8 kHz audio with no length threshold.

  4. 4

    Blind curation and quality filters

    A speaker may not read a chunk exactly, so each turn is transcribed again from its own audio, next to drafts from every evaluated system with names hidden and order shuffled; the audio wins whenever all of them are wrong. Duplicate, empty and unintelligible turns are dropped.

  5. 5

    Freeze and fingerprint

    The release is frozen with a SHA-256 hash for every file, so every score in this article is traceable to an exact, fingerprinted set of utterances.

Every transcript follows one written convention, and the scoring code applies the same convention to every system:

English stays in Latin script

Local-language words stay in their native script, and nothing is translated or transliterated either way. Folding one script into the other would hide the code-mixing this benchmark exists to measure, so the scorer never does it either.

Numbers as spoken

“twenty six thousand” is written as said. Before WER or CER is computed, the reference and every system’s output pass through one identical normalizer (case, punctuation, number form, filler spelling), so a system that prints “26,000” is not charged an error for house style.

Fillers are kept

“haan”, “hmm”, “ah” are part of what was said, and part of what a telephony system must handle.

Keywords are tagged

The domain-salient words of each turn (amounts, product names, places) are tagged as spans of its transcript, and scored wherever they occur in it.

Scoring Code-Mixed Speech Fairly

Reference and hypothesis pass through one published normalizer before any metric is computed, so no system is charged for differences of writing convention rather than recognition. It never transliterates between scripts, because that would forgive real errors. Everything below is measured after that step.

We define five metrics and specify all of them, and report two companions alongside: macro WER and keyword precision. The five are lower-is-better and computed at corpus level (total errors over total reference units, not an average of per-utterance rates).

WERWord error rate

Substitutions, deletions and insertions needed to turn the hypothesis into the reference, divided by the number of reference words.

CERCharacter error rate

The same edits counted over characters, divided by reference characters. It does not depend on where word boundaries are drawn.

MERMixed error rate

Errors over mixed reference units: a Latin-script token counts as one unit, a native-script token as its aksharas, so neither script dominates the total.

KWERKeyword miss rate

Curators tag the words each turn turns on — amounts, dates, product names, places. KWER is how many of them the system failed to say back: miss two of ten tagged keywords and KWER is 20%, however well the rest of the turn was transcribed.

Macro WERLanguages weighted equally

The mean of per-language WER over the languages a system supports, so the largest languages do not dominate the total.

Keyword precisionand keyword F1

Of the domain keywords a system writes, the share that were actually said in that turn; keyword F1 combines it with keyword recall. Higher is better for both.

Semantic WERMeaning-preserving WER

WER recomputed after forgiving only verified same-meaning variants: script, spelling, split or joined words, fillers and number form. A wrong word, number or negation is never forgiven.

Baselines: Five Systems, Every Utterance

We ran five contemporary speech-to-text systems, one per vendor: Akshara (ConvoZen AI), Saaras v4 (Sarvam), Scribe v2 (ElevenLabs), Pulse (Smallest.ai) and Nova-3 (Deepgram). Each received the released 8 kHz audio (resampled to the model's 16 kHz for Akshara) and the utterance's base language wherever its API accepts one; Akshara received audio only, with no language hint. None of the benchmark audio, transcripts or speakers, nor the source calls, was used to train, tune or select Akshara. All systems were queried once per utterance in August–September 2026. Nova-3 does not support Malayalam, so it is scored on the other eight languages. A turn a system returned nothing for is scored as fully deleted. Lower is better.

System WER KWER Sem. WER
Akshara
ConvoZen AI
9.7 9.0 5.6
Saaras v4
Sarvam
16.8 12.5 9.3
Scribe v2
ElevenLabs
23.6 24.2 13.3
Pulse
Smallest.ai
27.4 41.2 13.5
Nova-3
Deepgram · no Malayalam
31.5 53.1 16.5

All values in %. Bold marks the best value per column; on narrow screens only WER, KWER and semantic WER are shown. Macro: per-language WER averaged with every supported language weighted equally. KwP and KwF1 (keyword precision and F1) are higher-is-better; every other column is lower-is-better. Intervals: 1,000 bootstrap resamples over calls, because turns within a call share a line and speakers. KWER is scored on the 35,881 tagged keywords that occur in their reference transcripts, and on 31,600 for a system that does not cover every language.

What Semantic WER Changes

Semantic WER forgives a difference only when a check confirms the two spellings are the same word. It is not a kinder WER applied evenly: recovery tracks how much lexical error a system had to begin with, so Nova-3 gains 14.9 points and Akshara only 4.2 points, and the leader's margin over second place narrows from 6.9 points to 4.0 points.

Where the recovery comes from
script spelling split/join filler number
Nova-3
31.5% → 16.5%
Pulse
27.4% → 13.4%
Scribe v2
23.6% → 13.3%
Saaras v4
16.8% → 9.3%
Akshara
9.7% → 5.6%

Bar length is the total error each system recovers, split by the kind of difference that was forgiven. Script alone accounts for up to 9.0 points (Nova-3); the most frequently forgiven pair in the whole corpus is an Indian-script spelling of the English word sir. Number formats are worth at most 0.4 points to anyone.

Forgiven

The same word in another script (सर / sir), a spelling variant within one script, a word written joined or split, a filler, and a number whose value is confirmed.

Never forgiven

A different word, a wrong number, a pair spanning two different Indian scripts, and any rewrite that does not strictly reduce the edit count. Semantic WER can therefore never be higher than WER.

One consequence: Pulse and Scribe v2 become indistinguishable, 0.3 points apart with a paired interval that includes zero. Every other gap survives. Because an LLM proposes the candidate pairs, this is the one number here that is not perfectly repeatable: two runs of the judge moved a system by at most 0.48 points. WER, CER, MER and KWER involve no model at all.

Because Nova-3 skips Malayalam, the like-for-like ranking uses the eight languages every system supports: Akshara 8.9%, Saaras v4 15.8%, Scribe v2 22.5%, Pulse 24.7%, Nova-3 31.5%. Every step in that ranking holds up statistically: scoring all systems on the same resampled calls, the 95% interval of each gap excludes zero.

Model comparison

How each system fails

Error shape, not error size · best system on each axis = 1.0

The table above already ranks the systems, so this does something else: every axis is a ratio that divides overall accuracy out and leaves only the shape of a system’s errors. Code-mix robustness is code-mixed WER over monolingual WER; short-turn robustness is WER under two seconds over WER past ten; keyword retention is KWER over WER; character precision is CER over WER, low when a wrong word is only slightly wrong; cosmetic errors is semantic WER over WER, low when most of what a system gets wrong is script or spelling rather than content. Each ratio is normalised to the best system on that axis. No polygon contains another — the system steadiest across code-mixing is the one that struggles most on short turns. Hover any point for its ratio.

Language-Specific Breakdown

Word error rate per language. Compare systems within a row, not languages with each other: each language was recorded on its own small set of lines, so a harder row may reflect its speakers as much as its language. Lower is better.

Language Akshara Saaras v4 Scribe v2 Pulse Nova-3
Bengali 4.35% 12.38% 21.50% 18.18% 43.07%
English 7.35% 7.79% 10.18% 11.78% 11.73%
Gujarati 11.42% 18.58% 19.90% 24.56% 40.65%
Hindi 7.01% 9.36% 13.03% 11.85% 13.14%
Kannada 16.73% 27.08% 38.87% 32.81% 42.61%
Malayalam 17.98% 26.55% 34.26% 54.54% —
Marathi 6.34% 19.42% 25.08% 27.88% 26.21%
Tamil 7.76% 22.19% 32.59% 24.57% 38.55%
Telugu 10.10% 11.18% 24.59% 50.54% 36.23%

Where Systems Break: Code-Mixing and Short Turns

Two properties of phone traffic pull the systems apart in ways the corpus average hides. On code-mixed turns a model must switch scripts mid-utterance, and on turns under two seconds it has almost no acoustic or linguistic context to lean on. 30.0% of the benchmark sounds like this:

Malayalam 2.0 s
2.0s

അങ്ങനെ ചെയ്യാൻ പറ്റില്ല

Kannada 1.6 s
1.6s

ಹೌದು sir ಹೌದು

Telugu 1.2 s
1.2s

ఏమంటున్నారు sir

WER · code-mixed vs monolingual
WER · by utterance length

The two slices are not the same weakness. Code-mixing costs Nova-3 16.5 points, from 18.1% on monolingual turns to 34.5% on mixed ones, while Akshara moves only 0.6 points. Short turns behave differently again: going from turns of ten seconds or more down to turns under two seconds costs Scribe v2 14.4 points, while Saaras v4 is 2.0 points better on the short turns. A system can be robust to one and not the other, which is why a single corpus number is a poor guide to how a model will behave on your traffic.

Keywords sharpen the picture further. Measured against its own word error rate, Nova-3 misses tagged keywords at 1.69 times that rate (53.1% KWER against 31.5% WER). A transcript can read plausibly and still drop the amounts, product names and places the rest of the pipeline acts on. The reverse failure is rare: keyword precision, the share of domain keywords a system writes that were actually said, is between 94.7% and 98.4% for every system. Systems differ in the keywords they miss, not in keywords they invent.

Results by Domain

Word error rate and keyword miss rate per business domain. Domains overlap with languages (each language's calls lean towards a few scenarios), so read this as where each system's errors land, not as how hard a domain is in itself. Lower is better.

Domain AksharaSaaras v4Scribe v2PulseNova-3
WERKWERWERKWERWERKWERWERKWERWERKWER
Real estate 9.0% 7.7% 19.8% 13.8% 26.3% 26.6% 28.5% 39.7% 35.7% 55.6%
Automotive 10.6% 10.1% 17.6% 12.9% 27.0% 28.0% 32.3% 46.4% 36.3% 59.1%
Banking & finance 8.8% 7.6% 12.4% 10.2% 18.2% 18.1% 20.8% 30.9% 21.0% 33.8%
Insurance 10.2% 10.2% 17.4% 14.4% 18.5% 19.7% 23.7% 39.4% 36.5% 75.7%
Telecom 9.5% 9.8% 17.8% 12.5% 25.1% 30.1% 32.6% 52.6% 35.7% 65.4%
E-commerce 12.0% 10.4% 16.8% 12.1% 28.0% 21.6% 29.5% 42.9% 28.8% 41.4%
Education 7.6% 8.3% 10.6% 10.4% 14.6% 14.4% 21.9% 35.5% 15.5% 24.4%
Healthcare 8.6% 11.0% 14.1% 12.0% 19.3% 19.1% 24.1% 38.9% 22.0% 32.5%
Other 10.3% 8.0% 15.0% 9.7% 22.5% 21.0% 24.5% 36.8% 25.7% 39.5%

What This Benchmark Is Not

A benchmark whose limits are discovered by its users is worse than one that states them.

  1. 01

    Read, not spontaneous. The wording comes from real business calls, anonymized, but each turn was read aloud in shuffled order. The line, channel and codec are real; spontaneous disfluencies, overlaps and turn-taking are not.

  2. 02

    Mostly clean telephony. Most turns are clear, a few carry background noise or line artefacts. Sustained street or office noise is not covered.

  3. 03

    Language and line move together. Each language was recorded on essentially one of nine phone lines by few speakers, so speaker and line vary along with it. Compare systems within a language.

What Is Released

Hugging Face

Dataset

25,393 utterances, 30.18 hours, 8 kHz. Audio, references, keywords and domain labels, under CC BY 4.0.

Open on Hugging Face

GitHub

Scoring suite

Evaluate your speech-to-text system on this benchmark: WER, CER, MER, keyword miss rate and semantic WER, with confidence intervals. Apache 2.0.

Open on GitHub

Cite

IndicTelephony-Bench v1.0 · Authors: Prasoon Priyadarshi, Zaheer Abdul Azeez · ConvoZen AI

@misc{indictelephonybench2026,
  title  = {IndicTelephony-Bench: An Open ASR Benchmark for Indian Telephone Speech},
  author = {Priyadarshi, Prasoon and Abdul Azeez, Zaheer and {ConvoZen AI}},
  year   = {2026},
  note   = {25,393 utterances, 30.18 hours, nine languages, 8 kHz telephony}
}

ConvoZen AI · IndicTelephony-Bench v1.0 · 2026

All metrics are lower-is-better and computed at corpus level after one shared normalizer. Systems were run between August and September 2026 through their public APIs; the model identifiers and request settings are listed in the paper. Semantic WER uses an LLM only to propose candidate equivalences; each is accepted only if a deterministic check confirms it. Methodology informed by Google Research on meaning preservation in ASR.

© 2026 ConvoZen AI. All rights reserved.