上一篇文章介绍AI-GruNet降噪算法,这是一个轻量级的网络结构,广泛适用于算力有限的平台。本篇文章介绍一个新的降噪做法AI-CGNet。

一、模型结构

CGNet是一个经典的网络结构,被广泛应用在唤醒,声音活动检测等任务上。

特征方面,仍然使用log功率谱作为特征。

图片

网络方面,先进行归一化,然后通过卷积实现对频率二维信息进行建模。然后使用两层GRU层,实现对时间序列历史信息建模,dropout防止过拟合。最后加上三层全连接。最后预测幅度上的一个增益mask。

图片

前向代码如下,最后估计的增益作用到幅度谱,达到降噪。

图片

二、损失函数

目标是一个实数增益掩码,仍然使用SA的方式进行训练,使用Negative SI-SNR作为损失函数。

三、关于工程化

需要注意的是,卷积有多种优化的实现方式。GRU是一个循环神经网络, 需要按照时间步循环。

四、测试数据和处理结果

街道噪声,非常嘈杂,降噪多达37db左右。

图片

无法张贴测试音频,更多测试音频和下载链接,见微信公众号“算法晓记”。

五、代码

包括训练代码和工程代码,后续考虑公开。

更多推荐