经典语音降噪方法-谱减法

一、引言

  谱减法作为语音降噪处理算法中的经典算法,因其运行和处理快,而被广泛应用。

二、简单谱减法

  2.1 谱减法使用场景

    1) 噪声为是平稳的(也即在整个时间范围内,噪声的均值和方差基本保持不变);
    2) 噪声为加性噪声

  2.2 简单谱减法基本思想

    默认混合信号(含噪信号)前几帧仅包含环境噪声,并利用混合信号的前几帧的平均幅度谱或者能量谱作为估计到一帧噪声的幅度谱或者能量谱。最后利用混合信号(含噪信号)的幅度谱或者能量谱与估计到的幅度谱与能量谱相减,得到估计到的干净信号的幅度谱或者能量谱。

  2.3 简单谱减法数学模型

  接收到的含噪语音信号时域数学模型如下: y ( n ) = x ( n ) + n ( n ) y(n)=x(n)+n(n) y(n)=x(n)+n(n)  其中, y ( n ) y(n) y(n)表示混合信号(含噪信号),也即待降噪信号 x ( n ) x(n) x(n)表示干净信的语音信号 n ( n ) n(n) n(n)表示噪声信号。其频域表达式如下所示: Y ( ω ) = X ( ω ) + N ( ω ) Y(\omega)=X(\omega)+N(\omega) Y(ω)=X(ω)+N(ω)   出增强后语音信号出现幅度谱负数的情况用0替换 ∣ X ^ ( ω ) ∣ = { ( ∣ Y ( ω ) ∣ γ − ∣ N ^ ( ω ) ∣ ∣ ∣ 1 γ ∣ Y ( ω ) ∣ γ − ∣ N ^ ( ω ) ∣ ∣ γ ≥ 0 0  else  |\hat{X}(\omega)|=\left\{\begin{array}{cc} \left(|Y(\omega)|^{\gamma}-\left.|\hat{N}(\omega)|^{\mid}\right|^{\frac{1}{\gamma}}\right. & |Y(\omega)|^{\gamma}-|\hat{N}(\omega)|^{\mid \gamma} \geq 0 \\ 0 & \text { else } \end{array}\right. X^(ω)=(Y(ω)γN^(ω)γ10Y(ω)γN^(ω)γ0 else 
    其中,若 γ = 1 , ∣ Y ( ω ) ∣ \gamma=1,|Y(\omega)| γ=1,Y(ω)为混合信号(含噪信号)的幅度谱;若 γ = 2 , ∣ Y ( ω ) ∣ 2 \gamma=2,|Y(\omega)|^2 γ=2,Y(ω)2为混合信号(含噪信号)的能量谱; ∣ N ^ ( ω ) ∣ ∣ γ |\hat{N}(\omega)|^{\mid \gamma} N^(ω)γ为混合信号(含噪信号)估计到的幅度谱或者能量谱。其系统框图如下所示:

  简单谱减法代码实现步骤
    1) 初始化参数,确定帧长帧移傅里叶变换长度,确定估计噪声谱的帧数
    2) 读入混合语音信号,根据帧长帧移计算帧数
    3) 根据确定用于估计噪声谱的帧数,估计噪声谱
    4) 对每一帧混合信号进行stft变换,然后用含噪信号谱减去噪声谱,得到增强后的信号的幅度谱或者能量谱
    5) 若增强后的信号的幅度谱或者能量谱出现负值,则将其替换为0
    6) 利用混合信号的相位增强后信号的幅度谱进行重构-反变换到时域

  2.4 简单谱减法结果展示

三、经典语音增强方法-过减法

  3.1 简单谱减法的缺点

    在简单谱减法过程中,如果混合信号的幅度谱与估计出来的噪声谱相减出现负值,说明对噪声出现了过估计问题,仅是简单的将出现的负值设为0,将会导致信号帧频谱的随机位置上出现小的、独立的峰值,称之为音乐噪声

  3.2 改进后的谱减法–>过减法

    改进的点如下所示:
     1) 在简单谱减法的基础上加上过减因子 α \alpha α
     2) 对过减后出现的负值 β ∣ N ^ ( ω ) ∣ \beta|\hat{N}(\omega)| βN^(ω)替换, ∣ N ^ ( ω ) ∣ |\hat{N}(\omega)| N^(ω)为估计到的噪声的幅度谱

  3.2 过减法数学公式

    改进后的过减法数学公式如下所示, ∣ X ^ ( ω ) ∣ = ( ∣ Y ( ω ) ∣ γ − α ∣ N ^ ( ω ) ∣ γ ) 1 γ |\hat{X}(\omega)|=\left(|Y(\omega)|^{\gamma}-\alpha|\hat{N}(\omega)|^{\gamma}\right)^{\frac{1}{\gamma}} X^(ω)=(Y(ω)γαN^(ω)γ)γ1     出增强后语音信号出现幅度谱负数的情况 β ∣ N ^ ( ω ) ∣ \beta|\hat{N}(\omega)| βN^(ω)替换
∣ X ^ ( ω ) ∣ = { β ∣ N ^ ( ω ) ∣ ∣ X ^ ( ω ) ∣ < β ∣ N ^ ( ω ) ∣ ∣ X ^ ( ω ) ∣  else  |\hat{X}(\omega)|= \begin{cases}\beta|\hat{N}(\omega)| & |\hat{X}(\omega)|<\beta|\hat{N}(\omega)| \\ |\hat{X}(\omega)| & \text { else }\end{cases} X^(ω)={βN^(ω)X^(ω)X^(ω)<βN^(ω) else 

  3.3 过减法降噪结果展示

四、参考文献

  1、语音降噪初探
  2、鲁东大学-于泓老师语音增强课程

  • 11
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值