频域噪声模型估计的话音增强方法

前言

传统的噪声谱密度估计理论并没有随着神经网络的出现而衰退,因为经典的算法模型大大降低了运算速度,而将比较难搞的(估算)参数交给神经网络后,模型实现起来更简单实惠,所以有必要对此做一个回顾学习。噪声模型一般分为加性噪声(底噪)和卷积噪声(混响),虽然各类文档中对噪声的假设是稳态的,但实际中噪声的非稳态特性是无法回避的。维纳滤波的引入,以及自适应滤波的非监督方法,已经使得噪声抑制在234G的无线通信领域和互联网语音通信方面取得了巨大的成功,而随着数据驱动的DeepLearning+neural networks在二十一世纪的第二个次世代异军突起,随之涌现出了很多所谓的智能降噪方法,有些将神经网络应用在经典降噪算法的某些环节,也有端到端的方法实现。神经网络去噪后的数据往往是给机器识别用的,评价方法也不再是mos,而是识别率WER,所以机器是不会在乎失真的语音听上去有多么令人烦恼,而我们人类也听不到这处理后的数据,所关心的只是某个算法比另一个算法多提高了多少识别率。试用此文,学习记录一下传统的和神经的两个领域典型的降噪算法,构建一个基本的单声道语音增强知识图谱。

传统的

参考的资料太多,可以看看【3】【6】【12】,以后有空在将传统的仔细推导一下,此处只罗列最典型的几个名词算了。

谱减法

最早的参考论文Suppression of Acoustic Noise in Speech Using Spec-tral Subtraction,,上个世纪70年代的东西,奠定了频域降噪的基础。谱减法的基本思想是在非语音帧,估计噪声的幅度谱,然后在语音帧,从受噪声污染的语音幅度谱线中减去这些噪声幅度谱偏置(bias),同时利用受噪语音的相位谱,合成时域信号,完成噪声的抑制,基本的范式可以利用下图【13】来概括:
在这里插入图片描述
但谱减法最大的问题是所谓的音乐噪声,这主要是由于噪声谱估计的不准确造成的,所以上图中有一个“Secondary processing”。后续的维纳滤波等方法虽然优于谱减法,但也无法彻底误差。判决引导DD方法利用上一帧降噪后的信息(先验信噪比的估计)与当前帧的后验信噪比联合判决,能有效的降低音乐噪声的影响,在维纳滤波里也有用到。上面这个框图差不多也是频域降噪的基本范式。

维纳滤波

【6】里有基本推导

MMSE&MMSE-LSA

来自于论文Speech enhancement using a minimum mean-square error short-time spectral amplitude estimatorSpeech Enhancement Using a Minimum Mean-Square Error Log-Spectral Amplitude Estimator 。主要作者就是Yariv Ephraim。

OMLSA && IMCRA

Optimal Speech Enhancement Under Signal Presence Uncertainty Using Log-Spectral Amplitude Estimator
Noise Estimation by Minima Controlled Recursive Averaging for Robust Speech Enhancement两篇论文阐述的内容 ,好像这个是经典算法的集大成者。再【14】中博主的解释比较具体和详细。在OMLSA&IMCRA学习笔记中仔细的推导了一下这些公式,本文不再赘述。

神经的

神经网络简单粗暴,设定目标,设计模型,输入数据,拟合目标。下面主要参考翻译【4】的资料,一般根据训练目标的设计分为两个范畴:

mapping-based

训练目标是一种非线性表达,定义一个映射函数 F F F,将受噪语音 y ( t ) y(t) y(t)变换为干净的语音 s ( t ) s(t) s(t) F : y ( t ) → s ( t ) F:y(t)\rightarrow s(t) F:y(t)s(t)由于语音数据的非稳态特性以及计算复杂度的考量,目标的学习策略通常变换到频域或者倒谱域来实现,不过近年来随着神经网络的成熟,很多时域方法也提出来了,即所谓的end-to-end,不过传统的还是在变换域需求答案。神经网络利用损失(误差)函数来拟合出原始的干净信号,MSE目标(损失)函数一般定义如下:
J = 1 N ∑ n = 1 N ∣ ∣ F ( y n ) − x n ∣ ∣ 2 \mathcal{J}=\frac{1}{N}\sum_{n=1}^N||F(y_n)-x_n||^2 J=N1n=1NF(yn)xn2很显然估计的干净信号为 x n ^ = F ( y n ) \hat{x_n}=F(y_n) xn^=F(yn),利用原始的受噪相位信息恢复信号 s ( t ) ^ \hat{s(t)} s(t)^简单的分类一下具体实现手段。

