Voice AI pipeline layers
Addressee detection vs speaker diarization
Diarization tells you who spoke. Addressee detection decides whether they spoke to your device.
Two different questions
Attribution vs routing. Post-ASR vs pre-ASR.
speaker diarization
Who spoke, and when? (attribution)
Diarization segments audio into speaker-labeled turns, after ASR. It tells you that Speaker A spoke from second four to second seven.
It cannot tell you whether any utterance was directed at the assistant or at another person in the room.
Selective Auditory Attention (SAA)
Is the assistant being addressed, right now? (routing)
Addressee detection runs before ASR. One question per utterance: was this speech directed at the assistant, or at someone else in the room? It does not identify the speaker or label turns.
Binary routing decision in real time, before transcription begins. If uncertain, it fails closed: the utterance is suppressed, not forwarded.
The confusion that costs you
Two utterances, one addressed, one not. Diarization can't tell them apart.
Consider two utterances:
utterance type A
"Hey, can you pull up the action items?"
Said to a colleague, not the assistant. Diarization labels it Speaker C correctly, but that label carries no communicative intent.
The remark still enters the transcript and triggers the assistant.
utterance type B
"Remind me to follow up on the budget."
Said directly to the assistant. Diarization labels it Speaker A, same as any other remark by that speaker. The label alone doesn't tell the assistant to act.
the distinction that matters
Voice identity is not communicative intent.
Without a gate, ASR, LLM, and TTS all run on speech the agent was never addressed by. That's direct cost: false summaries, spurious triggers.
Architecture comparison
What each layer decides, when it runs, and whether it routes the assistant.
Each layer below solves a real, distinct problem, but only one decides whether the assistant is being addressed. That decision must happen before ASR, or every voice event in the room reaches the pipeline that acts on it.
| Layer | What it decides | When it runs | Routes the assistant? |
|---|---|---|---|
| Noise cancellation and AEC | Is the audio cleaner? | Pre-ASR | No |
| Voice activity detection (VAD) | Is someone speaking? | Pre-ASR | No |
| Speaker identification | Is this a known voice? | Pre-ASR or post-ASR | No |
| Speaker diarization | Who spoke, and when? | Post-ASR | No |
| SAA addressee detection | Is the assistant being addressed, right now? | Pre-ASR, in real time | Yes |
Visualizing the difference
The same meeting audio, seen by each layer.
Four utterances. Diarization labels all four by speaker and forwards all to ASR. SAA asks only whether the assistant was addressed, forwarding two and dropping two.
How they work together
SAA runs before ASR, diarization after: one clean, addressed transcript.
Diarization and addressee detection aren't alternatives. They sit at different points in the pipeline and answer different questions. Run SAA before ASR to gate which audio reaches your pipeline; run diarization after to label who spoke in the audio SAA forwarded.
speaker diarization provides
Speaker identity and turn timing
Diarization produces a speaker-attributed transcript after ASR. It does not gate any audio; it labels what arrived.
What it can't do: decide whether the assistant was the intended recipient. A side conversation is labeled accurately and still reaches the model.
SAA addressee detection provides
The routing gate, before ASR runs
SAA decides whether each utterance was addressed to the assistant, before ASR sees any audio. Only addressed audio is forwarded.
Non-addressed speech is suppressed before transcription, which also improves diarization accuracy downstream: side conversations never enter the transcript.
What it doesn't do: label which person spoke or when. That's diarization's job, downstream of the gate.
the decision only SAA makes
Was the assistant the intended recipient of this speech?
No other layer makes this call. Noise cancellation and AEC clean the signal but carry no addressee signal. VAD fires on every voice in the room. Speaker identification recognizes a known voice, not whether that voice is speaking to the assistant. Diarization labels the speaker but doesn't gate. SAA is the only layer that decides whether the assistant should act, before transcription runs.
Performance
Measured on held-out multi-party sessions.
Detailed in our technical paper (arXiv:2604.08412). SAA fails closed under distribution shift; cross-lingual recall is limited.
performance
Accurate with audio and video fusion
Held-out multi-party sessions.
performance
Accurate with audio alone
Real multi-speaker audio, no video stream.
latency
Decided in real time, before STT
Adds no latency to the downstream pipeline. No GPU required on customer hardware.
design principle
Fails closed by design
Ambiguous speech is suppressed, not forwarded. Under uncertainty, the default is silence.
pipeline position
Pre-ASR, hosted, model-agnostic
Client SDKs in JavaScript/TypeScript and Python stream audio to the hosted inference endpoint.
No wake word. Works in front of any ASR and any downstream model or platform.
coverage
Built for multi-party rooms
Addressee detection across multiple simultaneous speakers in the same room. Language-agnostic at the acoustic level.
Diarization never asks who speech was addressed to. SAA closes that gap, before ASR runs.
Common questions
What meeting AI and platform teams ask.
Does speaker diarization tell you whether the meeting assistant is being addressed?
No. Diarization identifies who spoke and when, after transcription. It carries no information about who the speech was directed at. Knowing that Speaker A spoke at second four doesn't tell the assistant whether to act on it. SAA makes that addressee decision separately, before ASR runs.
Can I use SAA and speaker diarization together?
Yes, they're complementary. SAA gates audio before ASR; diarization labels speakers after transcription. Running SAA upstream also cleans up diarization, since side conversations never reach the transcript.
Which layer runs first?
SAA runs first, deciding addressee in real time before ASR. Diarization runs after, labeling only the audio SAA forwarded.
Why do side conversations still appear in my meeting summary even with diarization?
Diarization labels who spoke, not who they were addressing. Without an upstream gate, every accurately labeled side conversation still reaches the transcript. SAA is that gate.
What does SAA add beyond what diarization already provides?
Communicative intent. Diarization provides speaker identity and turn timing; SAA decides whether speech was meant for the assistant. Diarization alone can't tell the two apart.
Get in touch
Request an eval or book a call.
Tell us about your voice pipeline and environment. We'll follow up with a free evaluation on your own audio; licensing is per device.
Prefer to explore first? Try the Cloud SDK to get a feel.
Last updated June 27, 2026