Fork me on GitHub

随笔 - 997  文章 - 5  评论 - 181  阅读 - 300万 

前记

  作为一个前端算法为核心的解决方案提供商,双麦克算法一直是我们研究的重心。这些年,陆陆续续的花费了不少时间在上面,坎坷的研发经历,可以说是一波三折。不过,在经历了一系列山路回转之后,总算是得到了一些进展。蓦然回首,真是山穷水尽疑无路,柳暗花明又一村啊。

 

调试历程

  农历腊月,寒风凛冽。当大多数人都在欢天喜地过准备过大年的时候,我还为算法中的一个bug反复验证,仿真,仿真。每一座山,只有翻过去了,才知道山中的风景何如。在翻阅了大量的资料,尝试了不同的beamforming算法之后,发现这块真没有合适的开源算法能够完全匹配客户场景的。只能自己写了,这个算法是这个和结构环境强相关的,不是纯算法的东西,是无法用纯算法仿真的很好的。很多的beamforming算法,各项指标仿真都很好,可是一上实际环境,让我大跌眼镜,怎么会那么差呢?后来分析才知道,这些都是理想环境的,实际的考虑到麦克风的各种干扰和电路模型,这种算法,实际环境中哪会有这么理想的模型呢?

 

效果展示

 经过反复的调试和测验,自研的双麦克风降噪算法算是能够在外壳比较小的样机上实现了。这下面是处理前和处理后的音频数据分析:

前面是戴上耳机的人自己说话,后面一段是周围的人在说话,可以看出,能够拾取说话的人声,过滤掉周围的人声。初步测试下来,降噪效果是杠杠的。通过客户的反馈来看,虽然还有一些小bug需要修补,总体来说效果还是相当不错的。

   频谱图可以看的更清楚一些。

优缺点总结

  通过反复的测试和调研,笔者对双麦克风降噪有了更深的理解。发现双麦克风降噪的缺点和它的优点一样明显。

优点:指向性好,消耗资源相对少的情况下,效果能够达到非常好,并且降噪效果也是出奇的好,在某些场景下有着明显的优势。

缺点:对设备的两个麦克风的距离要求比较高。对声学结构要求比较高,场景要求苛刻,两个麦克风不能距离太近,并且两个麦克风距离说话人的距离不能太远,太远了角度就很小了,根本无法分辨出来。

posted on   虚生  阅读(1631)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
历史上的今天:
2020-04-06 c语言提取浮点型数据的整数部分与小数部分几种方法
2020-04-06 TLV320ADC3101这颗立体声 ADC芯片分析体验及总结
点击右上角即可分享
微信分享提示