Why does my voice agent mishear callers on noisy job sites?

By Ranjit Bhinge, founder of Blur Studio · Updated · 6 min read

Short answer: A voice agent that mishears callers on a noisy site usually isn't a problem with the agent's logic, it's the speech-to-text engine underneath struggling with background noise: traffic, machinery, wind, other conversations. Different engines handle this differently, and the only reliable way to know which one works for your actual environment is to test real recordings from your own sites, not a demo recorded in a quiet office. ElevenLabs markets its Scribe v2 Realtime engine as accurate "even in challenging audio conditions," at $0.39 an hour through the API, but test it against your own noisiest real calls before trusting that claim for your specific situation.

Ranjit Bhinge

A bot that mishears wastes the call and frustrates the caller, and you want to know if this is fixable or just how voice bots are on a loud site.

I'm Ranjit, and I run Blur Studio: 15+ years building software, 120 apps taken live, and clients who have gone on to raise $10M+. I build AI systems and processes that help businesses do a lot more with a lot less time. I also work differently from most of what else is out there, more on that further down this page. Say hello.

This page may contain affiliate links from which Blur Studio earns commissions.

When a voice agent gets something wrong on a call, the instinct is to blame the "AI" broadly, but the actual failure point is usually narrower than that: the speech-to-text layer that turns the caller's voice into text the agent reasons over. If that layer mishears the words, nothing downstream can fix it, no matter how good the agent's logic is. On a genuinely noisy job site, where there's traffic, machinery, wind or other people talking nearby, this layer is doing a much harder job than it would on a clean office call, and it shows.

Why noise breaks speech recognition specifically

Speech-to-text models learn to separate speech from everything else, and background noise competes directly with that task. Steady background noise (a fan, a running engine) is usually handled reasonably well by modern engines; irregular, loud or speech-like noise (another conversation, a radio, sudden machinery) is much harder, because the model has to actively decide what counts as the caller's voice versus not, in real time, with no chance to go back and listen again.

Not all job-site noise is the same problem

It's worth separating the noise types your sites actually produce, since they don't all cause the same kind of failure. Steady, continuous noise like road traffic at a distance, a running generator, or HVAC equipment is the easiest case: it's constant enough that the model can effectively learn to treat it as background and focus on the voice sitting on top of it. Intermittent, sudden noise, a jackhammer starting, a truck backing up with a beeper, a door slamming, is harder, because it arrives unpredictably and can mask a word or two entirely with no warning. The hardest case by far is crosstalk, another person's speech in the background, since the model has to distinguish one human voice from another rather than separating voice from non-voice noise, and that's a fundamentally harder acoustic problem than filtering out mechanical sound. If your job sites produce a lot of crosstalk specifically (a crew talking nearby, a radio with speech on it), expect worse accuracy than a site with mostly mechanical noise, even at the same rough loudness. When you're collecting test recordings to evaluate an engine, make sure you capture examples of each noise category your sites actually produce, not just one loud recording, since a single test file can give you a misleading sense of how an engine handles your full range of real conditions. For recorded video, see removing background noise from a job site video.

What actually differs between engines

Different speech-to-text engines are trained on different mixes of clean and noisy audio, and that training mix is a big part of why one engine handles a construction site better than another, even if both perform similarly on a quiet recording. ElevenLabs markets its Scribe v2 Realtime specifically on accuracy "even in challenging audio conditions," built for sub-150-millisecond latency so a live voice agent doesn't feel like it's lagging, at $0.39 an hour through the API. That's a real, stated design goal, not a universal guarantee for every noise type your specific sites produce. Independent benchmark testing of ElevenLabs' Scribe v2 family has put accuracy under 5% word error rate across a wide set of languages in general testing, which is a strong baseline, but general benchmark conditions and your actual job site aren't the same thing. Scribe itself is covered in ElevenLabs Speech to Text (Scribe).

The hardware on the caller's end matters at least as much as the engine, and it's the part people overlook while comparing speech-to-text providers. A phone held at arm's length on speaker in the wind will produce a worse signal than any engine can fully recover from, no matter how good its noise handling is in testing. A headset or a dedicated microphone positioned close to the mouth gives any engine a meaningfully cleaner signal to start from, and this single change often improves real-world accuracy more than switching providers does. If you're troubleshooting poor accuracy on a specific site, check how the caller is actually holding or wearing their phone before assuming the software needs replacing.

Noise cleanup tools are a separate lever worth knowing about too, distinct from the speech-to-text engine itself. A dedicated audio cleanup step, run on the recording before it reaches the transcription engine, can strip out some background noise ahead of time, which sometimes improves accuracy on a borderline recording without needing to switch speech-to-text providers at all. This is a different tool from the transcription engine, used as a preprocessing step, not a replacement for it.

What I'd actually tell someone building this

Don't trust a vendor's noise-handling claim, mine included in what I've said above, without testing it against your own real recordings. Pull a handful of actual calls or recordings from your noisiest sites, the kind with machinery running or wind picking up, and run them through whichever engine you're considering before committing. The difference between "handles noise well in a demo" and "handles noise well on your actual job sites" is exactly the gap that causes frustrated callers later, and it's cheap to check up front with real audio compared to finding out after you've built around the wrong engine.

