跳到主要内容

流式语音感知

完全串行的感知方案有哪三个问题?​

  • 延迟累积: 必须等待一段静音才能确认用户说完;
  • 信息丢失: 有声/无声的二值信号无法表达犹豫、情绪、附和与环境声;
  • 上下文被切断: 邮箱、人名和专有名词可能被分片识别而出错;
  • 前提: 这些问题在保留模块化分工(VAD/ASR/LLM/TTS)下也可以缓解,见 语音交互三范式;

流式感知如何改造四个阶段?​

  • ASR 边听边转: VAD 检测到用户开始说话后按固定时间间隔调用 ASR,流式生成临时转录内容;检测到说话结束后再确认最终文本;
  • LLM 推测执行: 临时转录内容生成后即送给 LLM;最终文本与临时内容相同时不再调用 LLM,不同则取消前序推测执行的思考并重新调用;
  • LLM 分段输出: 第一段适合播报的文本生成后立即交给 TTS,不等完整回复;
  • TTS 增量合成: 持续返回音频块,让后续生成、合成与播放重叠进行;
  • 效果: 感知、思考、表达三个阶段的等待互相重叠,而不是串行累积;

为什么 Whisper 不能直接当作流式模型?​

  • 解码与编码的差异: Whisper 的解码虽然是自回归的,但编码器需要完整音频段,因此不能直接等同于流式模型;
  • 替代路线: 基于 LLM 的流式听觉模型可从连续音频中输出文本与语义事件,把“识别”和部分“理解”放进同一个模型;
  • 世界知识收益: 该类模型保留从对话开始到当前时刻的上下文,也可利用世界知识处理品牌、人名与专有名词;
  • 退化路线: 若只想解决“用户是否说完”,可把轮次判断直接做进流式识别器,由模型综合语义与静音判断一句话是否表达完整;

把轮次判断做进识别器要注意什么?​

  • 训练标签约束: 端点判断的训练标签必须只使用决策时刻可见的信息;
  • 违反后果: 使用“上帝视角”的标签会让模型产生线上无法复现的判断;
  • 评测对照: 用递增音频前缀模拟连续感知是一种常见近似手段,需与固定 VAD 阈值的基线对照才有解释力;

模型除了文字还能输出哪些事件?​

  • speak_start/end、interrupt: 说话起止与打断意图;
  • emotion: 情感、犹豫等状态;
  • laugh、sigh、noise: 副语言与环境声;
  • 统一事件流: 这些标记与文字 token 形成统一事件流,Agent 据此识别犹豫、打断与环境变化,而不必把所有声音压成纯文本;