去除背景噪音可以用啥算法

【去除背景噪音可以用啥算法】 接着之前的答案补充一点,题主这种情况应该维纳滤波器就可以给出很好的结果,如果想自己实现算法的话。
如果只是很少的音频样本去噪而且题主本身不是做语音方面工作的话,可以尝试一下Audacity(免费)或者Adobe Audition (需要购买正版)都提供去噪算法。我常用的Audacity,在effect下边有一个noise reduction。基本的操作就是自己用鼠标选一段噪音,问题里的情况是已经知道前边一段是纯噪声,所以可以直接选择这一段,然后软件里的算法会对噪声的频谱做一个估计,然后直接点去噪就可以了,具体的算法在这里有介绍:How Audacity Noise Reduction Works
至于Adobe Audition,应该会有更好的效果,特别是针对一些复杂的噪声。我自己基本不用Adobe audition,但知道Adobe research做过interactive noise reduction的工作。

■网友
上古时代最简单的处理方式,直接简单粗暴上 减谱法,就是用纯噪音去减不纯净的声音,可以明显的得到干净的声音。减谱法升级了好多个版本,搞语音的专家发现质量上还是难以提升很多。
后来引入了新的算法,比如现在比较流行维纳滤波器。当然还有一些非主流的基于子空间的,基于统计模型的,还有最新的啥深度学习乱七八糟算法,为了发论文,各种都上一遍。
这些都叫语音增强。就你的问题来说可以先试试减谱法,不行就用维纳滤波器。

■网友
尝试下维纳滤波。网上有MATLAB源码(Matlab中用Wiener滤波进行语音增强 - MATLAB中文论坛),可直接拿来使用。效果ok的话,再把MATLAB代码转成Python之类的代码就好了


    推荐阅读