前记
在对讲和本地扩音领域,啸叫抑制是一个无法绕过去的话题。怎么抑制啸叫是一个非常棘手的问题。笔者及团队在这个方向研究了好久。终于取得了一些阶段性的进展。这里做一下梳理。
心路历程
刚开始想依靠单纯的算法去解决。做了很多仿真,发现都不是很理想。不是抑制太狠了影响音质,就是太轻了没办法把啸叫抑制下去。几经周折,终于摸索出了一些心得体会,也越发觉得这个不是一个容易解决的问题。
其实,这个问题的解决,我们做了一系类的工作,才算是稍有成效。一个是使用硬件的ADC和dac的时候,尽量不要音量同步。算法上,为了减少对音质的影响,找准啸叫点并切除是一个非常好的点。基于此,使用算法解析出啸叫点,并对啸叫的点做算法处理。处理完的音质有时会受损,这个就用到了语音增强和修复算法了。再过一下语音增强算法,这个效果就好了不少。
在实际使用中,咪头的位置和增益也是非常有讲究的,咪头增益尽量小,和喇叭的位置尽量远一些。产品密封性做好一些,这样会有一个更加好的效果了。
总结展望
这个结果被做成了模块的样式,接下来就可以上架了。有需要的同学可以私信我拿样体验。
技术的前进是无止境的,希望有好的算法的和想法的同仁多多指教。有可能会碰撞出很多思维的火花。