AIAI 学习 · 专题库

语音与对话

让 AI 判断什么时候接话

区分 VAD、语义判停和话轮提交,测抢话与等待之间的取舍。

资料复核:2026-09-082 份直接来源含操作步骤与记录模板
先做什么

语音活动、句子结束与可以执行下一步是三个判断。EOU 模型提供判停信号;是否接话、是否取消旧任务仍由会话控制器决定。

理解这条链路

声音活动候选停顿音频或文本判停话轮提交回复持续监听
参考流程:根据公开能力整理的操作顺序;分支、重试和回退以正文说明为准,不代表厂商内部实现。

把失败类型分开标注

“我想问……套餐还能改吗”中间停顿不应提交;“嗯”可能是附和,也可能是完整确认;背后电视声并不代表当前用户发言。用提前接话、额外等待、有效打断和误打断四个标签建立样本,避免用一个准确率掩盖损失。

部署与参数的边界

逐个核查语种覆盖、窗口长度、采样率和所需后端;不在 README 覆盖列表中的语种必须实测。阈值与等待窗口应使用开发集校准,在盲测集固定。模型推理耗时只是总等待的一部分,不能直接写成用户感知延迟。

按这个顺序操作

  1. 录制完整、未完整、口头附和、噪声和长停顿五类样本,保留人工判停时点。
  2. 建立固定静音等待的基线,再增加语义模型,保持音频与 VAD 一致。
  3. 逐语言统计提前接话率和额外等待分布,困难语种单独报告。
  4. 接上真实播放与取消后复测;离线模型判对不代表话轮控制正确。
配套本地工具

以下工具位于 AI 学习工作区。先阅读对应说明,确认所需数据与依赖;本轮未重新运行这些实验。

  • smart-turn/README.md

可直接复用的记录模板

case_id,language,expected_commit_ms,actual_commit_ms,early_cut,extra_wait_ms,backchannel,noise,model_version
turn-001,zh,待标注,待测,待测,待测,false,false,待填
约定:early_cut 以人工判定为准;推理耗时与端到端等待分别记录。

做到什么程度才算通过

  • 未说完的样本不会因模型返回快就获得高分。
  • 每个语种有独立的支持证据或实测记录。
  • 附和不会默认触发取消。
  • 时间统计包含音频采集和判停窗口。
当前证据的限制

历史 Smart Turn 小样本结果保留为本地实验背景,未在本轮重新执行,也不能外推真实电话效果。

本轮确认的事实与来源

以下为公开资料支持的具体结论;操作流程和验收建议属于工程推导。仓库说明或厂商效果表述不等于独立实测。

[1] LiveKit · 话轮与打断

当前 LiveKit 话轮文档同时覆盖音频/文本 turn detector、VAD、STT endpointing 和手动控制,并将 endpointing delay 与打断处理作为可调行为。不能再将 LiveKit 判停一概写成纯文本模型。

资料日期:页面未统一标注;以复核日期为准 · 复核:2026-09-08

阅读原始来源 ↗
[2] Smart Turn · 官方仓库

Smart Turn 官方仓库描述 v3 基于 Whisper Tiny 与分类层,约 8M 参数,并提供 int8 与 fp32 版本。仓库模型描述不证明其在某种电话语料上的准确率。

资料日期:页面未统一标注;以复核日期为准 · 复核:2026-09-08

阅读原始来源 ↗

这次更新了什么

合并 EOU 原理、多语言选型与 Smart Turn 教程;删除“噪声零误触发”和通用 300ms 承诺。

合并前的内容入口

以下旧地址仍可访问,并会带你来到本篇。完整重构前材料已留存本地备份。

  • ai-learning-hub/eou.html
  • research-hub/eou-multilang.html
  • practice-hub/eou-smart-turn-practice.html

接着解决下一个问题