webrtc 的各个音频处理都很值得大家学习,
不说个人感觉最牛的aec, 就这个vad就很好!
基本实现思想是 通过把信号分为 6个频带,对各个子频带进行 噪声和语音 的高斯模型特征判决!
对不同的信号频率均降频到8k hz,内部对 16、24、32、48、做了分频
如果需要做不同信号频率的检测,需要单独做分频到8k。
判决参数均可调整:
个人新增了一个具有明显辨识度的语音信号参数:
Custom as 4
// Mode 0, Quality.
static const int16_t kOverHangMax1Q[3] = { 8, 4, 3 };
static const int16_t kOverHangMax2Q[3] = { 14, 7, 5 };
static const int16_t kLocalThresholdQ[3] = { 24, 21, 24 };
static const int16_t kGlobalThresholdQ[3] = { 57, 48, 57 };
// Mode 1, Low bitrate.
static const int16_t kOverHangMax1LBR[3] = { 8, 4, 3 };
static const int16_t kOverHangMax2LBR[3] = { 14, 7, 5 };
static const int16_t kLocalThresholdLBR[3] = { 37, 32, 37 };
static const int16_t kGlobalThresholdLBR[3] = { 100, 80, 100 };
// Mode 2, Aggressive.
static const int16_t kOverHangMax1AGG[3] = { 6,

本文介绍了WebRTC中的语音活动检测(VAD)技术,重点在于其将信号分为6个频带并利用高斯模型判断噪声与语音的方法。内容包括信号的频率下采样处理,以及在不同信号频率下的应用。作者提供了自定义的语音信号参数,并分享了iOS平台的演示项目链接。

364

被折叠的 条评论
为什么被折叠?



