音频处理----降噪那些事

以下是几种主流降噪算法的效果对比图:
从上到下,分别是源音频–speex–webRTC–盲源分离fastICA–RNN
这里写图片描述
从测试效果来看 rnn>webrtc>fastICA>speex
后面有时间再一一更新算法细节…

1、speex
官网下载源码:https://www.speex.org/downloads/
speex 主要是做音频编解码,附带部分音频处理功能。现已不更新,下载speex-1.2beta3版本,其它版本不一定有音频处理功能。下载后在libspeex下直接make编译即可。

testdenoise .c代码中采样率、音频帧大小需要根据实际情况设置,noiseSuppress的值可以控制减除的噪声强度,负值越小,噪声去除的强度越大,同时会造成原声的失真。

运行./testdenoise speech.wav 得到降噪后语音

2、WebRTC
WebRTC是一个专注网页视频会议的开源项目,更新比较快,方法也较新(不过还是用的GMM特征)。
在github上搜索下载,可以下整个音频处理模块,也可以根据需求只下载NS降噪模块,推荐几篇配置博客:
单独编译NS模块或其它模块http://www.cnblogs.com/elesos/p/6144820.html
调用代码:https://blog.csdn.net/qq_30948113/article/details/68928549
别人整理后的NS或其它模块(推荐):http://cpuimage.cnblogs.com/
算法介绍 https://blog.csdn.net/shichaog/article/details/52514816
3、fastICA
关于该算法的介绍https://blog.csdn.net/zf_suan/article/category/6504479

4、rnn
开源地址:https://github.com/xiph/rnnoise

猜你喜欢

转载自blog.csdn.net/w_manhong/article/details/81386754