概述
在音频前端处理算法中,beamforming算法是一个无法绕过的存在,随着AI技术的广泛发展,前端语音技术的需求也在呈现个性化的动态范围。作为一个深耕音频算法多年的老兵,发现站在巨人的肩膀上,才能做出对得起客户的产品。今天就分析一下一个开源的beamforming算法。
算法流程
步骤一:预处理
预处理内容:
A 加窗:为傅里叶变换做准备,防止频谱泄露。
B 傅里叶变换:通过傅里叶变换,获取每路麦克风的频域值大小.
C 求权重因子:获取每路麦克风的权重因子.
步骤二:beamforming流程
beamforming算法流程
A 加载加权过的频谱数据
B 计算不同麦克风之间的互相关系数
C 寻找音频方向源头: 计算每个麦克风的最大能量
D 复位最大值相关的延时系数.
E 计算人声可能范围的概率系数
步骤三:跟踪人声声源
跟踪算法效果:
A 滤波器滤波:预测滤波器先进行滤波.
B 计算每个麦克风的先验概率.
C 根据当前值计算概率
D 计算概率系数f的值.
E 计算并更新每个粒度的因子
F 添加或删除跟踪源
G 确认是否停止跟踪某个源
H 计算每个源的位置
L 对每个源进行重采样
步骤四:人声分离
降噪处理流程:
A 加载分离后的源
B 噪声统计
C 计算噪声泄露
D 计算拉姆达因子
E 噪声叠加
F 计算噪声总量
G 提取人声
H 增益因子应用
步骤四:后置滤波器
人声提取流程:
A 加载跟踪源
B 计算矩阵信息
C 计算每个帧信息
D 导出帧信息.
算法总结
总的来说,该算法还是比较新的,各项指标比较完善,并且代码水平写的比较高。笔者分析完成之后,真是受益很大。
参考文档
1 经典书籍:http://www.labbookpages.co.uk/audio/beamforming/delaySum.html
作者:虚生 出处:https://www.cnblogs.com/dylancao/ 以音频和传感器算法为核心的智能可穿戴产品解决方案提供商 ,提供可穿戴智能软硬件解决方案的设计,开发和咨询服务。 勾搭热线:邮箱:1173496664@qq.com weixin:18019245820 市场技术对接群:347609188 |