RNNoise: Learning Noise Suppression(深度学习噪声抑制)(1)

前言

  我将通过几篇文章来介绍一下RNN用于降噪的实例。
  综合论文和项目介绍及代码编写
  原文链接:https://people.xiph.org/~jm/demo/rnnoise/

上图显示了前后音频噪声抑制的频谱图。(上:noisy,中:RNNoise,下:clean speech)
  上图显示了前后音频噪声抑制的频谱图。(上:noisy,中:RNNoise,下:clean speech)

RNNoise

  该演示介绍了RNNoise项目,显示了如何将深度学习应用于噪声抑制。主要思想是将经典信号处理与深度学习结合起来,创建一个小而快速的实时噪声抑制算法。不需要昂贵的GPU,可以在Raspberry Pi上轻松运行。结果更简单(更容易调谐),听起来比传统的噪音抑制系统更好。

噪声抑制

  噪音抑制是言语处理中的一个相当古老的话题,至少可以追溯到70年代。顾名思义,这个想法是采取嘈杂的信号,并尽可能多地消除噪音,同时对感兴趣的语音造成最小的失真。
RNN框架

传统噪音抑制

  这是传统噪声抑制算法的概念图。语音活动检测(VAD)模块检测信号何时包含声音以及何时只是噪声。这被噪声谱估计模块用于计算噪声的频谱特性(每个频率多少功率)。然后,知道噪声模型,它可以从输入音频“减去”(并没有那么简单)。
  从上图看,噪声抑制看起来很简单:只是三个概念上简单的任务,任何本科EE学生都可以写一个噪音抑制算法,有时困难的是在任何时间,各种噪音情况下使系统工作正常。这需要非常仔细地调整算法中的每个参数,需要在包含大量特殊信号的情况下进行大量的测试。speexdsp库中的噪音抑制器做了一些工作,但不是很好。

深度学习和循环神经网络

  深度学习是一种新思想的新版本:人工神经网络。虽然自六十年代以来一直存在,但近年来有了很多重要的新发展:
我们现在知道如何使使用比两个隐藏层更深的网络;
我们知道如何让循环网络在过去很长时间记住状态;
我们有实际训练他们的计算资源。
  循环神经网络(RNN)很好地应用于语音处理,因为它们可以对时间序列建模,而不是仅仅考虑输入和输出帧。这对噪声抑制特别重要,因为我们需要在时间尺度上获得较好的噪声估计。长期以来,RNN的能力受到很大的限制,因为它们长期不能保存信息,并且通过时间进行反向传播时涉及的梯度下降过程是非常低效的(梯度消失问题)。这两个问题都通过门控单元来解决,如长期记忆(LSTM),门控循环单元(GRU)及多种变体。
  RNNoise使用门控循

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值