Sox(瑞士军刀)使用什么算法来消除沉默和噪音

时间:2013-12-04 12:57:59

标签: linux audio signal-processing sox

我已经尝试过Sox来消除音频文件中的静音和噪音。我想知道它的技术细节来理解它。在专业软件可以依赖它之前理解它是很重要的(我知道它很好用并且已经被许多人使用过)

使用Noise Profile对Noise进行采样,然后使用Noisered进行删除时,Sox在此过程中的实际操作是什么?类似地,当添加VAD效果时。是否有技术解释或发表的一些论文,我可以阅读以理解它。

1 个答案:

答案 0 :(得分:3)

由于我的学习(语言和音乐的科学基础,通信科学),我有信号处理的背景,只是看看了sox降噪算法的代码。

在不对其进行分析得太深,好像它是做噪声轮廓和原始信号的FFT,然后减去从后者在第一和再次执行FFT合成以重新创建类似于原始的信号。

通过这个过程,它应该将所有频率减少它们在噪声信号中出现的量。

整个过程似乎是逐个窗口完成的,应该允许流式传输。

正如我所说,这只是基于我的背景知识和我在代码中的简短一瞥,所以可能有些方面我没有掌握。

编辑:

我也看了一眼VAD代码;那个人似乎监视出现在指定范围内的频率的频谱,如果是的话,将其声明为" voice"。所有部件(窗户)未声明"语音"然后沉默(AFAICS)。实际上,这将消除纯语音记录中的所有背景噪声。