PercepNet如何实现全频带语音的低复杂度、实时增强?
摘要:论文地址:一种低复杂度实时增强全频带语音的感知激励方法 论文代码:https:github.comsearch?q=PercepNet 引用格式:Valin J M, Isik U, Phansalkar N, et al.&
论文地址:一种低复杂度实时增强全频带语音的感知激励方法
论文代码:https://github.com/search?q=PercepNet
引用格式:Valin J M, Isik U, Phansalkar N, et al.A Perceptually Motivated Approach for Low-complexity, Real-time Enhancement of Fullband Speech[C]//ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020: 2482-2486.
摘要
近几年来,基于深度学习的语音增强方法大大超过了传统的基于谱减法和谱估计的语音增强方法。许多新技术直接在频域操作,导致了很高的计算复杂度。在这项工作中,我们提出了PercepNet,这是一种高效的方法,它依赖于人类对语音的感知,通过关注语音的谱包络和语音的周期性,我们展示了高质量的实时增强全频带(48 KHz)语音的方法,使用了不到5%的CPU核。
关键词:语音增强,基音滤波,后置滤波
1 引用
在过去的几年里,基于深度学习的语音增强方法大大超过了传统的基于谱减法和谱估计的方法[1]和[2]。其中许多技术直接使用短时傅立叶变换(STFT),估计幅度[3,4,5]或者理想比值掩码(IRM)[6,7]。这通常需要大量的神经元和权重,导致很高的复杂性,这也部分解释了为什么许多这些方法被限制在8或16 kHz。STFT的使用还带来了窗长的权衡,长窗口会引起音乐噪声和类似混响的效果,而短窗口不能提供足够的频率分辨率来消除音调谐波之间的噪声。这些问题可以通过复数比值掩码(cRM)[8]或时域处理[9,10,11]来缓解,但代价是进一步增加复杂度。
我们提出了PercepNet,这是一种非常依赖于人类对语音信号的感知并改进了RNNoise的有效方法[12]。更确切地说,我们关注关键频段的音频感知(第2节),音调和噪音的感知(第3节),并使用了新的非因果梳状滤波器。我们使用的深度神经网络(DNN)模型是使用感知标准进行训练的(第4节)。我们提出了一种新的包络后置滤波器(第5节),进一步改善了增强后的信号。
PercepNet算法在10ms的帧上运行,具有40ms的look ahead,仅使用x86 CPU内核的4.1%就可以实时增强48 kHz的语音。我们发现它的性能大大超过了RNNoise(第6节)。
2 信号模型
设$x(n)$是纯净语音信号,在嘈杂的房间中由免提麦克风捕获的信号由下式给出
$$公式1:y(n)=x(n)*h(n)+\eta (n)$$
其中$\eta (n)$是来自房间的噪声,$h(n)$是从讲话者到麦克风的脉冲响应,$*$表示卷积。 此外,纯净语音可以表示为$x (n) = p (n)+ \mu (n)$,其中$p(n)$是局部周期分量,而$\mu(n)$是随机分量(这里考虑诸如停顿之类的瞬变作为随机分量的一部分)。 在这项工作中,我们尝试计算增强信号$\hat{x}(n)=\hat{p}(n)+\hat{\mu}(n)$,使它在感知上尽可能接近纯净语音$x(n)$。 从环境噪声$\eta (n)$中分离随机分量$\mu(n)$是一个非常困难的问题。 幸运的是,我们只需要$\hat{\mu}(n)$听起来像$\mu(n)$,这可以通过过滤混合$\mu(n)*h(n)+\eta (n)$以具有与$\mu(n)$相同的频谱包络来实现。 由于$p(n)$是周期性的,并且假设噪声不具有强周期性,因此$p(n)$应该更容易估计。 同样,我们主要需要$\hat{p}(n)$具有与$p(n)$相同的频谱包络和相同的周期。
我们试图构造一个增强信号,它具有与纯净信号相同的1)频谱包络,2)频率相关的周期随机比(periodic-to-stochastic ratio)。对于这两个属性,我们使用与人类感知相匹配的分辨率。
我们使用具有20 ms窗口和50%重叠的短时傅立叶变换(STFT)。我们使用满足Princen-Bradley完全重构准则的Vorbis窗函数[13]进行分析(analysis)和合成(synthesis),如图1所示。算法概述如图2所示。
图1:当前合成(synthesized)窗以红色显示。
