Synthetic-to-Real Code-Switched ASR: A Spontaneous Nepali-English Podcast Benchmark
Organizations: Wiseyak Inc.
Abstract
Nepali-English code-switched conversational speech presents severe challenges for automatic speech recognition (ASR), chiefly through script confusion (inappropriate mixing of Devanagari and Latin orthography) and elevated error rates at language switch points. Supervised fine-tuning (SFT) can adapt multilingual foundation models, but human code-switched audio is expensive to collect and annotate. We curate a new benchmark of 13,044 spontaneous podcast utterances (15.45 h total; 10,214 test, 2,830 dev), audited and verified to eliminate machine translation leakages and acoustic loops. We investigate a two-stage synthetic-to-real adaptation framework: Stage 1 applies SFT on 0.95 h of speech synthesized via a multi-speaker, dual-engine TTS pipeline; Stage 2 explores Group Relative Policy Optimization (GRPO) with transcription and script rewards. We find that synthetic SFT provides the primary cross-domain transfer to spontaneous human speech, reducing Mixed Error Rate (MER) from 23.40% to 21.52% (-1.88 pp) and switch-point error rate (SPER) from 35.89% to 28.77% (-7.12 pp). Subsequent GRPO yields small, statistically significant adjustments on 173 test utterances (1.69%), driving English script confusion (SCR_en) from 6.45% to 6.36% (p <= 0.001) and SPER to 28.70% (p = 0.022 clustered). Crucially, ablation reveals that in this SFT-converged encoder-decoder setting, an auxiliary script reward term yields performance identical to MER-only optimization because rollout candidate groups exhibit near-zero script variance on synthetic data. On monolingual benchmarks, SFT improves Nepali MER by 2.71 pp (stabilizing at 18.42% after GRPO, a 2.38 pp gain over baseline) while preserving English lexical WER (3.38% vs. 3.33%). Verified transcripts, timestamps, episode metadata, and reconstruction scripts are publicly released.
Figures & tables
| Corpus | System | MER | WER | CER | SCR |
|---|---|---|---|---|---|
| Nepali (BHASAANUVAD) | Base | 20.80 | 30.73 | 22.52 | 8.71 |
| (1,000 utt, 1.95 h) | SFT | 18.09 | 29.06 | 19.22 | 6.95 |
| GRPO | 18.42 | 29.52 | 19.56 | 6.95 | |
| English (LibriSpeech) | Base | 4.21 | 3.33 | 1.59 | 0.59 |
| (1,000 utt, 1.50 h) | SFT | 5.38 | 3.42 | 1.49 | 1.07 |
| GRPO | 5.27 | 3.38 | 1.47 | 1.03 |
Appendix figures & tables5 assets
Supplementary material from the paper’s appendix.
Appendix
| Corpus Partition | Utterances | Duration (h) | Episodes | Speakers | Nepali Words | English Words | Total Words | Switch Points |
| Raw Scraped Pool | 13,277 | 15.74 | 28 | 72 | — | — | — | — |
| Quarantined (Audio/Music) | 233 | 0.29 | — | — | — | — | — | — |
| Verified Clean Total | 13,044 | 15.45 | 28 | 72 | 123,174 (67.3%) | 59,839 (32.7%) | 183,013 | 29,033 |
| Real Dev Split | 2,830 | 3.55 | 16 | 20 | 28,041 (66.5%) | 14,121 (33.5%) | 42,162 | 7,504 |
| Frozen Real Test Split | 10,214 | 11.90 | 25 | 52 | 95,133 (67.5%) | 45,718 (32.5%) | 140,851 | 21,529 |
| Configuration / Hyperparameter | Stage 1: SFT | Stage 2: GRPO |
| Model Architecture & Adaptation Strategy | ||
| Base Architecture | IndicTranscribeFlex (Canary-1B-v2, 1.22B parameters, FastConformer) | |
| Acoustic Encoder | Frozen (32 Conformer blocks, 8 attention heads, ) | |
| Trainable Parameters | 410.46M (33.60% of 1.22B base model: 24-layer Transformer decoder + head) | |
| Adapted Modules | transf_decoder.* (all 24 layers) and log_softmax.* projection head | |
| Optimization & Training Schedule | ||
| Algorithm: Deterministic Script Confusion Rate (SCR) Calculation |
|---|
| Input: Reference sequence , Hypothesis sequence |
| Output: Overall Script Confusion Rate , English Script Confusion Rate |
| 1: Tokenize sequences into whitespace-delimited word tokens: |
| 2: Assign script labels: , where |
| 3: Compute Levenshtein distance alignment matrix using unit edit cost ( ) |
| Deterministic backtrace tie-breaking: |
| Utterance ID & Context | System | Transcription |
|---|---|---|
| HFtjKhqjJdM_0634 | Ground Truth | … \devfont चार पाँच हजार dollar \devfont कमाउनुहुन्थ्यो भने youtube \devfont बाट |
| “If you earned $4–5k from YouTube…” | Base | …4-5 \devfont हजार कमाउनु हुन्थ्यो भने youtube \devfont -बाट |
| SFT | … \devfont चार पाँच हजार डलर कमाउनुहुन्थ्यो भने युट्युबबाट | |
| GRPO | … \devfont चार पाँच हजार dollar \devfont कमाउनुहुन्थ्यो भने youtube \devfont बाट | |
| kM6-yopuJWU_0673 | Ground Truth | \devfont बर्गर context \devfont मा chicken \devfont नै हो हैन त्यसपछि kfc \devfont भयो |
| “In burger context it’s chicken, then KFC…” | Base | … bargar oven x \devfont -मा चिकनै हो होइन त्यसपछि kfc \devfont भयो |
| Thematic Domain | Episodes | Speakers | Duration (h) | Nepali Words | English Words | Representative Embedded Terms |
|---|---|---|---|---|---|---|
| Entrepreneurship & Business | 9 | 24 | 5.12 | 41,208 (65.8%) | 21,428 (34.2%) | startup, equity, revenue, brand, outlet |
| Technology & AI | 7 | 18 | 3.86 | 30,119 (64.1%) | 16,870 (35.9%) | software, model, feature, backend, system |
| Higher Education & Career | 6 | 15 | 3.31 | 27,243 (68.7%) | 12,411 (31.3%) | university, semester, career, visa, degree |
| Public Health & Society | 6 | 15 | 3.16 | 24,604 (72.9%) | 9,130 (27.1%) | hospital, mental health, community, case |
| Total Benchmark | 28 | 72 | 15.45 | 123,174 (67.3%) | 59,839 (32.7%) | 29,033 switch points |
Code-Switching Speech Recognition
Code-switching speech recognition transcribes speech that shifts between languages, preserving words, language boundaries, and writing systems.
See all 22 papers