{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2609-13445","title":"Causal Analysis and Mitigation of Spurious Onsets in Full-Duplex Speech LLMs","arxiv_id":"2609.13445","date":"2026-09-11","proceeding":null,"authors":["Kento Nishi"],"abstract":"Speech-to-speech LLMs like Moshi, and its derivative PersonaPlex, can listen and speak concurrently through full-duplex generation. However, they can begin speaking inappropriately during prolonged user silence: under digital-zero input, Moshi and PersonaPlex initiate speech in 12/40 and 11/40 five-minute continuations, respectively. What causes this spurious speech? We investigate two hypotheses: either repeated sampling selects speech despite persistently low onset probabilities, or conditioning on the model's nonspeech outputs causes an abrupt spike in onset probability. We find that, at every observed onset, speech probability spikes by over nine orders of magnitude in one 80-ms frame, supporting the latter hypothesis. Then, to suppress these onsets without blocking genuine responses, we ask a causal counterfactual question: is the model responding to user speech, or would its next-token distribution remain similar if the preceding user input were muted? Accordingly, we suppress onsets whose distributions change little under this intervention. Across 40 held-out trials per model with realistic microphone noise, our method suppresses 13/13 Moshi and 9/9 PersonaPlex spurious onsets, while preserving 40/40 genuine responses per model. Our inference-time method requires no retraining and runs in real-time, with 95th-percentile decision time below 61 ms, within the 80-ms frame budget. Our code is available at https://github.com/KentoNishi/icassp27-spurious-onsets.","url_abs":"https://arxiv.org/abs/2609.13445","url_pdf":"https://arxiv.org/pdf/2609.13445","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2609.13445","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2609.13445"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/KentoNishi/icassp27-spurious-onsets","reach":{"status":"ok"}}],"summary":{"unverified":10},"by_repo_kind":{"found_in_text":{"samples":10,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":10,"samples":[{"code_sha256_prefix":"64a87b8c338f6d90","entry":"binomial_cdf","repo":"KentoNishi/icassp27-spurious-onsets","repo_kind":"found_in_text","path":"summarize.py","file_url":"https://github.com/KentoNishi/icassp27-spurious-onsets/blob/HEAD/summarize.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"64a87b8c338f6d90"}},{"code_sha256_prefix":"135f41e1e2ab6d6d","entry":"distribution","repo":"KentoNishi/icassp27-spurious-onsets","repo_kind":"found_in_text","path":"moshi_probe.py","file_url":"https://github.com/KentoNishi/icassp27-spurious-onsets/blob/HEAD/moshi_probe.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"135f41e1e2ab6d6d"}},{"code_sha256_prefix":"dc0c610682723484","entry":"incidence","repo":"KentoNishi/icassp27-spurious-onsets","repo_kind":"found_in_text","path":"plot_results.py","file_url":"https://github.com/KentoNishi/icassp27-spurious-onsets/blob/HEAD/plot_results.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dc0c610682723484"}},{"code_sha256_prefix":"e80f304237b025a7","entry":"interval","repo":"KentoNishi/icassp27-spurious-onsets","repo_kind":"found_in_text","path":"summarize.py","file_url":"https://github.com/KentoNishi/icassp27-spurious-onsets/blob/HEAD/summarize.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e80f304237b025a7"}},{"code_sha256_prefix":"e853efbb3e116405","entry":"inverse","repo":"KentoNishi/icassp27-spurious-onsets","repo_kind":"found_in_text","path":"summarize.py","file_url":"https://github.com/KentoNishi/icassp27-spurious-onsets/blob/HEAD/summarize.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e853efbb3e116405"}},{"code_sha256_prefix":"5d380dffd36320b0","entry":"load_audio","repo":"KentoNishi/icassp27-spurious-onsets","repo_kind":"found_in_text","path":"protocol.py","file_url":"https://github.com/KentoNishi/icassp27-spurious-onsets/blob/HEAD/protocol.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5d380dffd36320b0"}},{"code_sha256_prefix":"b72f4609d8fa9442","entry":"load_noise","repo":"KentoNishi/icassp27-spurious-onsets","repo_kind":"found_in_text","path":"protocol.py","file_url":"https://github.com/KentoNishi/icassp27-spurious-onsets/blob/HEAD/protocol.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b72f4609d8fa9442"}},{"code_sha256_prefix":"f7e97264d33e3e8d","entry":"mix","repo":"KentoNishi/icassp27-spurious-onsets","repo_kind":"found_in_text","path":"protocol.py","file_url":"https://github.com/KentoNishi/icassp27-spurious-onsets/blob/HEAD/protocol.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f7e97264d33e3e8d"}},{"code_sha256_prefix":"fe24f580f29ac55f","entry":"paper_axes","repo":"KentoNishi/icassp27-spurious-onsets","repo_kind":"found_in_text","path":"plot_results.py","file_url":"https://github.com/KentoNishi/icassp27-spurious-onsets/blob/HEAD/plot_results.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fe24f580f29ac55f"}},{"code_sha256_prefix":"8b837488af976c70","entry":"shades","repo":"KentoNishi/icassp27-spurious-onsets","repo_kind":"found_in_text","path":"plot_results.py","file_url":"https://github.com/KentoNishi/icassp27-spurious-onsets/blob/HEAD/plot_results.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8b837488af976c70"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CL","source":"arxiv_backlog_21d_20260915.json"},"syntology_extracted_results":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,264 of the 9,581 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9581,"papers_checked":6264},"entries":[],"not_placed":{"boards":0,"rejected_by_independent_check":0,"refused_by_a_rule":0,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}