From OpenAI's Whisper Model to Your Own In-House ASR Service: Postprocessing and Language Modeling

Tutorials

From OpenAI's Whisper Model to Your Own In-House ASR Service: Postprocessing and Language Modeling

Raw Whisper output is impressive out of the box, but anyone who has shipped it to real users knows the gap between a demo transcript and something a downstream system can actually consume.

Raw Whisper output is impressive out of the box, but anyone who has shipped it to real users knows the gap between a demo transcript and something a downstream system can actually consume. Numbers are spelled out instead of digits, proper nouns get mangled, punctuation is inconsistent, and domain jargon comes out as the nearest phonetic guess. This fourth installment of the Whisper-to-in-house-ASR series focuses on the postprocessing and language modeling layer that closes that gap.

The walkthrough covers inverse text normalization, punctuation and casing restoration, biasing toward custom vocabularies, and how to compose an external language model with Whisper's decoder โ€” including the trade-offs between shallow fusion, rescoring, and prompt-conditioned decoding. It also flags where naive fixes bite back (over-biasing hurts general accuracy, aggressive ITN breaks timestamps) and how to evaluate the pipeline properly. If you're staring at a folder of Whisper transcripts wondering why the WER looks fine but the customer complaints keep coming, the deep-dive is worth your time.