基于WaveNet的去噪方法
语音降噪技术通常问题表述为:mt = st+bt,其中mt=混合信号,st=语音信号,bt=背景噪声信号
门单元:正如LSTM一样,sigmoidal门控制着激活函数在每一层的贡献
其中*和⊙分别表示卷积和对应元素相乘。f,t,t′和g分别代表滤波器、输入时间、输出时间和门单元的索引。Wf和Wg都是卷积滤波器
扩张卷积:
可以在不改变特征尺寸的同时增大感受野。设: kernel size = k, dilation rate = d, input size = W1, output size = W2, stride=s, padding=p;扩张卷积的原理就是在kernel各个像素点之间加入0值像素点,变向的增大核的尺寸从而增大感受野。
(a)是常见的卷积核,可以看成d=1的扩张卷积,核的尺寸为3,感受野为3;(b)是d=2的扩张卷积,核的尺寸上升为5=2*(3-1)+1,如果与(a)叠加使用的话感受野则为7;(c)是d=4的扩张卷积,核的尺寸上升为9=4*(k-1)+1,若与(a)(b)叠加则感受野区域为15;
μ-law量化
语音活动检测(VAD) VAD算法
①首先是一个降噪过程,如通过spectral subtraction(谱减法)②然后对输入信号的一个区块提取特征③最后使用一分类器对这个区块进行分类,确定是或不是语音信号。通常这个分类过程是将计算的值与一个阈值进行比较。
谱减法:
就是用带噪信号的频谱减去噪声信号的频谱(幅度谱和功率谱均可)。假设带噪信号y由纯净信号x和加性噪声d组成,那么纯净信号的功率谱可以通过下式获得
简单的谱减法实现包含以下步骤:
①根据语音信号前几帧计算平均噪声谱作为噪声谱,一般取前5帧
②对语音进行分帧,对每一帧进行stft,然后使用信号谱减去噪声谱(stft短时傅里叶变换)
③如果出现负值,将其置为0
④对减去噪声谱的信号进行istft得到时域信号(istft短时逆傅里叶变换)
⑤根据语音分帧帧长和帧移长度重组时域信号
在谱减法算法中如果带噪语音的幅度谱(功率谱也同此理)与估计出来的噪声谱相减出现负值时,说明对噪声出现了过估计问题,对这种现象最简单的处理就是将负值设为0,以保证非负的幅度谱。但是对负值的这种处理,会导致信号帧频谱的随机位置上出现小的,独立的峰值,称为音乐噪声。为解决音乐噪声Berouti提出了改进的方法。
Berouti谱减法的实现
减小音乐噪声的方法是对噪声谱使用过减技术,同时对谱减后的负值设置一个下限,而不是将它们设为0
Berouti谱减法包含以下步骤:
①根据语音信号前几帧计算平均噪声谱作为噪声谱,一般取前5帧
②对语音进行分帧,对每一帧进行stft
③计算当前帧的信噪比,然后求出过减因子alpha
④根据公式(2)对信号进行处理
⑤对减去噪声谱的信号进行istft得到时域信号
⑥根据语音分帧帧长和帧移长度重组时域信号
图上分别是
原始语音波形 原始谱减法后波形 Berouti谱减法处理后信号波形
总结
加窗技术
当对语音信号进行截断分帧后,将产生能量泄露现象。截断函数是频带无限的函数,而语音信号是有限带宽信号,因而截断后语音信号的在频率中能量将被扩展。根据采样定理,只有采样频率超过信号最高频率的2倍,才可能恢复信号,因而无论采样频率多高,只要经过截断处理,则将引起混叠。此时,通过使用加权函数,即窗函数,使能量集中在主瓣,则可以获得更接近真实频谱的信号,减少能量泄露。加窗主要是为了使时域信号似乎更好地满足FFT处理的周期性要求,减少泄漏。
矩形窗
汉明窗
汉宁窗
截取窗函数
归一化主要用于减少噪声影响、语音信号失真和信道失真
噪声去除方法:
维纳滤波
小波变换去噪
利用小波分析进行去噪,包括以下3种方法:
- 默认阈值去噪处理:该方法利用函数ddencmp() 生成信号的默认阈值,然后利用函数wdencmp() 进行去噪处理;
- 给定阈值去噪处理:在实际的去噪处理过程中,阈值往往可通过经验公式获得,且这种阈值比默认阈值的可信度高。在进行阈值量化处理时可利用函数wthresh();
- 强制去噪处理:该方法是将小波分解结构中的高频系数全部置0,即滤掉所有高频部分,然后对信号进行小波重构。这种方法比较简单,且去噪后的信号比较平滑,但是容易丢失信号中的有用成分。
非负矩阵分解
对于任意给定的一个非负矩阵A,NMF算法能够寻找到一个非负矩阵U和一个非负矩阵V,使得满足 ,从而将一个非负的矩阵分解为左右两个非负矩阵的乘积。
给定矩阵
,寻找非负矩阵
和非负矩阵
,使得
。得