開源speex的語音增強(去噪)演算法介紹
speex的語音增強(去噪)演算法介紹speex是一套主要針對語音的開源免費,無專利保護的應用集合,它不僅包括編解碼器,還包括VAD(語音檢測),
DTX(不連續傳輸),AEC(回聲消除),NS(去噪)等實用模組。Speex的增強(去噪)演算法效能較好,而一般文件都是側重於
對應用介面的介紹。 本文對speex去噪演算法步驟做一些簡要整理和介紹,以提供給對該演算法感興趣的讀者參考。
1)preprocess_analysis()包括兩部分,主要是加窗交疊傅立葉(fft)變換等常用的訊號處理演算法。
1.1)預處理訊號輸入,加窗,交疊(overlap),時頻傅立葉變換(fft)1.2)計算能量計算頻域能量ps,而filterbnak_compute_bank32()計算基於Bark帶(臨界頻帶)內的帶噪訊號能量。
2)update_noise_prob()更新噪聲能量,使用的方法比較簡單,即一般的固定迭代因子平滑演算法;
3)更新mel噪聲譜能量;
4)計算後驗訊雜比和進行先驗訊雜比更新:
post_SNR = ps/noise - 1;gamma = 0.1 + 0.89*(old/(old+noise))^2;priori_SNR= gamma*max(0,post) + (1-gamma)*old_ps/noise;
5)先驗訊雜比平滑(zeta[i]),用於本底增益計算,計算範圍包括fft域和Bark域。
6)計算Bark帶(臨界頻帶)內的EM演算法增益和線性頻域上的EM演算法增益。
{注:EM(YARIV EPHRAIM 和 DAVID MALAH) 是語音增強領域的泰斗。}考慮到在臨界頻帶內幅度譜並不一定符合高斯隨機分佈,所以EM演算法在Bark帶內不能嚴格適用,這一點JEAN-MARC也在c程式碼中做了說明,所以此處只以線性頻率上的EM增益為例進行說明。
6.1 ) weiner 濾波:prior_snr= prior_snr /( prior_snr +1);
6.2 ) 超幾何分佈增益引數 theta= prior_snr *(1+post_snr);
6.3) 超幾何分佈增益 MM=exp(-theta/2)*[(1+theta)*I0(theta/2)+theta*I1(theta/2)];其中I0和I1是貝塞爾函式。
6.4) 增益 g=min(1,prior_ratio*mm);
6.5) p=gain2[i];gain2是由臨界頻率計算後的增益擴充套件到線性頻域後的增益。
6.6) 約束增益:如果 g/3>st->gain 則 g=3*st->gain ;
6.7) gain=g; 如果 gain<gain_floor 則 gain =gain_floor ;
6.8) 最終幅度譜增益
gain2={p*sqrt(g)+(1-p)*sqrt(st->gain_floor )}^2;
7)將幅度譜增益gain2作用於fft幅度譜
8)後處理,包括反傅立葉變換(ifft)、加合成窗函式、交疊相加,最終得到去噪以後的時域訊號。
附EM演算法的推導和結論:
相關文章
- Spring AOP 增強介紹Spring
- Total Variation(TV)去噪演算法演算法
- Go 語言開源 CI/CD 容器 Drone 介紹Go
- 語音頂會 ICASSP 2022 成果分享:基於時頻感知域模型的單通道語音增強演算法模型演算法
- Blazor Bootstrap 元件庫語音元件介紹Blazorboot元件
- XCharts 開源庫介紹
- i人的福音!一個強大開源的文字轉語音工具!
- 基於深度學習的單通道語音增強深度學習
- 基於SAP Kyma的訂單編排增強介紹
- Win10 1909怎樣開啟聲音增強_Win10 1909開啟聲音增強的教程Win10
- CodeFormer一款既能影像修復、還能影片增強去碼的AI軟體(下載介紹)ORMAI
- 開源CMS系統介紹
- AirPods介紹|AirPods Pro 的空間音訊功能介紹和開啟教程AI音訊
- 介紹Facebook語音框架——Wav2letter++篇!框架
- 最強AI語音克隆和文字配音工具!與真人無異,CosyVoice下載介紹AI
- Mac音訊編輯修復去噪軟體——Amadeus Pro for MacMac音訊
- 開源≠免費 常見開源協議介紹協議
- 開源測試工具 JMeter 介紹JMeter
- .NET 開源專案 StreamJsonRpc 介紹JSONRPC
- 手寫開源ORM框架介紹ORM框架
- 超清音質實時會議系統的背後 ,深入剖析 AliCloudDenoise 語音增強演算法Cloud演算法
- C#版本LINQ增強開源庫C#
- 多軌音訊編輯修復去噪軟體:Amadeus Pro for Mac音訊Mac
- Amadeus Pro for Mac(多軌音訊編輯修復去噪軟體)Mac音訊
- Java開源的混淆器 Proguard詳細介紹Java
- 用javascrip在瀏覽器上實現語音輸入和語義理解功能(speex壓Java瀏覽器
- 介面測試工具 tep 介紹 (開源)
- .NET 開源專案 StreamJsonRpc 介紹[下篇]JSONRPC
- Devs--開源規則引擎介紹dev
- .NET 開源專案 StreamJsonRpc 介紹[中篇]JSONRPC
- 開源監控系統Prometheus介紹Prometheus
- 開源視訊播放器介紹播放器
- node中使用C++模組呼叫呼叫speex完成語音檔案壓縮C++
- iOS 14:如何在iPhone和iPad上增強語音備忘錄錄音iOSiPhoneiPad
- 5 款不錯的開源語音識別/語音文字轉換系統
- RK3288最新開源開發板介紹
- 10大開源的Web應用防火牆介紹Web防火牆
- 開源179個Flutter元件的詳細使用介紹Flutter元件