Abdullah Naeem

All work

Urdu speech recognition for voice agents

The base model wrote no Urdu at all. After adding Urdu to its tokenizer and fine-tuning on 121 hours of speech, the latest test run transcribes code-switched Urdu–English at a 22.1% word error rate, fast enough to stream on live calls. This is ongoing work, and the numbers on this page move as the model improves.

Where
Miras AI, Lahore
Status
In progress, since September 2026
Built with
NVIDIA NeMo, Nemotron 3.5, PyTorch
Code
Proprietary; happy to walk through it in an interview

The problem

Miras AI builds voice agents. In Pakistan, callers speak Urdu, and most of them switch to English mid-sentence: میرا order ابھی تک deliver نہیں ہوا (my order still hasn't been delivered). Off-the-shelf speech recognition either ignores Urdu or forces everything into one language, so the agent mishears exactly the words that carry the request.

The goal was a model that understands Urdu, keeps the English words, and is fast enough that a caller never waits on transcription.

Data

121 hours of transcribed Urdu speech, including Urdu–English code-switching. Scores are reported as normalised word and character error rates, so formatting differences such as punctuation are not counted as mistakes.

Architecture

  1. Extend the tokenizerThe base model produced no Urdu output, so before training I extended its tokenizer with a new Urdu token.
  2. Fine-tuneTrained on the 121 hours with NVIDIA NeMo on a vGPU T40.
  3. Stream in chunksAudio is decoded in 320 ms chunks with 240 ms of lookahead, giving 0.56 s of algorithmic latency.
  4. Commit text per chunkEach chunk takes 67 ms of compute at p95, well inside its 320 ms budget.

Results

Latest test run. These figures are not final; I update them as the model improves.
MetricBase modelLatest test
Word error rate (normalised)≈100%22.1%
Character error rate≈100%17.0%
English words kept in mixed speechnone74.6%
Algorithmic latency–0.56 s
Compute per chunk, p95–67 ms
Real-time factor–0.18

A real-time factor of 0.18 means one second of audio is processed in 0.18 seconds, 5.5 times faster than it is spoken.

Where it breaks

Next case study: AI phone intake for US law firms