Pre-ASR addressee gate for voice agent pipelines
Your pipeline runs ASR on everything.
SAA (Selective Auditory Attention) routes only the audio actually addressed to your agent.
The failure
Your pipeline can't tell who speech was for. It processes all of it anyway.
VAD fires on any sound above a noise floor. Nothing in your current stack decides whether that speech was actually addressed to the agent.
Mid-sentence, the agent hears background noise, stops, and reruns ASR on audio the caller never directed at it. The caller assumes it's broken.
false barge-in
Background speech triggers a false stop and burns ASR budget for nothing
The agent interrupts itself and reruns ASR on speech meant for someone else in the room. The caller hears an awkward restart, and your platform absorbed the cost.
missed real interruption
Real corrections get lost while the agent waits out background noise
The caller's actual correction goes unregistered until noise drops below the VAD threshold. The turn is lost, the call re-routes, and handle time goes up.
The fix
One pre-ASR gate. Route only addressed audio downstream.
SAA is a hosted gate that decides, before ASR runs, whether speech was addressed to the agent.
Addressed audio forwards to your ASR and LLM exactly as today. Everything else is suppressed before ASR runs.
Research foundation
Built on our published technical paper. Quantified on real multi-speaker audio.
SAA reliably detects addressed speech, using audio alone or audio-and-video fusion, on held-out multi-party sessions (arXiv:2604.08412).
Two caveats: it fails closed under distribution shift, and cross-lingual recall is a known limitation. Run the eval on your own call audio to see how it performs on yours.
performance
Reliable on audio and video fusion
Held-out multi-party sessions, published at arXiv:2604.08412.
performance
Reliable on audio-only
Real multi-speaker audio, no video stream required. Same published results.
latency
Real-time routing decision
Returns before your ASR would have started, no GPU required, and fits inside a real-time agent latency budget on any transport.
design principle
Fails closed by design
The default under uncertainty is silence, not a false barge-in or a false stop.
coverage
Multi-speaker environments
Multi-party calls, conference bridges, and noisy caller environments with concurrent speakers.
signal model
Acoustic; no wake word
Learned acoustic signals at the audio layer. No trigger phrase required.
How it integrates
One import. Sits in front of your VAD. Zero pipeline changes.
The addressee decision returns before your ASR starts processing.
No ASR swap, no LLM changes, no rewiring. Works over WebRTC, SIP, and raw audio transports.
Stream audio to the hosted SAA service
JavaScript/TypeScript and Python client SDKs stream audio from your telephony transport or mic to server.attentionlabs.ai.
No model runs on your hardware.
Receive the addressee decision in real time
SAA analyzes acoustic signals and returns a routing decision in real time: addressed, or not.
No content is parsed, no transcript produced.
Forward only addressed audio to your ASR
Addressed audio forwards to your existing ASR and LLM, exactly as before.
Background speech, second speakers, and anything uncertain are suppressed. Fails closed: when unsure, SAA forwards nothing.
Works in front of any pipeline architecture
Inserts as one routing stage before your VAD, or directly after your audio source.
One SDK import, one forwarding condition.
architecture
Hosted, pre-ASR, behind any model
SAA runs as a hosted GCP service. Thin client SDKs handle the audio streaming. No model to deploy, no GPU to provision.
Licensed per device. A DPA is available for regulated deployments.
access
Free eval. Per-device licensing.
Request an eval and we provide API keys, an eval kit, and the client SDK to run SAA against your own call audio, or try the Cloud SDK first.
Request an evalWhy existing layers miss it
VAD, beamforming, diarization, and wake words each answer a real question. None answer this one.
Every layer below does its job correctly. None decide whether the speech reaching your pipeline was addressed to your agent. That decision has to happen before ASR runs, or every voice that clears the noise floor reaches the part of your pipeline that acts on it.
| Layer | What it answers | When it runs | Decides who is addressed? |
|---|---|---|---|
| Voice activity detection (VAD) | Is someone speaking? | Pre-ASR | No |
| Beamforming and acoustic echo cancellation | Is the audio cleaner / which direction? | Pre-ASR | No |
| Speaker diarization | Who spoke, and when? | Post-ASR | No |
| Wake word | Was a trigger phrase said? | Pre-ASR | Trigger phrase only |
| Speaker identification | Is this a known voice? | Post-ASR | No |
| SAA addressee detection | Is the agent being addressed, right now? | Pre-ASR, real time | Yes |
Voice infrastructure teams done paying ASR and LLM costs on unaddressed audio.
Common questions
What platform and infrastructure teams ask before integrating.
We already have barge-in and turn detection built in. What does SAA add?
VAD fires on any sound above a noise floor. SAA answers a different question: was this speech addressed to the agent, or is it background conversation, a second person, or hold-music bleed?
SAA sits upstream of your VAD as an addressee gate. It doesn't replace your turn-detection logic, and it doesn't touch your ASR, LLM, or TTS.
Does SAA replace our ASR, LLM, or TTS?
No. SAA is a pre-ASR gate in front of the pipeline you already run. It forwards only addressed audio to your ASR; your ASR, LLM, and TTS are unchanged. SAA is model-agnostic.
Where does SAA sit relative to our VAD?
SAA sits before your VAD, or can replace the VAD gate entirely. VAD detects that someone is speaking; SAA decides whether that speech was addressed to the agent.
Real interruptions pass through. Background speech and second speakers are suppressed. Uncertain audio fails closed.
How do I integrate SAA into my voice pipeline?
Client SDKs in JavaScript/TypeScript and Python stream audio to the hosted SAA service. The addressee decision returns in real time, and you forward only addressed audio to your ASR. One import, one forwarding condition.
What does the API return and what is the latency?
A routing decision: addressed (forward to ASR) or not addressed (suppress), returned before your ASR would have started. No GPU or wake word required.
How do I get started without a sales call?
Request an eval for API keys, an eval kit, and the client SDK to test on your own call audio, free. Or explore first with the Cloud SDK, no sales call required.
How is SAA licensed?
Per device, not by usage or call minutes. The evaluation tier is free. Request an eval to test on your own audio, or book a call to scope a deployment. A DPA is available on request.
Get in touch
Request an eval or book a call.
Tell us about your voice pipeline and the failure mode you want to close. We'll follow up with API keys, an eval kit, and the client SDK.
The eval tier is free. Licensing is per device.
Last updated June 26, 2026