Our ASR becomes garbage when callers switch languages mid sentence
Summary
A practitioner shares how their ASR pipeline failed on code-switching calls because language detection ran once at the start, mangling the Hindi portion of English-Hindi utterances; they now run continuous detection and route unstable chunks to a review queue, exposing how benchmark numbers diverged from real-world caller behavior.
Similar Articles
Can Voice Agents Handle Bilingual Customers? Benchmarking Frontier ASR on Code-Switched Speech
ServiceNow AI releases a benchmark and dataset for evaluating automatic speech recognition (ASR) on code-switched speech across four language pairs (Spanish-English, French-English, Canadian French-English, German-English) in enterprise HR and IT scenarios, finding that current frontier ASR models still struggle with code-switching, leading to higher error rates.
Benchmarking Commercial ASR Systems on Code-Switching Speech: Arabic, Persian, and German
This paper presents a benchmark evaluating five commercial ASR systems on code-switching speech across Arabic-English, Persian-English, and German-English pairs, using a two-stage pipeline to select 300 samples per pair and assessing performance with WER and BERTScore. ElevenLabs Scribe v2 achieves the lowest overall WER (13.2%) and highest BERTScore (0.936), with public dataset available.
Towards Truly Multilingual ASR: Generalizing Code-Switching ASR to Unseen Language Pairs
This paper investigates whether code-switching ASR capabilities learned from limited seen language pairs can generalize to unseen pairs using model merging and domain generalization methods, finding only modest transfer.
Real-time multilingual ASR using rolling buffers and monolingual models [P]
A routing-based approach for real-time multilingual ASR that uses smaller monolingual models with a rollback mechanism to handle language switches, achieving ~13% WER on inter-utterance code-switching and open-sourcing the system.
My AI system kept randomly switching to French mid-answer and it took me way too long to figure out why
A developer describes how French text in retrieved contexts caused their multilingual RAG system to unpredictably switch languages mid-answer, ultimately solved with a regex-based German detector and explicit negative prompts.