麦克风阵列技术-beaforming开源算法源码分析
2023-09-11 14:17:11 时间
概述
在音频前端处理算法中,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
相关文章
- 业务解决方案/-数据结构与算法速成
- 知乎热议:数据结构算法至上还是技术至上?网友:数据结构算法是决定大厂面试成败关键...
- 基于matlab的粒子群视频跟踪算法仿真
- Uber全揭露:技术团队、反欺诈算法、数据分布
- 分治算法之芯片测试
- 【多传感器融合】匈牙利算法
- 算法入门到进阶(三)——搜索技术(BFS和A*算法)
- 算法入门到进阶(三)——搜索技术(八数码问题和状态图搜索)
- 算法入门到进阶(三)——搜索技术(BFS和队列)
- 程序员保值的4个秘密(要当语言和框架方面的专家,高难技术,业务,算法,产品意识与思维(把细节做好))
- javascript算法-单链表
- 重谈MST及Kruskal算法
- 华为OD机试 - 寻找目标字符串(Python) | 机试题+算法思路+考点+代码解析 【2023】
- 刷算法题
- password技术应用设计实践-安全信息传输系统(SITS)(用Java实现DES、RSA、MD5算法)
- 仿真算法数据结构与算法 C++实现
- 【技术架构】负载均衡算法
- 首次披露!拍立淘技术框架及核心算法,日均UV超千万
- 00数据结构与算法分析之---数据结构范畴