
Full-Duplex Architecture
A full-duplex architecture allows a voice system to listen and speak at the same time, rather than strictly taking turns. This makes conversations with voice assistants feel more natural: you can interrupt, and the system reacts immediately.
When two people talk to each other, they don’t politely wait for one another. You say “mhm” or “exactly” while the other person is still speaking. You cut in when you’ve already guessed the end of the question. Older voice assistants can’t do this: they listen, then they compute, then they respond, and only afterward do they listen again. This strict turn-taking is called half-duplex, just like a walkie-talkie where only one person can press the talk button at a time. A full-duplex architecture breaks with this pattern: the system continuously captures audio and can speak at the very same moment.
Why conversations with assistants have sounded stilted until now
The difference sounds like a subtlety, but it determines whether a conversation feels genuine. In human dialogue, the gap between two speaker turns is often only around 200 milliseconds. Classic voice assistants often need a full second or more for the same transition. We perceive this gap as unnatural right away, even if we can’t pinpoint why.
There’s a second problem on top of that. Anyone who wants to interrupt an assistant because its answer is heading in the wrong direction has to wait, with half-duplex systems, until it finishes talking. That’s not just annoying, it costs time. In a real conversation, you correct the other person after two seconds, not after thirty.
That’s why full-duplex has become one of the most important selling points in voice AI. Companies looking to automate phone hotlines pay close attention to it. A customer who keeps talking into a void hangs up. A customer who is allowed to interrupt the system stays on the line.
Two channels instead of an alternating talk button
Technically, full-duplex means that two data streams run in parallel. One stream is the microphone, which records continuously. The other is the output, i.e. the voice the model is currently generating. The model processes both simultaneously and continuously decides what to do: keep talking, fall silent, briefly acknowledge, or start a new response.
This decision isn’t made once per sentence, but many times per second. You can picture it as a grid in which every short time slice gets its own yes-or-no question: Is it my turn now? Modern systems learn this timing from real conversation recordings with overlaps, rather than deriving it from fixed rules.
One particular difficulty is that the microphone also hears the system’s own voice. Without a countermeasure, the model would mistake itself for the conversation partner. Echo cancellation helps here, i.e. computationally filtering the system’s own output signal out of the recording. Incidentally, a common misconception is equating full-duplex with mere speed. A very fast system that still strictly alternates turns remains half-duplex.
Voice modes in chatbots and automated hotlines
Full-duplex is most commonly encountered in the voice modes of large chatbots. If you can stop a spoken response mid-sentence simply by continuing to talk, this kind of architecture is behind it. Translation applications also use it, so that the translation is already running while the speaker is still talking.
In business news, the term mostly comes up in connection with call centers. There, voice systems are increasingly replacing the old menus where you press digits. Providers advertise latency times in the range of a few hundred milliseconds, because that marks the threshold of naturalness. Anyone noticeably slower than that loses business.
The price for this is computational overhead. A system that listens continuously while also responding at the same time keeps working even when nobody is speaking. That’s more expensive than a model that only activates after a wake word. For battery-powered devices, this is a real consideration, which is why many assistants on smartphones still operate by taking turns.