一句话定义:全双工语音模型(Full-Duplex Speech Model)是一种能同时接收和输出语音的模型:它说话时仍在听,你随时可以打断它,它也能在你说话的间隙用“嗯”“对”这类短反馈回应。
从对讲机到打电话
“双工”是通信领域的词。半双工(Half-Duplex)像对讲机:一方按住说话,另一方只能听,说完喊一句“over”再换人;全双工像打电话:两边可以同时出声,谁也不用申请发言权。
今天多数语音助手是半双工的,背后是一条级联管道(cascade):端点检测(VAD)判断你说完了,再交给语音识别(ASR)转成文字,大模型生成回复,最后语音合成(TTS)念出来。每一环都得等上一环收工,“你说完—我再说”是写死的节奏。
全双工模型把这条链压成一个流式模型:音频帧持续流入,音频帧持续流出,何时开口、何时闭嘴、被打断后怎么办,都由模型自己学。它没有“回合结束”这个显式信号,取而代之的是内部的轮次预测(turn-taking)能力。
三个工程难点
1. 延迟。级联管道每一级都攒一点延迟,全双工要求端到端足够快。人对对话停顿极敏感,超过一秒的空白就会显得呆滞,模型必须边说边算,而不是先攒够一整句再开口。
2. 回声消除(Acoustic Echo Cancellation,AEC)。喇叭放出的声音会被自己的麦克风收回去,形成自我循环。既需要信号处理层面的回声消除,也需要模型能分清“这是我自己刚说的”和“用户在说话”。
3. 双工调度(duplex scheduling)。最难的往往不是说话,而是决定何时不说话:用户是清嗓子还是真要插话?被打断时立刻停还是补完半句?这些策略直接决定“像人还是像机器”。
和相邻概念的区别
| 半双工/级联助手 | 全双工模型 | |
|---|---|---|
| 听与说 | 轮流 | 同时 |
| 被打断 | 通常直接切断 | 平滑收尾并响应 |
| 架构 | ASR→LLM→TTS 串联 | 单一流式端到端 |
| 反馈信号 | 基本没有 | 可说“嗯”“对” |
| 延迟来源 | 各级累积 | 单模型内可优化 |
还要区分“流式”(streaming):流式只要求边收边处理、降低延迟,不要求同时发声;全双工是流式的加强版,多了“边听边说”和打断处理。市面上不少号称实时的语音接口,骨子里仍是回合制,只是每回合更快。
实际意义
对从业者,评估标准要换:只看识别准确率和音色自然度不够,还得看打断响应时间、轮次转换是否顺畅、重叠语音(overlapping speech)下的表现。数据也麻烦,真实的重叠对话采集和标注成本都高。
对普通人,客服、车载、陪伴类场景最受益。价值不在“更快”,而在能像跟人说话那样,说错就改、随时补充、听腻了直接插话。具体能力与延迟表现,以各家官方页面为准。
