第六章:感知篇 - 语音活动检测:让助手知道“你何时在说话”
本章深入语音活动检测(VAD, Voice Activity Detection)的算法原理与工程实践,结合前几章的音频采集与前端处理代码,给出可运行的实时与离线示例、逐行注释解析、参数调优与性能评估,以在多场景中稳定识别“你何时在说话”。
6.1 VAD:智能语音交互的“哨兵”——原理与作用深入解析
-
为什么需要 VAD?
- 资源守门人:在对话助手中,VAD 决定了何时启动录音/ASR,避免持续采集导致算力与带宽浪费。
- 体验优化器:减少空白录音与环境噪声段的传输,提升响应速度与界面反馈的准确性。
- 算法串联枢纽:VAD 的输出可驱动 NS(噪声抑制)、AEC(回声消除)、AGC(增益控制)与 ASR 的状态切换。
-
信号建模(中英文对照)
- 观测模型(Observation Model):
x(t) = s(t) + n(t),其中s(t)为语音(Speech),n(t)为噪声(Noise)。 - 帧化(Framing):固定长度
N(如 20ms @16kHz →N=320)划窗处理(Windowing),如 Hamming 窗w[n]。 - 特征(Features):能量(Energy/RMS)、过零率(ZCR, Zero-C
- 观测模型(Observation Model):
