实时背景噪音降低或去除

信息处理 语音处理 去噪 降噪 背景减法
2022-02-08 15:25:03

我正在尝试构建一个可以识别几个关键字的实时简单音频识别。按照这个张量流教程,我能够训练一个简单的神经网络。目前的信号流是这样的

麦克风 --> 脉冲编码调制(PCM - 范围 [-1, 1])--> stfts --> 频谱图--> mel_spectrograms --> log_mel_spectrograms --> mfcc 的 --> 神经网络。

到目前为止,我只是从麦克风输入中获取数据并执行一些步骤并输入到神经网络。不执行任何类型的背景降噪或某种信号过滤技术。到目前为止,结果受到背景噪声(单通道采样频率 16000 Hz)的影响很大。

我是这个主题的新手,想知道您是否可以分享一些有价值的见解和技术/python 包,以丰富说话者的声音,然后再将其输入神经网络。

1个回答

解决您的问题的典型第一种方法可能是使用针对语音信号应用的众多现有降噪算法之一。这些算法通常包括

  • 噪声 PSD 估计和
  • 降噪滤波。

对于每个任务,都有多种算法可供选择。示例噪声 PSD 估计算法是基于输入信号 [1] 的最小统计或基于最小均方误差 [2] 的算法。实际的降噪滤波可以例如通过使用谱减法或维纳滤波器来执行。

参考

[1] Rainer Martin,“基于最优平滑和最小统计的噪声功率谱密度估计”,IEEE Transactions on Speech and Audio Processing,vol。9,没有。5,第 504-512 页,2001 年 7 月。PDF MATLAB 实现

[2] T. Gerkmann 和 RC Hendriks,“具有低复杂性和低跟踪延迟的基于 MMSE 的无偏噪声功率估计”,音频、语音和语言处理,IEEE Transactions on,第一卷。20,没有。4,第 1383-1393 页,2012 年 5 月。PDF MATLAB 实现