C7.02.1Speech endpoint detection设计研究

系统需判断用户何时说完

别名: 端点检测 · VAD · end-of-utterance · 语音活动检测

概念解释

语音输入没有按键那样的“抬起即提交”。系统必须自己判断用户何时说完,才能把这一段音频封成一次识别请求。这个判断叫端点检测(endpoint detection),前端常用语音活动检测(voice activity detection, VAD)标出语音起点与疑似终点。说完判定一旦做出,采集通常停止,识别结果被提交。它回答的是“这一口有没有结束”,不是“这句话在语义上是否完整”。

机制

连续音频是没有天然句号的。识别引擎按帧或按块消费特征,若永远不封口,延迟会无限堆积,部分结果也无法变成可执行的最终假设。VAD 先把帧分成语音/非语音;在一段语音之后观察到足够长的非语音,就宣布终点。起点同样需要判定:太早会把环境声收进缓冲,太晚会切掉第一个音节。端点因此是把模拟气流切成离散回合的装置。它和唤醒词守卫不同:守卫决定要不要进入聆听,端点决定这一轮聆听在哪一帧结束。按键说话把终点交给松开动作;免提场景没有这个动作,才必须做声学判断。

怎么研究

用带人工标注起止时间的语料评估检测器:起点误差、终点误差、语音帧命中与虚警。任务上让人说完整句、说带从句的长句、说完后立刻闭嘴。因变量包括切边导致的首尾音素丢失、以及从真实句末到系统提交的额外等待。只在朗读脚本上测,会得到过干净的边界;自发谈话里的填充停顿和呼吸会改变同一套检测器的行为。

边界

按住说话、松开发送的界面不依赖自动端点,终点就是触点消失。已经写成文本的听写框,用户用键盘回车提交时,端点检测不是这条路径的决策者。会议转录往往持续流式切段,并不把每一次静音都当成“用户对系统说完了一条命令”。极短的确认词(“好”“嗯”)和咳嗽、吸气容易与语音帧混淆,检测器会在这些地方给出不可靠的边界。

怎么落地

  • 在免提命令和听写里显式设计“开始采集 / 正在听 / 已提交”三态,提交必须对应一次端点决策。
  • 给用户一条不靠声学的结束手段:按钮、手势或键盘确认,避免检测器卡住时只能干等。
  • 验收时同时看首音节是否被切掉、句末是否要等过久,不要只看识别对不对。

延伸

  • 同组C7.02.2 静音时长阈值与思考停顿的冲突 · C7.02.3 过早截断导致内容丢失且无法恢复
  • 相邻C7.09 端点检测与说完判定 · C7.10 部分结果的实时显示
  • 站内检索endpoint detection · VAD · end of utterance

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C7.02.1