Skip to main content
Lucy AI
CustomersSecurity
Book a Demo

Loading resources...

This may take a few moments

Lucy Logo

Creating digital experiences that inspire and innovate. We build tomorrow's solutions with today's cutting-edge technology.

Quick Links
  • Home
  • Products
  • Solutions
  • Customers
  • Security
  • Resources
Contact

Email Us

support@lucyhub.ai

Our Locations

Arlington, VA — USA
Addis Ababa, Ethiopia

© 2026 Lucy AI. All rights reserved.

INSA Security Assessed
Terms of ServicePrivacy Policy
Back to blog
Engineering2 min read

Code-switching on a live call, and why most speech systems break on it

Callers move between Amharic and English inside a single sentence. Systems that pick a language once per call cannot follow them.

LE

Lucy Engineering

July 9, 2026

Share
A driver speaking to a Lucy agent on a phone call

On this page

  • Where the switch actually happens
  • Why per-call detection fails
  • Recovery beats detection
  • What this means when you build

Key takeaways

  • Language identification per call is the wrong granularity. Callers switch inside a clause.
  • Product names, numbers and addresses are where switching happens most.
  • Recovering from a mid-sentence switch matters more than detecting it perfectly.

A driver calls in and says something that starts in Amharic, names an app screen in English, gives a location in a third form entirely, and finishes in Amharic. To a person this is unremarkable. To a pipeline that decided the call was Amharic at second one, it is three errors in a row.

Where the switch actually happens

Switching is not random. It clusters around a small set of things that have no settled local form, or whose local form is not what people say out loud.

  • Product and feature names, which are almost always spoken in English.
  • Numbers, especially account numbers and amounts, where speakers often switch mid-string.
  • Place names and landmarks, which mix borrowed and local forms freely.
  • Technical or banking vocabulary that entered the language in English.

The practical consequence

The tokens most likely to be switched are also the ones most likely to be load-bearing for the request. Getting the surrounding sentence right and the account number wrong is not a partial success.

Why per-call detection fails

A conventional pipeline runs language identification on the opening audio, loads the matching acoustic and language models, and commits. Everything after that is decoded under an assumption that stopped being true two seconds in. The failure is quiet: you get plausible words in the wrong language rather than an obvious error.

Detecting more often helps, but only up to a point. Switch detection at the clause level still lags the switch itself, and re-deciding constantly introduces its own instability, where the system flips language on an ambiguous word and drags the rest of the sentence with it.

Recovery beats detection

What has worked better for us is treating the transcript as revisable. The agent does not need to have been right at the moment the word was spoken, it needs to be right by the time it acts. Holding a short window open and re-scoring it once the sentence completes fixes most switch errors, because the context that disambiguates a borrowed word usually arrives after it.

The second half is intent tolerance. If the agent is confident about what the caller wants and unsure about one token inside it, the right move is to confirm that one token rather than restart the turn. Callers accept was that account ending 4471? far better than sorry, could you repeat that?.

“Our customers finally get answers in the language they actually speak.”
Head of Customer Experience · Banking customer

What this means when you build

  1. Do not ask the caller to choose a language. It fixes the wrong variable and annoys them.
  2. Put both the English and the local form of every product name in your knowledge base.
  3. Confirm specific values, not whole utterances, when confidence dips.
  4. Read transcripts for switched tokens specifically. They are where the recoverable errors hide.

Hear it on a real call

We will run your own scripts through the agent, switching and all.

Book a demo
TagsSpeechAmharicModel behaviour
Share
LE

Written by

Lucy Engineering

Engineering

Keep reading

More from the blog

A Lucy AI voice agent answering an inbound support call
Industry Insight

How AI voice agents cut call abandonment in a multilingual queue

Aug 18, 2026 · 4 min read

A caller navigating a bank phone menu
Industry Insight

Your IVR menu is losing callers before they reach an agent

Aug 4, 2026 · 2 min read

The Lucy knowledge base editor
Product

Building a knowledge base your voice agent can actually answer from

Jul 22, 2026 · 2 min read

See Lucy on your own calls

Tell us where your calls pile up and we will show you what Lucy does with them, in Amharic, Afaan Oromo, Tigrinya or English.