Code-Switching ASR · ਪੰਜਾਬੀ
Punjabi Data for Code-Switching ASR
Recognising speech that switches between an Indian language and English several times per sentence. In Punjabi, the binding constraint is usually dialect coverage and code-mixing, not raw hours.

- Language
- Punjabi
- Primary metric
- Switch-point accuracy
- Typical volume
- 100-500 hours
Data profile required
- Genuinely code-mixed spontaneous speech
- Per-token language ID labels
- A fixed rule for script of English tokens
What Punjabi adds to the requirement
- Punjabi is tonal: high, low and level tones distinguish words, and tone is not marked in Gurmukhi orthography
- Historical voiced aspirates surface as tone rather than aspiration, which confounds shared Indic phone sets
- Dialects to cover: Majhi (standard), Malwai, Doabi, Puadhi
- Punjabi speech mixes Hindi and English freely, with strong diaspora influence in urban registers.

Metrics to track
- Switch-point accuracy
- Mixed-utterance WER
- Language ID token accuracy
Failure modes
- Concatenating monolingual data and calling it code-mixed
- Leaving script conventions to individual annotators
For Punjabi specifically: Tonal variation is essentially unmodelled in public Punjabi data, and Malwai/Doabi rural speech is scarce.
Recommended cohort
Cover all three historic regions (Majha, Malwa, Doaba); tone realisation differs measurably between them.
| Dimension | Typical split | Why it matters for Punjabi |
|---|---|---|
| Gender | 50 / 50 | Pitch range differences change acoustic model behaviour; unbalanced cohorts bias recognition |
| Age | 18-25: 30%, 26-40: 40%, 41-60: 30% | Older speakers retain conservative Punjabi forms that younger urban speakers have lost |
| Region | Punjab / Haryana / Delhi and others | Dialect spread across 5 recognised varieties |
| Education | Mixed, including below-graduate | Prompt-reading fluency correlates with education and skews prosody |
| Condition | Studio / quiet room / field | Match the noise profile of your deployment |
Suggested programme shape
Start with an evaluation set of 100 speakers spread across every Punjabi dialect in scope, collected before training data. Then field 100-500 hours of training data from disjoint speakers.
This ordering is what makes the improvement measurable rather than assumed.
Frequently asked
Is there usable public Punjabi data for code-switching asr?
Tonal variation is essentially unmodelled in public Punjabi data, and Malwai/Doabi rural speech is scarce.
How many Punjabi speakers do we need?
300-800 speakers for a training corpus, plus a disjoint evaluation cohort covering each dialect. Speaker count matters more than hours for generalisation.
Can you run this across multiple languages at once?
Yes. Multi-language programmes run to one master specification so per-language results stay comparable.
Scope Punjabi data for code-switching asr
Send the target metric and the languages in scope.