姚旺 張鳳翔 駱天宇 西南大學計算機與信息科學學院軟件學院 重慶北碚 400715
?
基于人聽覺機理的寬動態壓縮算法的仿真實驗
姚旺張鳳翔駱天宇西南大學計算機與信息科學學院軟件學院重慶北碚400715
【文章摘要】
通過人的聽覺機理方式獲取共振峰的位置,利用寬動態壓縮算法方式,分別對共振峰的頻率范圍和其他頻率范圍計算并應用相應增益,最后利用自動增益控制將最大的輸出進行限制,防止聲音音量過大而使聽障患者的聽力造成二次損傷。實驗結果表明,該算法在保護共振峰的基礎上,實現了響度補償技術,提高了語言的辨識度和聽覺的舒適度,同時具有一定的抗噪性能。
【關鍵詞】
共振峰;寬動態壓縮;響度補償;數字信號處理
由于當今社會壓力的增大,老齡化問題的凸顯,造成聽障患者與日俱增,助聽器的發展刻不容緩。助聽器是一種供聽力殘疾者改善聽覺障礙,補償聽力損失,進而提高與他人會話能力的小型擴音設備i。助聽器主要分為模擬助聽器和數字助聽器倆種。其中數字助聽器以數字信號處理器為核心,具有低噪聲,可控性強,可編程等特點,被聽障患者所歡迎。數字助聽器的核心算法包含響度補償,噪聲抑制,消除反饋等,目的是使患者在聽覺舒適的同時增強語音的可懂度ii。
響度補償算法是數字助聽器的核心算法之一,其主要目標是將聲音進行增益控制,使其聲壓級映射在患者的聽力范圍內,避免高音刺耳低音過小等問題,以有效利用并保護患者的殘余聽力。響度補償算法主要有寬動態壓縮算法,多通道響度補償算法。多通道響度補償算法iii是現在大多助聽器已應用的響度補償算法,通過重構濾波器組,分別對不同通道施加增益。寬動態壓縮算法是一種將語音按比例動態壓縮至患者殘余聽力范圍的一種方法iv。然而由于傳統的響度補償算法都未考慮共振峰結構v,如果一個共振峰被施加了不同增益就會導致其移動,變形,甚至可能會消失,就會導致語音共振峰的失真,降低語音的舒適度。
本文以寬動態壓縮算法為基礎,結合共振峰提取算法與自動增益控制算法,將輸入的語音進行預處理,根據Mel倒譜系數提取語音信號的共振峰,在頻域分析基礎上,分別對共振峰及其他特征點進行增益補償,最后對過大的輸出進行限制,使音頻信號控制在理想的范圍內。

圖1 動態壓縮補償策略的輸入輸出曲線
臨床表明聽障患者與正常人對不同頻率的聲強感受不同,聽障患者的聽閾高于正常人,而痛閾卻低于正常人,因此他們的聽覺范圍小于正常人。寬動態壓縮算法的目的是使聽障患者可以動態范圍的接收到語音信號。
寬動態壓縮算法的輸入輸出曲線如下圖1:
其中THRn,THRu為正常人,患者的聽閾值,MCLn,MCLu為正常人,患者的最適閾值,UCLn,UCLu為正常人,患者的痛閾值。橫坐標SPLin表示輸入的聲壓級,縱坐標SPLout表示輸出的聲壓級。
定義Ca為a段增益比,Cb為b段增益比,結合已知的最佳范圍與聽障患者的臨床測試。
1.當SPLin < THRu時, SPLout = 0。此時,輸入語音的聲強微小到即使聽力正常人也無法感知,算法不啟用;
2.當THRu < SPLin < MCLu時,SPLout = THRn + (SPLin -THRu)* Ca。此時,輸入語音的聲強介于正常人的聽閾與舒適閾之間,所以算法采用的是 a 段增益補償,人耳可以感覺到較低的聲音,即將處理好的聲音按比例減小;
3.當SPLin = MCLu時,SPLout = MCLu。此時,算法處于正常人聽覺最適宜的“拐點”處,人耳接受最舒適的響度,算法不啟用;
4.當MCLu < SPLin < UCLu時, SPLout = MCLu +( SPLin — MCLu) * Cb。此時,輸入語音的聲強介于正常人的舒適閾與痛閾之間,算法采用 b 段增益補償,人耳可以感覺到較大的聲音,而且感知響度適當壓縮到小于患者的痛閾范圍,即將處理好的聲音按比例減小;
5.當SPLin > UCLu時,SPLout = UCLu。此時,輸入語音的聲強超過正常人的不舒適痛閾,算法將輸出聲強設置為患者能接受的最適合聲音最高響度,此舉既最大限度減少了對原有語音譜比例。
經過增益控制后,正常人的聽力范圍完全被映射到患者的聽力范圍。所以,可以通過實時采集每幀的語音信號數字序列乘以該幀信號的動態響度補償增益序列,實現對語音的個性化響度補償。

