VAD、分段、时间戳与说话人

本节目标

把连续音频安全地切成可识别片段,并区分语音活动检测、说话人分离和身份验证。

三个不同问题

  • VAD(Voice Activity Detection):某时间段是否有人声。
  • 说话人分段标注(speaker diarization):回答“谁在什么时候说话”,通常输出匿名标签 speaker_0、speaker_1;它不同于把重叠声源拆成独立音轨的 speaker separation。
  • 说话人识别/验证:把声音与现实身份关联,风险和授权要求更高。

diarization 标签不是身份。不能因为 speaker_0 在几段出现就声称知道其姓名。

分段参数的取舍

VAD 通常需要起始/结束阈值、最短语音、最短静音和边界缓冲。阈值太敏感会把键盘声当语音;太保守会漏掉轻声和句首。加入前后缓冲可减少截断,但会增加重叠,需要在合并时去重。

时间戳有多种粒度:片段级、词级、字符级。模型时间戳可能是估计值,不等于法律或字幕级精确对齐。评测时可设容差窗口,并单独观察边界偏差。

重叠语音与跨段上下文

两人同时说话时,单通道 ASR 可能混合文本;diarization 也可能只给主说话人。应在契约中标记 overlap=true 或 uncertain_speaker=true,而不是强制分配。

跨段专有名词可通过有限上下文提示改善,但不得把上一段未经确认的错误不断传播。保存 context_source 和是否影响解码。

练习与自测

  • 为“短暂停顿很多的演讲”和“多人抢话会议”分别设计分段策略。
  • VAD 检测到人声是否代表一定能识别语言?否,可能是歌声、远场或未知语言。
  • 说话人标签交换是否一定意味着 diarization 全错?不一定,评测通常需要对匿名标签做最佳映射。

下一步与参考

下一步学习 批处理、流式与后处理。Whisper 官方资料把语音识别、语言识别、翻译和 VAD 作为相关任务描述,但具体时间戳/分段行为需查版本与实现:官方仓库(获取日期:2026-07-14)。