文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.01.018
中文引用格式: 趙蓉蓉,李鴻燕,曹猛. 基于CASA和譜減法的清音分離改進算法[J].電子技術應用,2016,42(1):68-71.
英文引用格式: Zhao Rongrong,Li Hongyan,Cao Meng. An improved unvoiced speech segregation based on CASA and spectral subtraction[J].Application of Electronic Technique,2016,42(1):68-71.
0 引言
實際環境中,語音信號往往會受到噪聲或者其他語音信號的干擾。計算聽覺場景分析(Computational Auditory Scene Analysis,CASA)利用計算機模擬人耳對聽覺場景進行構建和分析,用于語音分離[1]。經過三十多年的研究,CASA已經在語音信號處理領域取得較大進展[2-3]。
語音可分為清音和濁音兩類。濁音具有準周期性和共振峰結構,能量集中在低頻段;清音則沒有明顯的時頻域特征,能量較小,容易受到強噪聲的干擾。但語音的部分信息儲存在清音中,一旦清音受損,語言的可懂度會明顯降低。
2008年,Hu Guoning和Wang Deliang首次嘗試對清音進行分離[4]。2009年,Hu Ke和Wang Deliang對算法進行了改進,提出了一種結合譜減法的清音分離算法[5]。2011年,在此基礎上加入Tandem算法用于濁音分離[6],效果有所改善。但此算法在全部時頻區域對清音信號進行估計,而且在估計清音信號的殘余噪聲時認為一個清音塊中的每個時頻單元所包含的噪聲能量是相同的,即將兩個相鄰濁音塊的噪聲能量平均值作為該清音塊的噪聲能量估計值。但如果干擾噪聲是時變信號,清音塊中的每個清音單元的噪聲能量就會存在差異,上述估計算法就會出現偏差。因此,上述算法存在復雜度高、運算量大、噪聲估計不準確的問題。針對此問題,本文提出一種改進的基于CASA和譜減法的清音分離算法。首先對onset/offset線索進行檢測,得到可能存在清音的時頻塊,然后利用相鄰時頻單元能量具有連續性的原理,對相應時頻塊中每個時頻單元分別進行噪聲能量估計,減小運算量,提高算法的有效性。
1 算法結構
基于CASA和譜減法的語音分離算法的系統結構如圖1所示。系統主要由聽覺外圍處理、濁音分離和清音分離三個部分組成,輸入為帶噪語音,輸出為分離目標語音。
1.1 聽覺外圍處理和濁音分離
聽覺外圍處理主要模擬人耳聽覺特性,將輸入的帶噪語音信號分解為一系列時頻單元[7],這些時頻單元作為輸入信號分別輸入到濁音分離和清音分離部分,進行下一步處理。
在濁音分離前先進行特征提取,提取的特性包括自相關圖、包絡自相關、主導基音、相鄰信道互相關以及相鄰信道包絡互相關等。濁音分離主要用Tandem算法[8]。該算法利用基音估計和二值模估計兩個互相影響的環節,迭代運算進行濁音的分離,提高基音估計和濁音分離性能。
1.2 改進清音分離
原清音分離算法首先通過移除周期信號去除濁音和周期性噪聲,再利用分離出來的濁音段估計清音段的背景殘余噪聲能量,最后用譜減法去除噪聲得到目標清音。
本文提出的改進清音分離算法,在原算法的基礎上進行了兩點改進。第一,在估計噪聲能量之前先通過估計onset/offset判別出可能存在清音的時頻塊;第二,在進行噪聲能量估計時利用相鄰時頻單元能量具有連續性的原理,對清音塊中的每個時頻單元分別進行噪聲能量估計。
1.2.1 onset/offset估計
語音信號的onset/offset(起止時刻)會引起聽覺毛細胞的神經沖動,不同聲源一般不可能存在相同的起止時刻[9]。onset/offset表現為信號能量的突然變化,也就是能量的極值點。
首先對聽覺外圍處理的輸出進行包絡提取,對應得到語音信號的能量,然后將其對時間求導得到能量的極值點,即語音信號的onset/offset。定義E(c,t)為語音信號能量,O(c,t)為語音onset/offset檢測值,則O(c,t)計算式為:
通過估計onset/offset得到語音信號出現波動的時頻區域,認為清音可能存在于這些區域,再在這些時頻區域進行噪聲能量的估計。
1.2.2 噪聲能量估計
根據語音信號的短時平穩性可知相鄰時頻單元的能量具有連續性。利用這一原理,改進算法在估計某個時頻單元的噪聲能量時,用與其相鄰的兩個時頻單元噪聲能量的平均值作為其估計值,從而對清音塊中每個時頻單元分別進行噪聲能量估計。
定義NdB(c,m)為清音塊中的時頻單元u(c,i)的噪聲能量估計值,其計算式為:
其中,EdB(c,m-1)和EdB(c,m+1)分別表示與時頻單元u(c,m)相鄰的前一個和后一個時頻單元的能量,y(c,m-1)和y(c,m+1)分別為其二值模。
對于該清音塊的第一個時頻單元,噪聲能量估計的計算式為:
其中,EdB(c,i)表示時頻單元u(c,i)的能量,y(c,i)為其二值模,m1是當前清音信號的第一幀的幀數,l1是該清音段之前的濁音段的長度。
對于該清音塊的最后一個時頻單元,噪聲能量估計的計算式為:
其中,m2是當前清音信號的最后一幀的幀數,l2是該清音段之后的濁音段的長度。
與原算法類似[6],如果清音單元位于語音的起始時刻或者結束時刻,則相應地取相鄰的后一個濁音塊或前一個濁音塊中二值模為0的時頻單元進行估計。如果與清音塊相鄰的鄰濁音塊間不存在二值模為0的時頻單元,則往前或者往后推至下一相鄰濁音塊搜尋,直至至少出現一個滿足條件的濁音塊。如果信道中都不存在二值模為0的時頻單元,則取信道中前5幀混合信號的能量平均值作為噪聲能量估計值。
1.2.3 譜減法去除噪聲
假設X(c,m)和N(c,m)分別表示時頻單元u(c,i)中的混合語音能量和估計噪聲能量,則該時頻單元的信噪比(dB)為:
可以看出,除了要根據ζ(c,m)的取值正負來進行時頻單元混合能量的取舍外,時頻單元的信噪比式(5)與譜減法的表達公式一致。所以此處理方法相當于傳統的譜減法。對于譜減產生的“音樂噪聲”,用Berouti提出的過減法(over-subtraction)來削弱[10],即減去噪聲能量估計值的2倍來平衡“音樂噪聲”,得到了較好的效果。
2 仿真實驗
為了驗證提出的改進算法的性能,對其進行仿真實驗。實驗采用10段純凈語音和10種不同類型的非語音噪聲混合,組成一個100段混合語音的測試庫。實驗采用的10段純凈語音信號選自TIMIT語音庫。該10段純凈語音包括5段女聲、5段男聲,語音信號的采樣頻率均為16 kHz。此外,實驗采用的10種不同類型的非語音噪聲是從俄亥俄州立大學的計算機信息和感知科學實驗室Guoning Hu搜集的100個非語音噪聲(100 Nonspeech sounds)中抽取得到。
為了直觀地評價系統的性能,用純凈女聲語音“Pizzerias are convenient for a quick lunch.”與警車鳴笛聲混合得到帶噪語音信號,將這個混合信號作為輸入進行仿真實驗。圖2表示純凈語音和混合信號的時域波形和對應的語譜圖以及改進算法得到的最終分離結果。
從圖中可以看出分離的清音的二值模集中在高頻段,這也驗證了清音能量集中在高頻區域這一理論。分離得到的濁音二值模和清音二值模結合,使目標二值模更加完整,也使分離得到的語音失真更小,分離語音的時域波形與純凈語音的時域波形更加一致。
3 性能評估
為定量評價改進算法的有效性,信噪比(Signal to Noise Ratio,SNR)是常用的性能衡量標準之一。其定義公式為:
表1給出了不同噪聲類型的混合語音的輸入信噪比、原算法的輸出信噪比以及改進算法的輸出信噪比。可以看出,本文提出的改進算法分離語音的信噪比增益在原算法的基礎上有了進一步提高,改進算法得到的分離語音SNR平均比混合語音SNR高14.10 dB,比原算法分離語音SNR提高0.66 dB。盡管改進算法得到的信噪比增益較原算法提高較少,但由于主要提高部分在清音,所以語音的完整度和可懂度還是會有所提高。分析結果表明,改進算法能夠更有效地去除噪聲干擾,提高分離語音的信噪比。
除了信噪比增益外,相似系數e也是語音質量性能評價的有效標準之一。相似系數用來度量分離語音信號和原始的純凈語音信號的近似程度,定義式為:
表2是不同噪聲類型的混合語音在原算法和改進算法下得出的相似系數e。由表2數據可知,改進算法得到的相似系數e比原算法得到的相似系數更接近于1,說明了改進算法更有效準確的清音分離。但改進算法的分離語音與原始純凈語音仍然存在差異,這是噪聲估計不準確導致清音損失所致。通過綜合分析表明,改進算法分離語音更接近于原始純凈語音,語音分離的效果更加顯著。
4 結論
本文提出的基于聽覺場景分析和譜減法的清音分離改進算法,在清音分離前先通過onset/offset估計找出可能存在清音的時頻區域,再在這些區域進行清音分離,而不用在所有時頻區域進行清音分離,從而大大減少了算法的運算量,提高了算法的效率。在進行清音噪聲能量估計時利用相鄰時頻單元能量具有連續性的原理,對清音塊中的每個時頻單元分別進行噪聲能量估計。這一改進充分考慮了噪聲的不穩定性和時變性,使噪聲估計更加精確,從而提高了清音分離的準確性。仿真實驗結果和分析表明,相比于原算法,改進算法更好地實現了語音的分離,得到的信噪比更高,分離語音與目標語音的相似度更高。
參考文獻
[1] BROWN G J,COOKE M.Computational auditory scene analysis[J].Computer Speech & Language,1994,8(4):297-336.
[2] HU K,WANG D L.An unsupervised approach to cochannel speech separation[J].IEEE Transactions on Audio,Speech and Language Processing,2013,21(1):120-129.
[3] JIANG Y,WANG D L,LIU R S,et al.Binaural classification for reverberant speech segregation using deep neural networks[J].IEEE Transactions on Audio,Speech and Language Processing,2014,22(12):2112-2121.
[4] HU G N,WANG D L.Segregation of unvoiced speech from nonspeech interference[J].Journal of the Acoustical Society of America,2008,124(2):1306-1319.
[5] HU K,WANG D L.Incorporating spectral subtraction and noise type for unvoiced speech segregation[C].Proceedings of IEEE International Conference on Acoustics,Speech,and Signal Processing,2009:4425-4428.
[6] HU K,WANG D L.Unvoiced speech segregation from nonspeech interference via CASA and spectral subtraction[J].IEEE Transactions on Audio,Speech and Language Processing,2011,19(6):1600-1609.
[7] 屈俊玲,李鴻燕.基于計算聽覺場景分析的混合語音信號分離算法研究[J].計算機應用研究,2014,31(12):3822-3824.
[8] HU G N,WANG D L.A tandem algorithm for pitch estimation and voiced speech segregation[J].IEEE Transactions on Audio,Speech and Language Processing,2010,18(8):2067-2079.
[9] HU K,WANG D L.Auditory segmentation based on onset and offset analysis[J].IEEE Transactions on Audio,Speech and Language Processing,2007,15(2):396-405.
[10] BEROUTI M,SCHWARTZ R,MAKHOUL J.Enhancement of speech corrupted by acoustic noise[C].Proceedings of IEEE International Conference on Acoustics,Speech,and Signal Processing.Washington:IEEE,1979:208-211.