Practical steps to actually fix this

  1. Collect several real recordings from your noisiest actual sites, not a quiet test call.
  2. Run those exact recordings through the engine you're considering (ElevenLabs' Scribe v2 Realtime among them) and compare the transcript against what was actually said.
  3. If accuracy is genuinely close but not perfect, add custom vocabulary (keyterms) for words specific to your trade, which can meaningfully improve recognition on the exact terms most likely to matter.
  4. Keep a human fallback path for calls where the agent's confidence in what it heard is low, rather than letting it guess and proceed on bad information.
  5. Re-test periodically as your sites or equipment change; a mix of noise that worked fine before can shift, especially if you add a new piece of equipment, change crews, or start taking calls from a new kind of site your original test recordings didn't cover.

Designing what the agent does when it isn't sure

A good noisy-environment setup isn't just about raw accuracy, it's about what the agent does when it genuinely can't tell what was said. Most speech-to-text engines return a confidence score alongside the transcribed text, and a well-built agent should use that score to decide its next move rather than always guessing at the most likely interpretation. On low confidence, the better response is a short, specific clarifying question ("Sorry, did you say the pump or the valve needs replacing?") rather than either guessing silently and proceeding on bad information, or a generic "I didn't understand, please repeat" that makes the caller repeat the whole sentence. Asking a targeted question about the specific unclear word keeps the call moving while still catching the error, and callers tend to tolerate one good clarifying question far better than a vague repeat request or, worse, an agent that confidently acts on the wrong information. Slow replies are a separate problem, covered in why your AI phone agent replies slowly.

When to skip building this yourself

If you're testing engines against real recordings and still seeing it fail often, the issue may not be the engine at all, it could be where the microphone sits, how far the caller is from it, or genuinely extreme noise no software fix will solve well. In that case, a human fallback for the worst conditions is more realistic than chasing a perfect automated answer. Trying to squeeze another few percent of accuracy out of software when the real constraint is an unavoidably loud environment is a poor use of time compared to simply routing those specific calls to a person and automating everything else.

How I'd approach this

I've tested multiple speech-to-text engines against a client's own real, noisy recordings before picking one, specifically because vendor noise-handling claims are marketing, not a guarantee for any particular environment. If you're building or already running a voice agent that keeps misfiring on noisy calls, that kind of real-audio comparison is worth doing properly once, rather than guessing at which engine to trust. Beyond picking the right engine, the clarifying-question logic and human-fallback routing described above are usually where I spend the most build time, since they determine whether a mishear turns into a quick, cheap recovery or a frustrated caller who hangs up. Getting the engine right solves most of the problem; getting the fallback behavior right is what makes the remaining failures cheap instead of costly.

Questions people ask

Why does my voice agent mishear calls on a noisy job site?

Almost always because the speech-to-text engine underneath the agent, not the agent's own logic, is struggling to separate the caller's voice from background noise like traffic, machinery or wind. If that layer mishears the words, the agent's reasoning on top of it can't recover the correct information.

Is ElevenLabs' Scribe v2 Realtime good in noisy conditions?

ElevenLabs markets it specifically for accuracy in challenging audio conditions, at $0.39 an hour through the API. That's a real design goal, but test it against your own real, noisy recordings before trusting it for your specific sites rather than relying on the marketing claim alone.

How do I actually compare speech-to-text engines for noise handling?

Collect several real recordings from your noisiest actual sites and run the same recordings through each engine you're considering, then compare the transcripts against what was actually said. A demo recorded in a quiet room tells you very little about your real conditions.

Does custom vocabulary help with noisy audio specifically?

It helps with recognizing specific trade terms correctly once the engine has heard enough of the word to make a guess, but it doesn't fix the underlying problem of noise drowning out speech entirely. Both matter, but they're separate issues.

Should I always have a human fallback for voice agents in noisy environments?

Yes, for calls where the agent's confidence in what it heard is genuinely low. Letting an agent guess and proceed on uncertain audio causes more frustration than routing that specific call to a person.

Could the problem be the microphone, not the software?

Yes, this is common. Microphone placement and distance from the caller's mouth matter a great deal in noisy environments, and no speech-to-text engine fully compensates for a poorly placed microphone.

What's harder for a speech-to-text engine: machinery noise or background conversation?

Background conversation (crosstalk) is generally harder, since the engine has to distinguish one human voice from another rather than separating voice from mechanical noise, a fundamentally harder acoustic problem. Steady machinery or traffic noise is comparatively easier because it's constant and non-speech.

What should a voice agent do when it isn't confident it heard the caller correctly?

Ask a short, specific clarifying question about the unclear word or phrase, rather than guessing silently or asking the caller to repeat the whole sentence. Most speech-to-text engines return a confidence score the agent can use to decide when to ask rather than proceed.

Sources

Ready for the next step?

A 30 minute call. No pitch. If you do not need me, I will tell you.

Ranjit Bhinge You talk to me, Ranjit. I reply within a few hours.

Not sure what you need? Tell me what is going on. I will point you the right way, even if it is not me.

Blur Studio · 30 minute call

Book a 30 minute call

You talk to me, Ranjit. No pitch. If you do not need me, I will tell you.

  • We talk about your business and what is going on.
  • You leave with a clear next step, even if it is not me.
  • I reply to every message within a few hours.
Loading the calendar…