单通道降噪—基于神经网络的单通道降噪

目录

一. RNNoise:

算法框架:

流程概述:

RNNoise小结:

二. 基于神经网络的降噪算法方案

        1. 基于频域

        2. 基于时域

        3. 基于NN与基于传统方法简要对比

问题?


一. RNNoise:

算法框架:

最早流行基于神经网络的降噪方法是RNNoise:

该算法是结合神经网络和传统DSP(数字信号处理)算法的降噪算法。

流程概述:

首先带噪语音过STFT到频域,计算频点的增益(mask),  对频点进行幅度衰减但相位不变。只是这里计算mask采用的是NN进行。  给NN输入一帧,输出一帧的增益(掩码)

  1. 时域转频域:输入语音信号过STFT得到幅度谱。
  2. 划分频带:幅度谱过频域的一组Bark滤波器将信号分为22个子带。 Bark滤波器组同样考虑了人耳的听觉特性,22个子带低频划分较细,高频划分较粗糙。   滤波器组主要起降维作用,将原始信号几百个频点的能量特征降低到22个子带上的能量特征。
  3. 构建特征:滤波器组特征和其他特征一起组成42维特征。 其他特征包括 前6个子带的一阶和二阶特征、基音周期、前6个子带的基频增益等。
  4. 网络建模:神经网络主要采用全连接层和GRU进行帧级别的建模。加入VAD分支网络,将VAD网络中间特征作为降噪网络的其中一个输入。证明VAD信息可以使得网络在无语音段抑制效果更好。
  5. 基频滤波后处理:基频滤波模块的后处理。由于NN对频带的划分比较粗糙,基频模块增强基频,增加进一步的噪声抑制效果。但实验效果不理想。

RNNoise小结:

RNNoise引领了NN进入语音降噪的潮流,后续的模型比如Unet等也被用到语音领域。

二. 基于神经网络的降噪算法方案

        1. 基于频域

和传统方法类似,通过对频谱处理输出一组增益(掩码),对频点和子带进行能量抑制,如RNNoise和二维的Unet等。

        2. 基于时域

模型输入带噪语音的波形,直接预测干净语音的波形。

时域相比于频域优点在于:

  1. 解决频域中无法预测相位的问题
  2. 可以通过多尺度的一维卷积提取特征,解决STFT的时域分辨率和频域分辨率相互冲突的问题。

        3. 基于NN与基于传统方法简要对比

目前很多场景下基于NN降噪效果已经优于基于传统算法,但实际应用中由于前端算法对延迟和功耗的需求较高,基于NN的方法在资源消耗、效果与实时性之间的平衡是一个挑战。   另外基于NN的方法对训练数据依赖高,提高泛化能力也是一个重要问题。

问题?

  1. 时域分辨率和频域分辨率互相冲突的问题

猜你喜欢

转载自blog.csdn.net/qq_36533552/article/details/125380968