webrtc_noise_suppression

本文介绍了WebRTC中噪声抑制的原理,通过噪声估计和语音/噪声概率函数来实现噪声的去除。利用维纳滤波器抑制噪声,关键在于准确的噪声估计和特征映射。提供了伪代码示例及测试结果,展示降噪效果。
摘要由CSDN通过智能技术生成

原因:由于APM中涉及到去噪模块,故在此进行简单调用和原理分析

概况:通过对信号的初始噪声估计得出一个语音/噪声概率函数,然后通过该函数估计出每帧数据的噪声,然后使用维纳滤波器将噪声进行抑制。故重点为噪声估计的准确性。而噪声估计依赖于语音/噪声概率函数,而语音/噪声概率函数是通过使用映射函数将每帧的信号分类特征映射到一个概率值而得出。每帧的分类特征包括:频谱平坦度,频谱差异,LRT均值特征。

伪代码实现如下:

首先设置提取特征的参数信息

// Initialize state.
int WebRtcNs_InitCore(NoiseSuppressionC* self, uint32_t fs) {
	set_feature_extraction_parameters(self);
}

 针对每帧进行特征值的提取并映射得出语音/噪声概率函数.

void WebRtcNs_AnalyzeCore(NoiseSuppressionC* self, const float* speechFrame) {

// Quantile noise estimate.
  NoiseEstimation(self, magn, noise);噪声估计
  
   // Post and prior SNR needed for SpeechNoiseProb.
  ComputeSnr(self, magn, noise, snrLocPrior, snrLocPost);计算信噪比
  
  FeatureUpdate(self, magn, updateParsF
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值