Voicely

Code-switching: callers who mix Hindi and English

Updated

Code-switching is a speaker moving between two languages within a single sentence, which is how most Indian customers talk on the phone. Systems built to be set to one language per call mishandle it, and the damage is worst in the timing that decides when a caller has finished speaking.

Code-switching
Moving between two languages inside a single utterance, such as a caller who begins a sentence in Hindi, names a product in English and finishes in Hindi. Standard conversational behaviour in multilingual markets, and a common failure point for voice systems.
Code-switching and the terms around itCode-switching, related to End-of-turn detection, Response time, Voice AI agentEnd-of-turn detectionResponse timeVoice AI agentCode-switching
Code-switching and the terms around it

What it is

Code-switching is a speaker moving between two languages inside one utterance. On an Indian customer-service call this is not an edge case, it is the default:

Mera order abhi tak deliver nahi hua, tracking mein “out for delivery” dikha raha hai since Tuesday.

One sentence, two languages, and the words that carry the actual meaning are split across both.

Why it defeats a language setting

Most voice platforms let you choose a language per agent or per call. That model assumes one caller speaks one language, and it holds fine in a market where that is true. Where it is not true, the setting is wrong for part of every call regardless of which value you choose.

The visible damage is in transcription. The less visible and more expensive damage is in timing.

The timing problem

A voice agent has to decide when the caller has stopped talking, using the length of a pause; that decision is end-of-turn detection. Set that threshold short and the agent interrupts people mid-thought. Set it long and every turn of the call carries dead air, which is the main thing callers notice, as described in response time.

The right threshold is not the same across languages. Measured against a labelled set of real calls, English wants a noticeably shorter pause than Hindi does, and speech that switches between them behaves like neither. A single value tuned on English speakers cuts Hindi speakers off; the same value stretched to suit Hindi makes every English call feel sluggish. This is why Voicely tunes the threshold per language against recordings rather than shipping one number, and the measurements behind it are in why voice AI built for English struggles on Indian calls.

What to ask a vendor

  • Play them a mixed sentence, not one language and then the other. Ask for the transcript.
  • Ask what the pause threshold is set to, and whether it is the same for every language. If the answer is one number, the system was tuned on one language.
  • Ask what happens when the caller changes language partway through a call, rather than partway through a sentence. Some systems are fine with the first and not the second.

Questions this raises

Is "supports 40 languages" the same as handling this?

No, and the gap between the two is where most of the disappointment lives. A language count says the system can be set to each of them. Code-switching is one caller using two of them in one breath, with no setting to change. Ask a vendor to demonstrate the second thing, not the first.

What breaks when a caller switches language?

Mostly the timing. The pause length that means "I have finished speaking" is not the same in Hindi as in English, so a system tuned on one of them either cuts Hindi speakers off or leaves English speakers waiting. On our own measurements the two languages want different values, and mixed speech behaves like neither.

Sources

  1. Wikipedia: Code-switching · checked 2026-09-02
  2. Voicely internal: elixir-app/docs/12 — turn-boundary timing measured per language against a labelled corpus, with English and Hindi requiring different values and code-switched speech behaving like neither · checked 2026-09-02