圖3 “語音波形測試”的預處理

圖4 共振峰提取

圖2 算法流程圖
2.1聲音的預處理
通過窗函數的高通濾波器,進行濾波,消除語音信號的趨勢項和直流分量。
2.2共振峰的檢測
共振峰是指當準周期脈沖激勵進入聲道時引起共振特性,產生一組共振頻率,這組共振頻率稱為共振峰vi。常用的共振峰估算方法有倒譜法vii和LPC法viii,本文采用的是基于人的聽覺機理,即依據人的聽覺實驗結果來分析語音頻譜基礎上進行改進的共振峰提取算法ix。
該算法的流程為先將語音進行預處理,對加權Mel倒譜系數提取,DCT變換最終確定共振峰的估計值。具體過程如下:
1)對語音信號進行預加重,分幀與加窗。
2)通過公式(1)感知權重函數x,計算公式(2)估計誤差函數,求出加權Mel倒譜的系數。


3)利用公式(3)提取WMCEP譜包絡并對其進行平滑處理。

4)確定共振峰的最終估計值
2.3增益補償與最大增益限制
為了防止過大的輸出使聽障患者的聽力造成進一步損傷,本文最后要對輸出值進行最大輸出限制,利用AGCO算法xi,將過大輸出進行增益計算,最后將所有信號通過關IFFT轉換成時域進行輸出。
本文設計的算法流程圖如圖2所示,
根據本文的算法流程,利用matlab進行仿真實驗,輸入“語音波形測試”的語音,進行輸入測試測試。首先對輸入的語音進行窗函數的預處理,其結果如下圖3所示。
對預處理后的語音利用本文所提到的基于人的聽覺機理的方法進行共振峰檢測,檢測結果如下圖4所示,可見其基本能良好的識別共振峰。
對其進行增益控制后,可見其輸出較好的在其增益范圍內(如圖5所示),驗證了該算法較好的保證了低失真的輸出,說明該算法良好。

圖5 增益控制
本文通過結合Mel倒譜系數與共振峰檢測,提出一種基于人的聽覺機理的寬動態壓縮算法,通過結合加權Mel對共振峰進行檢測進行增益補償。仿真結果證明,該算法可以實現較滿意的補償效果,比傳統的多通道響度補償和寬動態壓縮能較好的保護共振峰的完整性,同時具有一定的抗噪能力,雖然算法用時增多,但預計在硬件實現過程中該運算時間會適當減少。
【參考文獻】
[1]馬小玲,劉訓等。國內助聽器的現狀調研與發展分析。中央民族大學學報(自然科學版),2014,23(1):39-43
[2]肖憲波,王寧宇,胡廣書。數字助聽器中若干主要算法的發展和現狀[J]。生物醫學工程學雜志,2004,21(4):694-698
[3]張寶琳,張玲華。數字助聽器中多通道響度補償方法的研究。信號處理,2013,29(5):656-661
[4]陳廣飛,應俊。數字助聽器寬動態壓縮算法研究。北京生物醫學工程,2006,25 (5):454-456,481
[5]趙毅,伊雪飛,陳克安。一種基于共振峰提取的多通道響度補償算法。信號處理,2012,28(3):352-360
[6]宋知用.MATLAB在語音信號分析與合成中的應用.北京航空航天大學出版社。2013:259-283.
[7]王曉亞.倒譜在語音基音和共振峰提取中的應用【J】.無線電工程,2004,34(1):57—61
[8]郁伯康,郁梅.LPC方法提取語音信號共振峰的分析[J】.電聲技術,2000,3(1):3-8
[9]楊鴻武,趙濤濤。一種基于加權Mel倒譜的語音信號共振峰提取算法。西北師范大學學報(自然科學版),2014,50(1):53-57
[10]黃德智,楊鴻武,蔡蓮紅.語音信號的加權Mel倒譜分析CJ].信號處理。2006,22(6):840—843.
[11]楊博,劉潤生,張國防。基于WDRC的聽力損傷補償算法研究,電聲技術。2013,37(11):45-49
基金項目:國家級大學生創新創業計劃(項目號:201410635032)
【作者簡介】
姚旺(1994-),女,漢,遼寧,本科,學生,西南大學,研究方向:嵌入式
張鳳翔,男,漢,重慶,副教授,西南大學,研究方向:實時和嵌入式