堆栈自编码器或者深度玻尔兹曼机

以堆叠自编码器为例,下图摘自 论文Deep Learning-Based Feature Representation and Its Application for Soft Sensor Modeling With Variable-Wise Weighted SAE,这个编码器很像全连接网络,大致上分为非线性编码阶段和一个线性解码阶段。
在这里插入图片描述
用公式来描述如下:
h ( y ) = g ( W 1 y + b ) x ^ = W 2 h ( y ) + b h(y)=g(W_1y+b)\\ \hat{x}=W_2h(y)+b h(y)=g(W1y+b)x^=W2h(y)+b
一般 g g g是激活函数, W 1 W_1 W1 W 2 W_2 W2是编解码器的权重矩阵。

LSTM-RNN

无须赘述了,这种对上下文解析超强的网络势必会提升,虽然参考文章里没有提,但可以预见attention模型也会对此有非常大的帮助。

CNN和TCN

CNN的思想是将语谱图当成图像来分析,TCN的优势和LSTM类似,可能更有利于分析这种情景。

GAN

这个想法其实也来自与图像处理,generative network (G)和 discriminative network (D)组成的对抗结构也使得降噪水平全面优于经典的额维纳滤波器【4】

masking-based

训练目标是一种掩模(mask),这个来自于干净语音和受噪声污染的语音的计算。最早应该就是IBM(ideal binary masking”)了,简单的说就是时频T-F域对语音和噪声做归类,将被噪声污染的最严重的的时频单元mask掉。ideal的说法是遵循最早的定义,即分析干净的语音和加性噪声的时频能量(幅度);后来衍生为估算信噪比SNR【2】。那么后来有了soft mask,即IRM(ideal ratio masking),直观来说会比IBM更细粒度一点,但算法复杂度也会增加。其实IRM更像频域维纳滤波方法(利用先验信噪比得出的比例系数), masking-based的方法是要学习一个回归函数,这个函数将受噪声干扰的语音频谱映射成时频掩模。假设语音频谱为 Y ( n , f ) Y(n,f) Y(n,f),时频掩模为 M ( n , f ) M(n,f) M(n,f),映射函数可以表示成 F : Y ( n , f ) → M ( n , f ) F:Y(n,f)\rightarrow M(n,f) F:Y(n,f)M(n,f)IBM的 M ( n , f ) M(n,f) M(n,f)可以用
M b ( n , f ) = { 1 , if  SNR( n ,  f ) > R 0 , otherwise M^b(n,f)= \begin{cases} 1, & \text {if \ SNR($n$, $f$) > R} \\ 0, &\text{otherwise} \end{cases} Mb(n,f)={1,0,if  SNR(nf) > Rotherwise
IRM的 M ( n , f ) M(n,f) M(n,f)可以用 M r ( n , f ) = S α ( n , f ) S α ( n , f ) + N α ( n , f ) M^r(n,f)=\frac{S^\alpha(n,f)}{S^\alpha(n,f)+N^\alpha(n,f)} Mr(n,f)=Sα(n,f)+Nα(n,f)Sα(n,f)【4】中对 α \alpha α作为一个幅度缩放因子做了解释,这个因子的选择将影响掩模的尖锐度或者T-F时频特征的动态范围,并且典型的几个取值和经典的算法是相对应的,例如 α = 1 \alpha=1 α=1是幅度掩模; α = 2 \alpha=2 α=2是功率掩模,这个算子就几乎变成了频域的维纳滤波【6】;而 α = 2 / 3 \alpha=2/3 α=2/3被解释为听觉(auditory)掩模,暂时无处可考。

传统和现代的碰撞

经典的方法其实更像西医,其算法的可解释性(interpretability)、鲁棒性(robust)和自适应(adaptive)能力是非常大的优势,并且这种自适应是非监督的,这点非常重要。而神经网络有点像我们的中医,通常是基于大数据驱动的,虽然学习能力和性能上无与伦比,但因为往往是基于监督训练模型的,受制于训练数据的覆盖(不可能),不能放之四海皆准,而且可解释性(interpretability)一直被诟病,出了问题基本无法回溯和分析,最好的办法就是将fail的case重新训练,显然这种亡羊补牢的方法有的时候是不灵的。

中西医结合的方法

这里主要是根据维纳滤波器的算法推导结论【6】,下面再重写一下: H ( ω k ) = ξ k 1 + ξ k = 1 − 1 γ k H(\omega_k)=\frac{\xi_{k}}{1+\xi_{k}}=1-\frac{1}{\gamma_{k}} H(ωk)=1+ξkξk=1γk1其实整个经典滤波都是围绕着获取准确的先验信噪比展开的。而从webrtc分析当中也可以看出,为了得出这个信噪比,绞尽脑汁想出了各种奇葩的算法,然而还是很难给出一劳永逸的办法,瞬态噪声依旧不给力,那么能不能将这个 ξ \xi ξ交给神经网络来处理,利用神经网络超强的拟合能力来破解这个难题呢?答案是肯定的,由此孕育除了非常多的好论文,大概是论文【8】开辟了这个新思想,后续的想法如雨后春笋的出来了,实测效果也非常不错。

参考文献

1. Isolating the energetic component of speech-on-speech maskingwith ideal time-frequency segregation
2.On Ideal Binary Mask As the Computational Goal of Auditory Scene Analysis
3.懷舊篇, 單通道降噪, MMSE-STSA, MMSE-LSA 方法
4.Deep Learning for Environmentally Robust SpeechRecognition: An Overview of Recent Developments
5.A Priori SNR Estimation Based on a Recurrent Neural Network for RobustSpeech Enhancement
6.webrtc中的噪声抑制之一:频域维纳滤波
7.Speech Enhancement Using a Mixture-Maximum Model
8.A Priori SNR Estimation Based on a Recurrent Neural Network for RobustSpeech Enhancement
9.Multi-objective Learning and Mask-based Post-processing for Deep NeuralNetwork based Speech Enhancement
10.PERCEPTUALLY GUIDED SPEECH ENHANCEMENT USING DEEP NEURAL NETWORKS
11.Binary and ratio time-frequency masks forrobust speech recognition
12.webrtc中的噪声抑制之三:基于信号存在概率的递归平均噪声估计
13.Comparison of Speech Enhancement Algorithms, Siddala Vihari,. U.V.C.E., Bangalore University, Bangalore, India
14.关于 IMCRA+OMLSA 语音降噪算法的详细解释

术语&缩略语

PSD Power Spectral Density-功率谱密度

MMSE Minimum Mean Square Error-最小均方差

STSA log spectral amplitude estimator

LSA Log-Spectral Amplitude

OMLSA Optimally Modified Log-Spectral Amplitude Estimator

iMCRA improved Minima Controlled Recursive Averaging

SPP Speech Presence Probability

SAP Speech Absence Probability

IBM Ideal binary mask 理想二值掩蔽

IRM Ideal Ratio Mask 理想比例掩蔽

PSM Phase-Sensitive Mask

DD Decision Directed 引导判定

TCS Temporal Cepstrum Smoothing 时域倒谱平滑

SDR signal-to-distortion ratio

PESQ perceptual evaluation of quality

STOI short-time objective intelligibility

RIR Room Impulse Response

MAP Maximum A Posterior

MLLR MaximumLikelihood Linear Regression

GMMs Gaussian Mixture Models

HMMs Hidden Markov Models

NAT Noise-Aware Training

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值