当前位置: 代码迷 >> 综合 >> 语音去混响算法之WPE( Weighted Prediction Error for speech dereverberation)
  详细解决方案

语音去混响算法之WPE( Weighted Prediction Error for speech dereverberation)

热度:94   发布时间:2024-01-29 17:28:13.0

目录

    • 简介
    • 信号模型
    • WPE 算法(Weighted prediction error)
    • 参考文献

简介

背景噪声和空间内声反射产生的混响是声学信号处理和远场语音识别的两大障碍。WPE(Weighted Prediction Error)算法主要用于去除信号中的混响成分,此算法基于线性预测估计,是目前针对去混响(dereverberation)问题的主流算法之一。

信号模型

假设观测信号由D个麦克风采集,则该信号由STFT变换之后可表示为一个D维向量 y t , f y_{t,f} ,其中时间index为t,频率index为f。
在远场情境之下,信号被卷性混响(观测信号为干净信号与混响的卷积)干扰。我们认为信号靠近声源的部分为空间冲击响应(RIR room impulse response),是有益的信号,而尾部的信号干扰ASR,需要被消除。我们假设信号主峰之后的50ms为 h ( e a r l y ) h^{(early)} ,剩下的部分为 h ( t a i l ) h^{(tail)}
在STFT域我们建立如下模型:
Y t , f = X t , f ( e a r l y ) + X t , f ( t a i l ) Y_{t,f} = X_{t,f}^{(early) }+ X_{t,f}^{(tail)}
图片来源:https://www.sonible.com/de/blog/nachhall-audioproduktion/

WPE 算法(Weighted prediction error)

WPE的主要思路是首先估计信号的混响尾部,然后再从观测信号中减去混响尾部,得到对弱混响信号的极大似然意义下的最优估计。
混响信号的时域可表达为:
x t , f , d ( e a r l y ) = y t , f , d ? τ = Δ Δ + K ? 1 d g τ , f , d , d ? y t ? τ , f , d x_{t,f,d}^{(early)} = y_{t,f,d} - \sum_{\tau=\Delta}^{\Delta+K-1} {\sum_{d'}{g_{\tau,f,d,d'}^* y_{t-\tau,f,d'} } }
经过STFT变换后记作:
X t , f ( e a r l y ) = Y t , f ? G f H Y t ? τ , f X_{t,f}^{(early)} = Y_{t,f} - G_f^H Y_{t-\tau,f}

d d 为麦克风的编号, K K 为滤波器的抽头(Filter Tap)数,预测步长 Δ > 0 \Delta>0 G f G_f 代表滤波器权重, Y t , f Y_{t,f} 为观测信号。下图描述了WPE一步预测。
在这里插入图片描述
未完待续。。。

参考文献

Yoshioka, Takuya, and Tomohiro Nakatani. “Generalization of multi-channel linear prediction methods for blind MIMO impulse response shortening.” IEEE Transactions on Audio, Speech, and Language Processing 20.10 (2012): 2707-2720.

  相关解决方案