基於小波變換的語音增強演算法簡單綜述

2021-07-24 11:48:50 字數 4826 閱讀 3117

語音通訊是人類傳播資訊,進行交流時使用最多、最自然、最基本的一種手段。而這種通訊中的資訊載體—語音頻號卻是一種時變的、非平穩的訊號,只有在很短的一段時間內(通常為10~30ms)才被認為是平穩的。在語音的產生、處理和傳輸過程中,不可避免地會受到環境雜訊的干擾,使得語音頻號處理系統,如語音編碼和語音識別系統的效能大大降低。為了改善語音質量,提高語音的可懂度,人們根據語音和雜訊的特點,採取各種語音增強方法抑制背景雜訊。但是語音頻號去噪是乙個很複雜的問題,必須考慮語音本身的特點、千變萬化的雜訊的特點、人耳對語音的感知特性以及大腦如何處理訊號等問題,所以,語音增強技術的研究是語音頻號處理中永恆的課題。

儘管語音頻號的去噪理論和方法目前還遠遠沒有解決,但是40多年來,研究者們針對不同的雜訊、不同的應用對加性雜訊提出了很多方法。流行的語音增強方法有維納濾波、卡爾曼濾波、譜減法和自適應濾波等。其中維納濾波是在平穩條件下的基於最小均方誤差的最優估計,但對語音這種非平穩訊號不是很適合;卡爾曼濾波克服了維納濾波的平穩條件,在非平穩條件下也可保證最小均方誤差最優,但是僅適用於清音;譜減法是常用的一種方法,但是在訊雜比低的情況下,對語音的可位度和自然度損害較大,並且重建語音中產生了**雜訊;自適應濾波是效果最好的一種語音增強方法,但是由於需要乙個在實際環境中很難獲得的參考雜訊源,實際工作中並不好用,而且和譜減法一樣伴有**雜訊。同時,以上各種方法在進行語音增強時,都需要知道雜訊的一些特徵或統計特性,而在沒有雜訊先驗知識的情況下,從帶噪語音頻號中提取語音頻號是比較困難的。

小波變換是近10年來迅速發展起來的一種時頻區域性分析方法,它克服了短時傅利葉變換固定解析度的缺點,能夠將訊號在多尺度多解析度上進行小波分解,各尺度上分解得到的小波係數代表訊號在不同解析度上的資訊。同時小波變換與人耳的聽覺特性非常相似,便於研究者利用人耳的聽覺特性,是分析語音這種非平穩訊號的有力工具,所以近年來很多研究者都利用小波變換來處理語音頻號。小波變換法去噪的原理是:語音頻號的能量集中在低頻段,而雜訊能量則主要集中在高頻段,這樣就可將雜訊小波係數佔主要成分的那些尺度上的雜訊小波分量置零或給予很小的權重,然後用處理後的小波係數重構恢復訊號。同時,隨著小波變換理論的發展,小波變換去噪不斷豐富,並且取得了良好的效果,如2023年mallat提出了利用小波變換模極大值去噪,donobo在2023年提出了非線性小波變換閾值去噪,這種方法使得小波去噪得到廣乏運用,吸引了眾多的研究者。

在語音增強中,分解訊號的目的是把訊號的能量集中到某些頻帶的少數係數上,便於有效抑制雜訊。在採用小波變換的方法中,研究者們一般採用正交小波,因為正交小波變換能最大程度地去除原訊號中的相關性,將其能量集中在少數稀疏的、幅度相對較大的小波係數上。小波分解只是將每一級的低頻成分逐級往下分解,對於高頻成分不再作分解。這種分解方式不能滿足既想得到好的時間解析度又想擁有好的頻率解析度的場合,於是研究者們開始採用正交小波包來分解語音頻號,這樣便於利用人耳聽覺掩蔽效應來進行語音增強。如有文獻利用小波包演算法有靈活的時頻分析能力以及能較好地利用人耳基底膜的頻率分析特性,按照bark刻度與頻率刻度之間的轉換關係,採用固定小波包分解方式把0~4000 hz頻帶分成了52個頻段,對應18個bark刻度,從而在單聲道條件下,其語音增強效果比傳統的譜減法有更高的清晰度和可懂度。而有文獻在利用小波包分解時,採用5級分解,得到17個頻帶與bark刻度對應,有文獻採用6級分解,得到24個臨界帶。它們的目的都是為了充分地利用人耳的聽覺特性,在進行語音增強時不需要把雜訊完全抑制,只要殘留的雜訊不被感知即可,以便在去噪的同時減少不必要的語音失真。

