NNOM神经网络语音降噪

目录

1. 问题记录和解决

2. C工程建立和运行

1. 问题记录和解决

(1)python语音处理依赖库soundfile

在miniconda的powershell中执行指令:

pip install soundfile –i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

(2)numpy的版本过高

Numpy的版本过高,会出错:

TypeError: 'float' object cannot be interpreted as an integer

过低又会引起不兼容某些库(比如:matplotlib),所以在降低numpy版本的时候,注意看打印的信息,这里我选择了一个合适自己的版本:

pip install numpy==1.17.3 -i https://pypi.douban.com/simple/

(3) 屏蔽GPU加速

编译模型的过程中会出错,可根据提示信息进行定位。由于GPU加速部分没有调通,所以注释掉这部分,不需要GPU加速。

文件:\nnom-master\examples\rnn-denoise\main.py

 如下:

2. C工程建立和运行

工程目录结构如下:

 运行结果:

 对比原始带噪语音文件和降噪语音文件:

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
目前,语音降噪算法有很多种。频谱减法有原理简单、容易实现的优点,是 语音降噪的常用算法。但是频谱减法也有如下两个缺点:一是频谱减法性能的好 坏主要依赖于噪声估计,而噪声估计又依赖于端点检测算法。在噪声水平强度高 时,一般的端点检测算法会失效,无法检测出信号中噪声帧的具体位置,从而影 响了噪声估计值的准确性;二是带噪信号经过频谱减法降噪后,由于在谱减时减 去的是同一噪声估计值,就使得信号会随机出现分离的谱区,这些谱区就形成了 容易让人耳听觉疲惫的“音乐噪声”。 针对频谱减法上述的两个缺点,本文对其进行了改进。第一:为了使得噪声 端点检测算法在噪声水平高时也能获得正确的检测,我们求带噪信号的幅度值均 值,并根据这个均值与带噪信号开始数帧的幅度均值大小来判断带噪信号是以噪 声开始还是以带噪语音信号开始。然后根据连续两帧信号的差值的变化来判断噪 声帧和语音帧的起始位置,同时我们在判断的同时把得到的均值做为噪声估计值, 这样既考虑到了连续前后两帧信号的相关性又能够衰减噪声。除此之外,基于本 文改进的噪声端点检测方法的噪声估计值能够在整个带噪语音信号上快速的更新 噪声估计值,提高频谱减法的实时处理能力。第二:为了减少频谱减法所引入的 音乐噪声,我们实现了用 LMS 算法在时域上进行语音增强,来处理谱减后的降噪 信号。LMS 算法能够在降低噪声水平的同时把音乐噪声转换为能量更低的白噪声, 减少了音乐噪声对人耳的刺激,有助于提高处理后的音频的语音质量,提高主客 观评价效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值