以下对比仅来自个人算法,算法不同效果肯定也不一样,仅供参考
一、关于啸叫,根据声音系统可以分为两种情况来对比传统和深度学习去啸叫的效果:
1、一种是扩声系统,比如大型演播厅,KTV,本地会议扩声系统等,这种场景下的啸叫正反馈自激时间短。
2、另一种就是录播系统,比如在同一个房间打电话或者游戏开黑导致的啸叫,这种啸叫自激往往是一段一段。
二、传统啸叫的处理方法:
1、移频:这个方法对声音的失真相对比较大。
2、陷波:这个方法在很多硬件产品中使用非常多,自适应陷波器通过查找啸叫点,控制很小的band,
以及一定算法复杂度的情况下,效果相对比较好。
深度学习处理啸叫:(通过把啸叫作为噪声和纯净语音混合作为训练样本,最终训练出消除啸叫的模型)
三、传统和深度学习去啸叫的最终效果对比:
1、扩声系统下:
自适应陷波器需要根据检测啸叫点的数目,同时控制band和抑制db 数,整体做的很好的
啸叫抑制并很小的失真,在大部分场景下,这种方法非常的实用,而相对于深度学习抑制
效果,把啸叫当作噪声,会反复出现啸叫自激,并且处理后在语音段会有明显金属音残留
(由于深度学习方法收敛数据快,并不会有很长的啸叫残留),而传统方法往往只会在同一
频点第一次啸叫时会有残留,主要是传统方法直接改变了正反馈回路而深度学习方法只是
把啸叫作为了噪声消除,另外深度学习不需要设定啸叫点数目算是一个好处。
总结下:在这种场景下,其实并不觉得那种更好,在场景固定,啸叫点固定的场景下,觉得还是
传统的方法更合适,但是在不停移动的场景中,深度学习的方法可能也合适。
2、录播场景下:
以手机啸叫为对比,发现,传统方法很难适用这种场景,主要是因为传统方法需要较长的时
间的来检测啸叫点,但是手机啸叫一段一段的,导致检测很不准确。这个时候使用深度学习
抑制啸叫是一个不错的选择。
感兴趣的音频爱好者,欢迎大家加音频算法QQ讨论群:(作者zeark)153268894