通常研究者在採用小波包分解時一般採用固定的分解級數,且一般在5級以上。大量的實驗表明,小波分解級數對演算法的降噪效果影響很大,分解級數過多,會造成訊號的某些重要的區域性特性丟失,訊雜比反而下降,且運算量大,延時大;分解級數太小,則雜訊對應的模極大值不能足夠衰減,訊號和雜訊不能很好地區分,使得降噪效果不理想,訊雜比提高有限,因此採用固定小波分解級數在很大程度上限制了演算法的降噪效能.為此,有文獻提出了一種新穎的分解級數自適應選擇方法,該方法有效提高了小波閩值降噪演算法的效能,但進一步引人時延和計算量。

由於第一代小波存在時延大、演算法相對複雜、對記憶體的需求大等缺點,文獻採用了自適應提公升小波進行語音增強。實驗表明該方法在演算法複雜度降低的同時,能大大消除雜訊且保持了語音良好的可懂度。

由小波理論可知:正交小波分解在分解過程中,不能保證中間過程的線性相位,這不利於語音頻號的處理,而雙正交小波分解則能夠保證中間過程的相位不發生失真。為此,本文利用雙正交小波包進行語音去噪,取得了不錯的效果.同時,由於小波分解最終依賴濾波器組實現,不可避免地帶來時延,限制了小波理論的應用範圍。為此,有必要設計低時延的濾波器來實現小波分解,為小波理論的進一步應用打下堅實的基礎。

總之,在採用小波分解的研究過程中,從最初的小波分解發展到小波包分解、利用人耳聽覺特性進行小波包分解、自適應地選擇分解級數、提公升小波分解、為保證線性相位採用雙正交小波包分解以及設計低時延的濾波器,都是為後續的處理工作做出充分的準備,以便更好地提高去噪效能。

模極大值去噪的原理是:語音頻號的模極大值隨著尺度的增大而增大或不變,而雜訊的模極大值卻隨著尺度的增大而減小。人們根據此特性,去除雜訊的模極大值,保留語音的模極大值,然後利用保留的模極大值重構語音,達到去除雜訊的目的。模極大值去噪的具體步驟是:對含噪語音進行離散二進小波變換,分解尺度一般為4或5;求每個尺度上小波係數對應的模極大值點;在最大尺度上,選取闌值,則模極大值小於該悶值的點被置零,反之不變;搜尋傳播點,保留語音產生的模極大值點,去除雜訊產生的模極大值點;利用各尺度保留的模極大值點,重構去噪語音。

基於小波變換模極大值的去噪方法雖然具有很好的理論基礎,但是在實際應用中存在很多影響計算精度的因素,去噪的效果並不滿意。有文獻利用小波變換頻響特性的插值法重建低尺度上的小波變換模極大值,最後根據壓縮對映原理構造解析形式的迭代投影運算元方法重構訊號,但是這種方法提高的效能有限。同時,該方法在具體操作上有許多待解決的技術間題,如分解尺度取多大適合;重構只用有限個模極大值點,這樣重構的訊號肯定與原始訊號有誤差,那麼如何構造與原始訊號相似的小波係數等,這些都限制了該方法的進一步應用。目前研究這種方法的文獻很少。

相關性去噪法的原理是:語音頻號的小波係數在各尺度間具有較強的相關性,而雜訊的小波係數在各尺度間沒有明顯的相關性。相關性去噪法的主要步驟是:計算相鄰尺度同一空間位置小波係數的相關性cwj,k,cwj,k=wj,kwj+1,k,j代表尺度,k代表位置,wj,k表示第j尺度的第k個小波係數。wj+1,k表示第j+1尺度的第k個小波係數。比較相關性與小波係數的大小,如果相關性大,則說明是訊號,小波係數保留;反之,認為是雜訊,該小波係數置零。利用處理後的小波係數重構去噪訊號。

該方法中,相關性的計算增強了訊號的邊緣特性,更便於提取訊號的特徵。有文獻利用該方法進行去噪取得了較好的效果。

不過在該方法中,一旦小波分解的過程有偏差,則計算出的相關性不能準確代表k點的真實相關性,依賴相關性去噪法的效能則降低。有文獻介紹了一種區域相關的去噪方法,較好解決了以上問題。該方法主要考慮了k點處的小波係數,也考慮了k點附近的小波係數,從而減弱了小波係數偏差帶來的影響。但是該方法每乙個點都要計算相關係數,計算相對複雜,並沒有引起廣泛的研究。

2023年,閡值去噪法首次由donob。提出,他提出的非線性小波變換閾值去噪[ca)使得小波去噪得到深人研究和廣泛應用。

閾值去噪法的理論依據是:雜訊的小波係數和有用訊號的小波係數在幅值上存在不同的表現形式,在低頻段,語音頻號的小波系數值大於雜訊的小波系數值,在高頻段,反之。這樣對各層小波係數設定乙個適當的閩值將訊號與雜訊分開。該演算法的具體步驟為:對含噪訊號進行小波變換;對小波係數進行非線性悶值處理;利用處理後的小波係數重構去噪訊號。

