Urdu Speech Datasets for ASR: What AI Teams Should Evaluate
Urdu is spoken by well over 200 million people, yet it remains thin in web data. Here is what to check before you train or test an Urdu speech model.
Use both. Word error rate (WER) is the number buyers and papers quote, so you need it for comparison. Character error rate (CER) is usually the fairer signal for Urdu, because Urdu spelling, spacing and Roman Urdu transliteration vary in ways that WER counts as full word errors. Neither metric tells you whether the meaning survived, so add a short meaning-critical check on top. And whatever you choose, apply the same text normalisation to the reference and the model output before scoring.
WER compares the model output with a verified reference transcript, word by word. It counts the minimum number of substitutions (S), deletions (D) and insertions (I) needed to turn one into the other, divided by the number of words in the reference (N):
It is simple, widely understood and easy to compare across systems. Its weakness for Urdu is that a "word" is not stable. The same word can be written kya, kia or kiya in Roman Urdu. In Nastaliq, writers differ on spacing in compounds and on optional diacritics. Each of those differences counts as a whole wrong word, even when a native speaker would say the transcript is correct.
CER uses the same formula on characters instead of words. A one-letter spelling difference costs one character, not one word, so CER is far less sensitive to spelling variants. That is why it is common for languages with rich morphology or loose spelling conventions. Its weakness is the opposite of WER’s: a short but important word that is completely wrong, such as a number or a negation, barely moves the CER.
| WER | CER | |
|---|---|---|
| Unit | Words | Characters |
| Effect of spelling variants | Large — each variant is a wrong word | Small — usually one or two characters |
| Effect of a wrong short word | Visible | Can be almost invisible |
| Comparable with published results | Yes, most papers report it | Often, especially for low-resource languages |
| Best use for Urdu | Headline number, after normalisation | Fairer accuracy signal, alongside WER |
Take a typical appointment request in Roman Urdu: “kya aap kal subah das baje aa sakte hain” (can you come tomorrow at ten in the morning?). Here are two model outputs. Both examples are illustrative, not client results.
On raw WER, output A scores 44.4% and output B scores 11.1%. On CER, A scores 12.5% and B 5.0%. If you ranked models by raw WER alone, you would pick the one that books the wrong day. This is the core problem with scoring Urdu naively: the metric reacts strongly to spelling and weakly to meaning.
Most of the gap in output A disappears once both texts are normalised the same way. Agree the rules before testing and apply them to the reference and the hypothesis alike:
After normalisation, output A in the example drops to 0% WER, which matches what a native reviewer would say. Output B stays wrong — as it should.
Error rates treat every word the same. Products do not. For a bank, a delivery service or a clinic, a handful of word types carry most of the risk: numbers and amounts, dates and times, negations (nahin), names, and the intent words that route a call. We tag every error in these classes as meaning-critical and report their rate separately. Two models with the same WER can differ several-fold on this measure, and it is usually the number that decides whether a voice agent is ready.
When we read through failed Urdu utterances, the same patterns come up again and again. Tagging errors by pattern makes the report actionable for the team that has to fix the model:
Counting errors by pattern also shows whether a fix worked: after fine-tuning, the share of each pattern should fall, not just the overall WER.
A single WER figure is not a report. Ask for:
This is the format of our Urdu speech evaluation and our voice agent and IVR audit. If you want the numbers on your own model, start with a fixed-scope pilot.
Report both. WER is the comparable headline number; CER is fairer to Urdu spelling variation. Normalise the text the same way before computing either.
Usually spelling and spacing variants, especially in Roman Urdu, are counted as wrong words. Apply an agreed normalisation and compare again; the remaining errors are the real ones.
It depends on the speakers, audio and domain, so there is no single target. Compare models on the same private test set and normalisation, and look at meaning-critical errors before deciding.
No. Score each script separately with its own normalisation rules, and never mix them in one number.
About 100 well-chosen utterances are enough for a first diagnostic of where a model fails. Stable comparisons need a few hundred per accent or recording condition.
A fixed-scope pilot across Saraiki, Pakistani Punjabi and Urdu with a full error report. You keep the findings.