A new question, before the answer is finished
The user interrupts an answer about smartphones to ask about smartwatches. D2 yields, listens, and answers the new question.
Anonymous research demo
Listen while speaking. Respond when the user finishes. Yield to an interruption.
D2 brings continuous interaction to pretrained spoken language models.
Qwen3-Omni LLaMA-Omni 2
Qwen3-Omni-D2, 80 ms chunks · Paper Tables 1–2. Evaluation scope and latency definition ↓
01 / Listen
Recorded model outputs.
No microphone or sign-in needed.
The user interrupts an answer about smartphones to ask about smartwatches. D2 yields, listens, and answers the new question.
Use headphones for stereo: user on the left, model on the right. Both waveform lanes animate from the actual speech amplitude. These curated recordings preserve the original timing and overlap; they illustrate behavior, not live latency.
02 / Method
Two stages turn a pretrained half-duplex model
into a model that listens and speaks continuously.
A frozen offline encoder teaches a streaming student. Attention is bidirectional within each chunk and causal across chunks—without a training decoder or transcription labels.
Fine-tune on aligned user and assistant audio, preserving silence and overlap. Each chunk combines current user audio with delayed self-audio feedback to generate the next output.
Smaller chunks give the model more frequent opportunities to listen and respond. Explicit control tokens learn when to begin a response or stop for an interruption.

03 / Results
Compare full- and half-duplex models,
then explore D2’s chunk-size trade-offs.
Qwen3-Omni-D2LLaMA-Omni 2-D2Other full-duplex modelsHalf-duplex models
At 80 ms, Qwen3-Omni-D2 scores 70.1 on VoiceBench, with 521 ms turn-taking latency and 21.3% pause-handling success.
| Model | Interaction | Chunk size | VoiceBench | FD-Score |
|---|
| Model | Chunk | VoiceBench | Turn taking | TT latency | Interruption | Int. latency | Pause success |
|---|---|---|---|---|---|---|---|
| Qwen3-Omni-D2 | 80 ms | 70.1 | 99.2% | 521 ms | 99.5% | 403 ms | 21.3% |
| Qwen3-Omni-D2 | 160 ms | 67.8 | 100% | 539 ms | 99.5% | 432 ms | 19.0% |
| Qwen3-Omni-D2 | 320 ms | 71.6 | 100% | 710 ms | 99.5% | 571 ms | 25.5% |
| Qwen3-Omni-D2 | 640 ms | 71.3 | 99.2% | 1,010 ms | 99.5% | 928 ms | 55.1% |
| Qwen3-Omni-D2 | 1,040 ms | 73.0 | 100% | 1,380 ms | 99.5% | 1,300 ms | 61.6% |
| LLaMA-Omni 2-D2 | 100 ms | 34.7 | 100% | 746 ms | 99.5% | 621 ms | 74.5% |
| LLaMA-Omni 2-D2 | 200 ms | 38.1 | 99.2% | 825 ms | 100% | 710 ms | 78.2% |
| LLaMA-Omni 2-D2 | 400 ms | 41.1 | 100% | 1,020 ms | 99.0% | 894 ms | 69.4% |
| LLaMA-Omni 2-D2 | 800 ms | 42.0 | 98.3% | 1,450 ms | 99.0% | 1,320 ms | 70.8% |
VoiceBench uses the first 200 examples from each of nine tasks. Qwen3-Omni-D2 at 80 ms exceeds the strongest evaluated full-duplex baseline by 9.1 points (70.1 vs. 61.0). Full-Duplex-Bench latency is the event-aligned acoustic gap plus chunk duration; it excludes computation and network time.
Pause handling remains limited, especially for Qwen3-Omni-D2 with small chunks. D2 also retains a capability gap to its original backbones, and relies on synthetic full-duplex training conversations and sufficiently fast speech synthesis.