在小波閾值去噪方法中,有2個關鍵的問題:(1)閾值施加方法;(2)對閾值的具體估計。這兩個問題直接影響著去噪的效能。

純粹的小波去噪方法儘管能取得較好的效果,但是在低訊雜比和有色雜訊的情況下,語音的可佳度並不是很高。為了能利用小波變換的優點以及更好地去除雜訊,現在的研究趨勢是把各種小波方法相融合或小波方法與其他方法相結合。有文獻為了消除**雜訊,提出了基於小波閾值的低方差譜估計方法,實驗表明多帶譜估計結合小波閾值能夠抑制**雜訊,增強語音的質量比譜減法好。不過這種方法對有色雜訊的處理效果次於高斯白雜訊。有文獻在小波域對低尺度小波係數採用自適應濾波,對高尺度係數採用譜減法或維納濾波等方法。

實驗表明這種方法結合了小波去噪、自適應濾波和譜減法的優點,對語音的損害小於閾值去噪,同時也減少了**雜訊,不過引人了計算複雜度和時延。為了防止高頻中的清音作為雜訊被去除,有文獻首先根據小波係數的能量進行清濁判斷,如果是清音,則只對最小尺度的低頻成分去噪,以便保留清音,否則對所有尺度去噪,從而在抑制雜訊的同時盡可能地保留清音資訊,提高增強語音自然度,降低增強語音的失真度,但是在有色雜訊的情況下,雜訊去得不乾淨。有文獻採用的語音增強方法,新增的步驟是:含噪語音首先由小波變換分解成若干臨界帶,然後由前向反饋子系統提取一系列分量,利用平均歸一化時頻能量來引導前向反饋子系統閾值,抑制穩定雜訊,同時,利用改進的小波閾值抑制非穩定雜訊和有色雜訊,最後利用固定的軟閾值對清音進行語音增強。該方法結合人工神經網路的去噪方法已經被成功用在語音識別領域,只不過時延大而不能用在實時處理中。有文獻在小波域引人卡爾曼濾波,成功地把卡爾曼濾波的優點和小波分解能夠模擬人耳感知特性的優點結合起來,在一定程度上能抑制非穩定雜訊和有色雜訊,並且語音有很少的失真。有文獻在小波域引人譜減法來計算掩蔽閾值和最優加權係數,引人基於雜訊估計的引數法對清音進行增強,取得了很好的去除多種雜訊的效能,只是演算法更加複雜。考慮到雖然上述方法能夠在一定程度上去除穩定、非穩定、白雜訊和有色雜訊,但是當訊雜比很低的情況下,去噪效果欠佳,而且仍然含有少量**雜訊,有文獻提出了利用仿生小波變換來對語音進行分解的方法。該仿生小波變換相對於小波變換的優點在於它在時頻域的尺度不僅可以根據訊號的頻率進行調節,而且可以隨訊號的瞬時幅度以及一階徽分係數自適應調節。實驗表明,該方法能更好地保留原始純淨語音。如果能夠在仿生小波的基礎上應用以上的各種方法,應該能得到更好的效果。

參考:《基於小波變換的語音增強演算法綜述》

謝謝!

基於MATLAB GUI 的多演算法語音增強系統

語音增強是指當語音頻號被各種各樣的雜訊干擾 甚至淹沒後,從雜訊背景中提取有用的語音頻號,抑制 降低雜訊干擾的技術。一句話,從含噪語音中提取盡可能純淨的原始語音。實際語音遇到的干擾可以分以下幾類 週期性雜訊,例如電氣干擾,發動機旋轉部分引起的干擾等,這類干擾表現為一些離散的窄頻峰 衝激雜訊,例如 些電...

語音增強的幾個基本演算法

前言 1 單通道語音增強 主要是 語音增強 書籍內容的梳理 內容會持續更新,內容為個人的理解,如果存在偏差或者錯誤的地方,還希望各位幫忙指出來。一 單通道語音增強 選讀 speech enhancement theory and practice 主要是自己的讀書筆記.第一章 第四章,主要介紹語音增...

小波變換學習筆記(1) 小波變換的背景與體系

前言 眾所周知,變換有好多種,比較流行的有傅利葉變換 小波變換 希爾伯特變換,但是無論是哪種變換,它變換的目的都是為了更清楚 更簡潔地表示訊號,從而方便後續對訊號的分析。話不多說,直接上例子!上圖是乙個訊號的時域表示,如果我讓你在一分鐘之內記住它的波形然後畫出來,我相信大多數人都無法完成,因為這個訊...