语音活动检测 (VAD) 是一种用于识别音频信号中是否存在人声的技术。 它通过实时分析音频输入来区分包含语音的片段和包含静音、背景噪声或非人声的声音的片段。 例如,在电话通话中,VAD 确定何时有人说话,何时线路静音。 这种能力是 VoIP(互联网协议语音)、自动语音识别 (ASR) 或音频录制系统等应用的基础,在这些应用中,仅处理音频流的相关部分可以提高效率和用户体验。
VAD 很重要,因为它优化了资源使用并增强了系统性能。 通过检测语音片段,它可以减少计算负载和带宽消耗。 例如,在 Zoom 或 Discord 等 VoIP 应用程序中,VAD 确保仅在有人说话时才传输音频数据,从而节省网络带宽和服务器成本。 同样,在 ASR 系统中,忽略非语音片段可以减少处理时间并最大限度地减少因分析无关噪声而导致的错误。 VAD 还提高了噪声抑制——通过识别静音间隔,系统可以更有效地应用降噪算法,从而产生更清晰的音频输出。 如果没有 VAD,应用程序将浪费资源来处理每个音频样本,从而导致更高的延迟、增加的功耗以及语音命令或转录等任务的准确性降低。
从技术上讲,VAD 算法混合使用了信号处理和机器学习。 简单的方法测量能量阈值:如果音频幅度超过设定水平,则将其标记为语音。 但是,这在嘈杂的环境中会失败,因此高级方法会分析频谱特征(例如,人类语音特有的频率模式)或使用在标记的语音和噪声数据上训练的机器学习模型。 例如,WebRTC 的 VAD 实现结合了高斯混合模型 (GMM) 以基于频谱和时间特征对语音进行分类。 开发人员经常面临诸如调整灵敏度之类的挑战——过于激进的 VAD 可能会切断语音,而宽松的设置会捕获过多的噪声。 诸如“滞后定时器”(延迟从语音到静音的转换)之类的解决方案有助于避免音频断断续续。 选择正确的 VAD 方法取决于用例:基于能量的检测适用于清晰的录音,而神经网络(例如,循环模型或卷积模型)可以处理现实世界应用程序(如语音助手或呼叫中心软件)中的可变噪声级别。