Back to Articles
Long-form audio transcription is one of the core machine learning problems we work on at Adalat AI to speed up judicial delivery. We work in a multilingual courtroom setting. To serve dictation systems at scale — in about 25% of India's courtrooms — we run low-latency batch pipelines that use voice activity detection(VAD) to segment the audio and transcribe the segments in parallel, multiplexing efficiently across many users. We presented this multiplexed, non-streaming ASR deployment at Interspeech 2025.
When we set the same 30-second VAD window for English and for the Indic languages, we observed something strange: the Indic transcripts would stop abruptly, mid-sentence, and the last visible character was almost always a weird question mark — the replacement character � (U+FFFD), the Unicode fallback for a byte sequence that cannot be decoded.
We did a detailed root cause analysis, documented both the cause and the fix, and shipped it into our pipeline. This article is the public version of that writeup.
Is it a training-data problem












