RNNoise要注意的部分(草稿记录)

rnnoise会有一个pitch_filter

这是由于因为它们在生成特征时不是用频域上所有频点,而是采取bark's scale的切分频段来对不同频率的频段进行特征处理

这样的话频域上的分辨率会降低,然后导致最后在进行降噪后生成的语音会有一个现象就是oversmoothing,即你会辨别不清共振峰.

尽管bark's scale 在低频部分的频段分得很细,但是他把好几个频率都归为一个频带,就会使得生成波形很平滑(想想看,以前每个频点分别处理,现在几个频点虽然代表不同频率,但都是统一类,一起处理,就会平滑)但在语音中,过度平滑不是好处,对识别人听和识别是坏处的,所以pitch_filter就是去sharp这些共振峰的.

这个处理oversmoothing 的部分在另外一个项目也就是中科大sednn降噪的 global variance处理也能体现出来.

然后会有人问,可不可以不用barks'scale 处理,直接频点处理呢,可以,但在高频会有问题.

因为帧与帧之间在低频部分会有小部分变化,但那种变化并不是特别大,可是在高频部分变化是非常剧烈的(拿段音频做频谱分析你就能知道)

原因有两个:

1.高频部分信噪比比较低,所以噪声较大,SE处理后噪点多

2.因为高频部分是n阶谐波,基频变一点,高频变很多

如果把每个频点单独处理的话,到时候降噪可能会产生残余噪点,影响听觉感受. 这也能理解为啥mfcc高频的滤波器跨越的频率那么宽,低频滤波器很多

最后,改了rnnoise的东西能生成16k的模型,用aishell的数据进行训练和测试,asr 效果确有提高~

 

我把rnnoise 16k的训练方法开源出来了, 有兴趣参考 rnnoise16k

 

 

 

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 35
    评论
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值