麥克風陣列技術-beaforming開源算法源碼分析

概述

  在音頻前端處理算法中,beamforming算法是一個沒法繞過的存在,隨着AI技術的普遍發展,前端語音技術的需求也在呈現個性化的動態範圍。做爲一個深耕音頻算法多年的老兵,發現站在巨人的肩膀上,才能作出對得起客戶的產品。今天就分析一下一個開源的beamforming算法。html

         

算法流程

  步驟一:預處理前端

預處理內容:算法

A 加窗:爲傅里葉變換作準備,防止頻譜泄露。
B 傅里葉變換:經過傅里葉變換,獲取每路麥克風的頻域值大小.
C 求權重因子:獲取每路麥克風的權重因子.3d

  步驟二:beamforming流程orm

beamforming算法流程htm

A 加載加權過的頻譜數據
B 計算不一樣麥克風之間的互相關係數
C 尋找音頻方向源頭: 計算每一個麥克風的最大能量
D 復位最大值相關的延時係數.
E 計算人聲可能範圍的機率係數blog

  步驟三:跟蹤人聲聲源文檔

跟蹤算法效果:get

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

相關文章
相關標籤/搜索