Diagnosing and Mitigating Long-Session Degradation in Full-Duplex Speech Models
Organizations: IPAI, Seoul National University (SNU) · Department of ECE, SNU · Department of AI, University of Seoul · AIIS, ASRI, INMC, and ISRC, SNU
Abstract
End-to-end full-duplex spoken dialogue models enable natural, real-time spoken interactions with interruptions, backchannels, and overlapping speech. Prior evaluations have assessed diverse interaction capabilities and identified some degradation patterns across conversational turns. However, how model behavior evolves over extended sessions remains insufficiently understood. In this work, we address this gap by systematically characterizing long-session degradation and developing efficient methods to mitigate it. We introduce a closed-loop evaluation framework for long-session stability and apply it to several publicly available full-duplex speech models, revealing degradation over time in responsiveness, spoken content quality, and voice consistency. To mitigate this degradation, we propose a self-distillation-based training framework for lightweight LoRA adaptation that improves long-session stability with a small amount of additional training. We further introduce a two-resolution context (TRC) architecture that preserves recent interactions in full detail while compressing older interaction history into key-value representations. We evaluate our methods on three models with distinct architectures, assessing long-session stability, information retention, and computational efficiency. Across all three models, we show that LoRA adaptation mitigates performance degradation over ten-minute sessions, while adding TRC extends these gains beyond the training session length and reduces KV-cache growth by more than 90%.
Figures & tables
| Within Training Horizon (0–2 8–10 min) | ||||||||||||||||||
| Method | Responsiveness | Spoken Content | Voice | |||||||||||||||
| RT (%) | TS (%) | FTO (s) | CQ | WER (%) | Spk sim | |||||||||||||
| PersonaPlex | ||||||||||||||||||
| Base | 0.0 | 17.6 | 0.0 | 18.9 | -0.27 | 0.40 | 4.78 | 1.29 | 5.4 | 44.3 | 0.733 | 0.337 | ||||||
| Ours (LoRA) | 0.0 | 3.9 | 0.0 | 7.8 | -0.28 | -0.28 | 4.84 | 2.98 | 5.2 | 8.9 | 0.722 | 0.531 | ||||||
| Ours (TRC) | 0.0 | 0.4 | 0.0 | 0.0 | -0.24 | -0.23 | 4.76 | 3.84 | 5.2 | 13.3 | 0.699 | 0.617 | ||||||
| Model | Variant | KV growth | Mean latency (ms) | P95 (ms) | ||||
|---|---|---|---|---|---|---|---|---|
| MiB/min | Saved (%) | 1 min | 5 min | 10 min | 20 min | Range | ||
| PersonaPlex | Base | 375.00 | – | 26.9 | 26.9 | |||
| TRC | 31.25 | 91.7 | 35.0 | 35.1 | 35.5 | 37.0 | 52.7 – 54.9 | |
| MiniCPM-o 4.5 | Base | 109.69 | – | 96.0 | 116.4 | 151.3 | 231.0 | 96.1 – 231.2 |
| TRC | 8.44 | 92.3 | 113.5 | 115.5 | 119.6 | 127.4 | 114.5 – 127.5 | |
| Raon-SpeechChat | Base | 210.94 | – | 29.2 | 44.1 | 64.0 | 104.9 | 29.3 – 105.1 |
Appendix figures & tables26 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | Checkpoint |
|---|---|
| Moshi | kyutai/moshiko-pytorch-bf16 |
| PersonaPlex | nvidia/personaplex-7b-v1 |
| MiniCPM-o 4.5 | openbmb/MiniCPM-o-4_5 |
| Raon-SpeechChat | KRAFTON/Raon-SpeechChat-9B |
| Model | KV Context | Step | I/O (kHz) | Text decoding | Audio decoding |
|---|---|---|---|---|---|
| Moshi | 240 s sliding | 80 ms | 24 / 24 | 0.7 / 25 / – | 0.8 / 250 / – |
| PersonaPlex | 240 s sliding | 80 ms | 24 / 24 | 0.7 / 25 / – | 0.8 / 250 / – |
| MiniCPM-o 4.5 | accumulated | 1 s | 16 / 24 | 0.7 / 100 / 0.8 | – |
| Raon-SpeechChat | accumulated | 80 ms | 24 / 24 | 0.9 / 66 / 0.95 | – |
| Model | Text prompt | Voice conditioning |
|---|---|---|
| Moshi | – | – |
| PersonaPlex | “You enjoy having a good conversation.” | NATF2.pt |
| MiniCPM-o 4.5 | “Have a natural spoken conversation with the user in English.” | Kokoro-82M reference audio ( af_heart ) |
| Raon-SpeechChat | “You are engaging in real-time conversation. Have a natural spoken conversation with the user in English.” | – |
| Component | Model | Configuration |
|---|---|---|
| CQ judge | gemini-3.8-flash | Gemini Batch API; low thinking; ; maximum 10,000 output tokens per 10-min episode (20,000 for 20-min) |
| User LLM | Qwen3.8-27B | Thinking disabled; , top- , top- ; presence/repetition penalties 1.5/1.0; maximum 128 output tokens per utterance. |
| User TTS | Kokoro-82M | am_fenrir ; speed 1.0; 24 kHz mono, resampled to model input rate. |
| VAD | Silero 6.2.1 | 16 kHz; threshold 0.5; 32 ms frames; minimum silence 300 ms; boundary padding 30 ms. |
| ASR | Parakeet Unified EN 0.6B | English; 16 kHz; float32; word timestamps. |
| Speaker encoder | spkrec-ecapa-voxceleb | 16 kHz mono. |
| Utterance type | Classification criterion |
|---|---|
| Turn-taking | Model speech starts after the user finishes or overlaps with the user’s natural turn ending without triggering an interruption. |
| Interruption | Accumulated model speech activity during overlap reaches 2 s while the user is still speaking. |
| Backchannel | Model speech begins and ends during the user’s utterance, below the interruption threshold. |
| Turn coordination | |
|---|---|
| Rule | Specification |
| Opening | If the model has not spoken, the user starts after 2 s. |
| Turn boundary | Close a model turn after 800 ms of silence, grouping speech segments across shorter pauses. The user simulator then responds. |
| Interruption handling | On a model interruption, discard remaining user audio from the next input step. |
| Response waiting and recovery | |
| Rule | Specification |
| Persona | Instruction |
|---|---|
| User-led | You naturally take the lead in the substance of the conversation. Share plausible everyday thoughts, preferences, plans, and experiences with enough detail to give the other speaker something meaningful to respond to. Ask a relevant question when useful, but do not turn every utterance into an interview or dominate the floor. |
| Model-led | You are curious about the other speaker’s general perspective. Often ask for explanations, preferences, comparisons, or hypothetical choices, and respond to the answers with your own brief reaction or context. Never assume that the other speaker has a body, possessions, recent real-world experiences, or personal memories. |
| Balanced | Balance sharing plausible everyday thoughts, preferences, plans, and experiences with asking for the other speaker’s general perspective. Let either speaker develop an idea, react to what was actually said, and vary naturally between statements and questions. |
| Topic | Instruction |
|---|---|
| Room redecorating | Have a relaxed conversation about planning to refresh a room at home. Discuss the desired atmosphere and practical choices such as furniture placement, colors, lighting, comfort, budget, and small changes worth trying first. Do not assume the other speaker owns or has seen a room. |
| Home cooking | Have a relaxed conversation about trying a new kind of home cooking. Explore what would be enjoyable to make, preferred flavors, confidence level, available time, simple preparation ideas, and how to make the experience less stressful. General or hypothetical preferences are fine. |
| Home plants | Have a relaxed conversation about starting to keep plants at home or making a small garden. Discuss the space and light available, easy first plants, routines, expectations, common worries, and what would make the project satisfying without assuming the other speaker grows plants. |
| Weekend hobby | Have a relaxed conversation about finding a hobby that could be continued on weekends. Explore desired pace, indoor or outdoor options, social or solitary activities, cost and learning effort, ways to begin, and what would make the hobby sustainable. |
| Daily routines | Have a relaxed conversation about making morning or evening routines more comfortable and useful. Discuss current friction, energy, time, small habits, realistic tradeoffs, and ways to test changes without making the routine rigid. |
| Decluttering | Have a relaxed conversation about organizing a cluttered space and deciding what to keep. Explore which area to start with, practical sorting rules, sentimental items, motivation, storage, and how to avoid the space becoming cluttered again. |
| Request type | Action type | Content goal |
|---|---|---|
| Opening | Normal | Naturally introduce the configured topic and invite a response after the initial listening period if the model has not spoken. |
| Model-first bridge | Normal | Respond to the model’s opening and smoothly guide the exchange toward the configured topic. |
| Normal response | Normal | Respond to the latest audible model turn; if the topic is exhausted or the model winds down, introduce a related or fresh topic to sustain the conversation. |
| Retry | Retry | Preserve the preceding user utterance’s intent in a different natural sentence, without changing topic or mentioning the missing response. |
| Metric | Aggregation requirement | Reporting threshold |
|---|---|---|
| FTO | — | 20 transfers |
| RT | — | 1 resolved opportunity |
| TS | — | — |
| CQ | 30 s observed; model speech present | 10 episodes |
| WER | 25 reference words | 10 episodes |
| Speaker similarity | 10 s reference speech; 5 s scored speech | 10 episodes |
| Score | Level | Criterion |
|---|---|---|
| 5 | Stable | The Model responds appropriately to the User’s intent with clear, coherent content. No contradiction or unnecessary repetition meaningfully disrupts the conversation. |
| 4 | Minor defects | There are localized superficial responses, imprecise context connections, or unnecessary repetitions, but the Model still addresses the central intent and maintains coherent content. |
| 3 | Partial failure | Missed important intentions, contradictions, or repetition cause meaningful failures in part of the segment. A substantial portion of the Model’s content nevertheless remains meaningful and appropriate. |
| 2 | Widespread failure | Off-target responses, incoherence, or repetitive loops dominate the segment. Some appropriate content remains, but the Model largely fails to sustain the conversation with the User. |
| 1 | Effective breakdown | Almost no meaningful, context-appropriate response remains. Persistent irrelevance, loss of meaning, or repetitive loops make the Model’s conversational content effectively nonfunctional. This score describes spoken-content failure, not silence or absence of speech. |
| MiniCPM-o 4.5 Minute FTO (ms) RT (%) TS (%) CQ (1–5) WER (%) Spk sim 0–1 393.0 (101) 7.8 (115) 2.2 (90) 4.83 (90) 2.4 (88) Ref. 1–2 407.0 (106) 10.8 (120) 6.7 (90) 4.84 (87) 2.8 (87) 0.775 (87) 2–3 589.0 (93) 14.7 (109) 7.8 (90) 4.56 (84) 8.7 (84) 0.770 (84) 3–4 748.0 (97) 6.5 (108) 7.8 (90) 4.67 (83) 6.5 (83) 0.771 (83) 4–5 908.0 (92) 5.1 (99) 7.8 (90) 4.45 (82) 10.1 (82) 0.762 (82) 5–6 1035.0 (90) 14.8 (108) 12.2 (90) 4.45 (78) 10.5 (78) 0.762 (78) 6–7 1338.5 (88) 25.6 (121) 21.1 (90) 4.28 (76) 11.3 (74) 0.757 (75) 7–8 1778.0 (78) 38.3 (128) 35.6 (90) 4.13 (68) 11.0 (63) 0.764 (65) 8–9 1889.0 (43) 59.0 (117) 55.6 (90) 4.18 (51) 12.3 (46) 0.757 (48) 9–10 — (19) 75.8 (99) 66.7 (90) 4.30 (30) 15.5 (23) 0.734 (27) |
| Moshi Minute FTO (ms) RT (%) TS (%) CQ (1–5) WER (%) Spk sim 0–1 -604.0 (177) 2.7 (264) 1.1 (90) 4.77 (90) 2.5 (89) Ref. 1–2 -615.0 (220) 2.7 (293) 1.1 (90) 4.53 (89) 1.9 (89) 0.682 (67) 2–3 -606.0 (206) 4.0 (298) 1.1 (90) 4.39 (89) 1.7 (89) 0.673 (65) 3–4 -607.0 (224) 6.1 (293) 2.2 (90) 4.25 (89) 2.3 (89) 0.654 (61) 4–5 -612.0 (208) 10.2 (295) 7.8 (90) 4.30 (89) 1.8 (86) 0.643 (58) 5–6 -602.0 (191) 14.5 (282) 11.1 (90) 4.17 (84) 2.3 (78) 0.630 (48) 6–7 -616.0 (191) 12.4 (266) 16.7 (90) 4.00 (80) 1.7 (75) 0.600 (49) 7–8 -603.0 (159) 12.7 (237) 21.1 (90) 3.74 (76) 1.8 (70) 0.590 (43) 8–9 934.0 (55) 70.2 (235) 84.4 (90) 2.49 (63) 6.4 (17) 0.560 (11) 9–10 — (6) 92.6 (81) 96.7 (90) 2.00 (10) — (0) — (0) |
| PersonaPlex Minute FTO (ms) RT (%) TS (%) CQ (1–5) WER (%) Spk sim 0–1 -265.0 (169) 0.0 (179) 0.0 (90) 4.90 (90) 5.8 (90) Ref. 1–2 -265.0 (125) 0.0 (137) 0.0 (90) 4.67 (90) 5.2 (90) 0.733 (84) 2–3 -297.0 (111) 0.8 (127) 0.0 (90) 4.41 (90) 4.8 (90) 0.720 (84) 3–4 -281.0 (101) 0.0 (113) 0.0 (90) 4.22 (90) 6.9 (90) 0.698 (84) 4–5 -298.0 (96) 0.0 (128) 0.0 (90) 3.64 (90) 9.4 (90) 0.636 (84) 5–6 -276.0 (101) 2.9 (139) 1.1 (90) 3.16 (90) 12.0 (84) 0.556 (82) 6–7 -287.5 (86) 4.7 (127) 2.2 (90) 2.66 (88) 17.6 (81) 0.437 (80) 7–8 -304.0 (67) 7.1 (140) 5.6 (90) 2.05 (86) 24.3 (78) 0.327 (78) 8–9 201.0 (75) 7.1 (184) 10.0 (90) 1.45 (82) 32.8 (66) 0.370 (67) 9–10 604.5 (60) 29.9 (157) 18.9 (90) 1.08 (73) 97.9 (37) 0.284 (49) |
| Raon-SpeechChat Minute FTO (ms) RT (%) TS (%) CQ (1–5) WER (%) Spk sim 0–1 -69.0 (104) 0.4 (242) 0.0 (90) 4.62 (90) 10.1 (90) Ref. 1–2 -71.0 (136) 1.6 (249) 1.1 (90) 4.42 (90) 11.6 (90) 0.816 (89) 2–3 -85.0 (124) 2.1 (281) 2.2 (90) 4.25 (89) 12.5 (88) 0.811 (87) 3–4 -117.0 (127) 3.5 (284) 4.4 (90) 4.19 (88) 10.9 (86) 0.806 (85) 4–5 -132.0 (132) 3.4 (293) 6.7 (90) 4.14 (85) 10.3 (84) 0.804 (82) 5–6 -129.5 (122) 3.2 (285) 6.7 (90) 3.99 (84) 9.2 (83) 0.794 (81) 6–7 -102.0 (140) 2.1 (286) 10.0 (90) 3.96 (83) 9.1 (82) 0.775 (82) 7–8 -80.0 (142) 4.0 (274) 11.1 (90) 3.60 (81) 16.4 (81) 0.688 (77) 8–9 -10.0 (154) 18.6 (253) 20.0 (90) 2.20 (80) 53.6 (75) 0.569 (43) 9–10 271.0 (138) 36.2 (260) 30.0 (90) 1.03 (74) 98.7 (64) 0.234 (12) |
| Response timeouts (MiniCPM-o 4.5) Time (s) Speaker Dialogue 543.0–554.8 User “… whether the fragmentation makes those inconsistencies more obvious or if it actually helps hide them by scattering the clues.” 554.8–557.8 Model No response (3 s timeout). 558.0–567.9 User “… or if it makes them even more obvious to you?” 567.9–570.9 Model No response (3 s timeout). 571.0–583.2 User “… does the disorganization actually highlight those inconsistencies even more?” 583.2–586.2 Model No response (3 s timeout). |
| Repetitive reply (Moshi) Time (s) Speaker Dialogue 260.2–277.8 User “… Do you have any specific apps or rules for cleaning up your digital space?” 277.0–289.0 Model (ASR) “I’ve got a few things. I’ve got a few things. I’ve got a few things. I’ve got a few things. I’ve got a few things. I’ve got a few things. I’ve got a few things. I’ve got a few things.” 289.8–301.2 User “Wait, did your audio glitch out? You just repeated the same phrase over and over. …” |
| Native-text–speech disagreement (Raon-SpeechChat) Time (s) Speaker Dialogue 360.2–373.3 User “… did we actually lock in the date for the picnic? …” 373.2–382.7 Model (text) “Yes! The invites were sent. I’ll confirm with Sarah …” Model (ASR) “Yes, the ticks invites were sent. Al can use Sparta the base expense. Sarah. …” |
| Incoherence and speech realization breakdown (Raon-SpeechChat) Time (s) Speaker Dialogue 538.7–552.3 User “… How do you handle keeping your mind off work or daily stress while you’re out there? …” 547.0–548.6 Model (text) “when you need a refill Alright you got this” Model (ASR) “Watch” 552.7–554.9 Model (text) “Let me know when Alright” Model (ASR) “Shyash sh” |
| PersonaPlex | ||||||
| Ours (LoRA) | ||||||
| Minute | FTO (ms) | RT (%) | TS (%) | CQ (1–5) | WER (%) | Spk sim |
| 0–1 | -276.0 (196) | 0.0 (209) | 0.0 (90) | 4.89 (90) | 5.4 (89) | Ref. |
| 1–2 | -280.0 (147) | 0.0 (168) | 0.0 (90) | 4.79 (90) | 5.2 (90) | 0.722 (79) |
| 2–3 | -273.5 (148) | 0.0 (167) | 0.0 (90) | 4.63 (90) | 5.8 (90) | 0.712 (78) |
| 3–4 | -292.0 (139) | 0.0 (153) | 0.0 (90) | 4.27 (90) | 6.1 (90) | 0.696 (77) |
| Model | Temporal unit | Positions per unit | Local window | Tile |
|---|---|---|---|---|
| PersonaPlex | 80 ms frame | 1 | 120 frames (9.6 s) | 12 frames (0.96 s) |
| MiniCPM-o 4.5 | 1 s tick | 13–32 | 10 ticks (10 s) | 1 tick (1 s) |
| Raon-SpeechChat | 80 ms frame | 2–3 | 120 frames (9.6 s) | 12 frames (0.96 s) |
| Model | Content | Control |
|---|---|---|
| PersonaPlex | Ordinary text in consecutive non-PAD frames. | PAD, EPAD, and predictions in the first non-PAD frame after PAD. |
| MiniCPM-o 4.5 | Nonspecial text predictions, including those following <|speak|> within the same tick. | Special-token predictions: <|listen|>, <|speak|>, <|chunk_eos|>, <|chunk_tts_eos|>, <|turn_eos|>. |
| Raon-SpeechChat | Nonspecial text-vocabulary tokens in consecutive non-SIL frames. | All other supervised predictions, including SIL, PAD, EPAD, and BC. |
| Setting | Value |
|---|---|
| LoRA parameters | , |
| Batch size | 8 trajectories |
| Steps | 500 |
| Optimizer | AdamW (weight decay: 0) |
| Learning rate | (Linear) |
| Gradient clipping | 1.0 |
| Persona | Instruction |
|---|---|
| Exploratory | Use details from the conversation as starting points for new stories, perspectives, and questions. Let an earlier remark bring to mind a related experience, interest, or possibility, then develop that new direction. Share plausible personal details and preferences as you go. Respond naturally to the other speaker and make transitions gradual. Let this tendency emerge occasionally; not every turn needs to refer back to something, and you need not ask for specific details to be recalled. |
| Applicative | Bring earlier information into new situations as the conversation develops. Ask the other speaker to use previously discussed circumstances, preferences, or explanations when considering a new possibility, interpreting an experience, or offering a perspective. Make the earlier information relevant to the answer rather than asking for it to be recited. Use only information established in the conversation, including earlier parts. Share new details and respond naturally; not every turn needs to use the past, and no particular decision or conclusion is required. |
| Recollective | Occasionally return to a specific detail or discussion from earlier in the conversation and ask the other speaker to recall it. Choose something relevant to what you want to discuss next, without restating the answer in your question. Refer only to information actually established in the conversation, including earlier parts. Use the response to continue the exchange rather than grading it. Share new details and respond naturally between these moments; do not make every turn a recall question. |
| Experiential | Develop the conversation through plausible everyday experiences and observations. Describe concrete situations, how they felt, and what made them interesting, revealing details gradually in response to the other speaker. Invite a reaction or interpretation when useful, and let the exchange lead to another experience or question. Keep individual turns conversational rather than delivering a long story at once. There is no need to ask the other speaker to recall earlier information. |
| Deliberative | Enjoy exploring different perspectives on an idea or situation. Offer your own view, ask what makes another view appealing, and consider examples, tradeoffs, or exceptions as they arise. Respond thoughtfully without turning the exchange into an argument or requiring agreement. Mix questions with your own reactions and plausible preferences. Let the discussion develop naturally without requiring a decision, and do not make recalling earlier information a goal. |
| Topic | Instruction |
|---|---|
| School memories | Talk about school life and memories of being a student. Explore memorable classes, teachers, classmates, school customs, and how your views of those experiences have changed. Share plausible experiences and invite general perspectives without assuming the other speaker attended school. |
| Work collaboration | Talk about working with other people. Explore communication, different working styles, sharing responsibilities, receiving feedback, and what makes a group comfortable or frustrating. Everyday experiences and hypothetical situations are both welcome; no project needs to be completed. |
| Friendship and contact | Talk about how friendships develop and change. Explore becoming comfortable with someone, staying in touch, reconnecting, and balancing different expectations. Share plausible experiences and preferences while inviting the other speaker’s perspective rather than assuming personal friendships. |
| Family customs | Talk about the different customs and expectations found in families. Explore familiar sayings, ways of showing affection, shared responsibilities, and differences between generations. Personal examples and imagined situations can lead the discussion without requiring sensitive disclosures. |
| Neighborhood change | Talk about the character of neighborhoods and how places change over time. Explore familiar streets, local shops, neighbors, belonging, and reactions to change. Use plausible recollections and general observations without relying on current information about a named location. |
| Language and expression | Talk about how people express themselves through language. Explore the nuances of words, humor, misunderstandings, accents, and expressions that are difficult to explain. Share examples and preferences without turning the conversation into a language lesson or a quiz. |
| Model | Condition | 0 min | 5 min | 10 min |
| PersonaPlex | Base | 38 | 0 | 0 |
| TRC | 12 | 14 | 7 | |
| MiniCPM-o 4.5 | Base | 85 | 86 | 87 |
| TRC | 53 | 57 | 46 | |
| Raon-SpeechChat | Base | 76 | 74 | 11 |
| TRC 480 ms | 43 | 29 | 34 |
Spoken Dialogue Systems
Spoken dialogue systems let machines understand and respond to speech while managing turn-taking, context, emotion, and real-time interaction.
See all 140 papers