文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.01.018
中文引用格式: 趙蓉蓉,李鴻燕,曹猛. 基于CASA和譜減法的清音分離改進(jìn)算法[J].電子技術(shù)應(yīng)用,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 引言
實(shí)際環(huán)境中,語(yǔ)音信號(hào)往往會(huì)受到噪聲或者其他語(yǔ)音信號(hào)的干擾。計(jì)算聽覺場(chǎng)景分析(Computational Auditory Scene Analysis,CASA)利用計(jì)算機(jī)模擬人耳對(duì)聽覺場(chǎng)景進(jìn)行構(gòu)建和分析,用于語(yǔ)音分離[1]。經(jīng)過三十多年的研究,CASA已經(jīng)在語(yǔ)音信號(hào)處理領(lǐng)域取得較大進(jìn)展[2-3]。
語(yǔ)音可分為清音和濁音兩類。濁音具有準(zhǔn)周期性和共振峰結(jié)構(gòu),能量集中在低頻段;清音則沒有明顯的時(shí)頻域特征,能量較小,容易受到強(qiáng)噪聲的干擾。但語(yǔ)音的部分信息儲(chǔ)存在清音中,一旦清音受損,語(yǔ)言的可懂度會(huì)明顯降低。
2008年,Hu Guoning和Wang Deliang首次嘗試對(duì)清音進(jìn)行分離[4]。2009年,Hu Ke和Wang Deliang對(duì)算法進(jìn)行了改進(jìn),提出了一種結(jié)合譜減法的清音分離算法[5]。2011年,在此基礎(chǔ)上加入Tandem算法用于濁音分離[6],效果有所改善。但此算法在全部時(shí)頻區(qū)域?qū)η逡粜盘?hào)進(jìn)行估計(jì),而且在估計(jì)清音信號(hào)的殘余噪聲時(shí)認(rèn)為一個(gè)清音塊中的每個(gè)時(shí)頻單元所包含的噪聲能量是相同的,即將兩個(gè)相鄰濁音塊的噪聲能量平均值作為該清音塊的噪聲能量估計(jì)值。但如果干擾噪聲是時(shí)變信號(hào),清音塊中的每個(gè)清音單元的噪聲能量就會(huì)存在差異,上述估計(jì)算法就會(huì)出現(xiàn)偏差。因此,上述算法存在復(fù)雜度高、運(yùn)算量大、噪聲估計(jì)不準(zhǔn)確的問題。針對(duì)此問題,本文提出一種改進(jìn)的基于CASA和譜減法的清音分離算法。首先對(duì)onset/offset線索進(jìn)行檢測(cè),得到可能存在清音的時(shí)頻塊,然后利用相鄰時(shí)頻單元能量具有連續(xù)性的原理,對(duì)相應(yīng)時(shí)頻塊中每個(gè)時(shí)頻單元分別進(jìn)行噪聲能量估計(jì),減小運(yùn)算量,提高算法的有效性。
1 算法結(jié)構(gòu)
基于CASA和譜減法的語(yǔ)音分離算法的系統(tǒng)結(jié)構(gòu)如圖1所示。系統(tǒng)主要由聽覺外圍處理、濁音分離和清音分離三個(gè)部分組成,輸入為帶噪語(yǔ)音,輸出為分離目標(biāo)語(yǔ)音。
1.1 聽覺外圍處理和濁音分離
聽覺外圍處理主要模擬人耳聽覺特性,將輸入的帶噪語(yǔ)音信號(hào)分解為一系列時(shí)頻單元[7],這些時(shí)頻單元作為輸入信號(hào)分別輸入到濁音分離和清音分離部分,進(jìn)行下一步處理。
在濁音分離前先進(jìn)行特征提取,提取的特性包括自相關(guān)圖、包絡(luò)自相關(guān)、主導(dǎo)基音、相鄰信道互相關(guān)以及相鄰信道包絡(luò)互相關(guān)等。濁音分離主要用Tandem算法[8]。該算法利用基音估計(jì)和二值模估計(jì)兩個(gè)互相影響的環(huán)節(jié),迭代運(yùn)算進(jìn)行濁音的分離,提高基音估計(jì)和濁音分離性能。
1.2 改進(jìn)清音分離
原清音分離算法首先通過移除周期信號(hào)去除濁音和周期性噪聲,再利用分離出來的濁音段估計(jì)清音段的背景殘余噪聲能量,最后用譜減法去除噪聲得到目標(biāo)清音。
本文提出的改進(jìn)清音分離算法,在原算法的基礎(chǔ)上進(jìn)行了兩點(diǎn)改進(jìn)。第一,在估計(jì)噪聲能量之前先通過估計(jì)onset/offset判別出可能存在清音的時(shí)頻塊;第二,在進(jìn)行噪聲能量估計(jì)時(shí)利用相鄰時(shí)頻單元能量具有連續(xù)性的原理,對(duì)清音塊中的每個(gè)時(shí)頻單元分別進(jìn)行噪聲能量估計(jì)。
1.2.1 onset/offset估計(jì)
語(yǔ)音信號(hào)的onset/offset(起止時(shí)刻)會(huì)引起聽覺毛細(xì)胞的神經(jīng)沖動(dòng),不同聲源一般不可能存在相同的起止時(shí)刻[9]。onset/offset表現(xiàn)為信號(hào)能量的突然變化,也就是能量的極值點(diǎn)。
首先對(duì)聽覺外圍處理的輸出進(jìn)行包絡(luò)提取,對(duì)應(yīng)得到語(yǔ)音信號(hào)的能量,然后將其對(duì)時(shí)間求導(dǎo)得到能量的極值點(diǎn),即語(yǔ)音信號(hào)的onset/offset。定義E(c,t)為語(yǔ)音信號(hào)能量,O(c,t)為語(yǔ)音onset/offset檢測(cè)值,則O(c,t)計(jì)算式為:
通過估計(jì)onset/offset得到語(yǔ)音信號(hào)出現(xiàn)波動(dòng)的時(shí)頻區(qū)域,認(rèn)為清音可能存在于這些區(qū)域,再在這些時(shí)頻區(qū)域進(jìn)行噪聲能量的估計(jì)。
1.2.2 噪聲能量估計(jì)
根據(jù)語(yǔ)音信號(hào)的短時(shí)平穩(wěn)性可知相鄰時(shí)頻單元的能量具有連續(xù)性。利用這一原理,改進(jìn)算法在估計(jì)某個(gè)時(shí)頻單元的噪聲能量時(shí),用與其相鄰的兩個(gè)時(shí)頻單元噪聲能量的平均值作為其估計(jì)值,從而對(duì)清音塊中每個(gè)時(shí)頻單元分別進(jìn)行噪聲能量估計(jì)。
定義NdB(c,m)為清音塊中的時(shí)頻單元u(c,i)的噪聲能量估計(jì)值,其計(jì)算式為:
其中,EdB(c,m-1)和EdB(c,m+1)分別表示與時(shí)頻單元u(c,m)相鄰的前一個(gè)和后一個(gè)時(shí)頻單元的能量,y(c,m-1)和y(c,m+1)分別為其二值模。
對(duì)于該清音塊的第一個(gè)時(shí)頻單元,噪聲能量估計(jì)的計(jì)算式為:
其中,EdB(c,i)表示時(shí)頻單元u(c,i)的能量,y(c,i)為其二值模,m1是當(dāng)前清音信號(hào)的第一幀的幀數(shù),l1是該清音段之前的濁音段的長(zhǎng)度。
對(duì)于該清音塊的最后一個(gè)時(shí)頻單元,噪聲能量估計(jì)的計(jì)算式為:
其中,m2是當(dāng)前清音信號(hào)的最后一幀的幀數(shù),l2是該清音段之后的濁音段的長(zhǎng)度。
與原算法類似[6],如果清音單元位于語(yǔ)音的起始時(shí)刻或者結(jié)束時(shí)刻,則相應(yīng)地取相鄰的后一個(gè)濁音塊或前一個(gè)濁音塊中二值模為0的時(shí)頻單元進(jìn)行估計(jì)。如果與清音塊相鄰的鄰濁音塊間不存在二值模為0的時(shí)頻單元,則往前或者往后推至下一相鄰濁音塊搜尋,直至至少出現(xiàn)一個(gè)滿足條件的濁音塊。如果信道中都不存在二值模為0的時(shí)頻單元,則取信道中前5幀混合信號(hào)的能量平均值作為噪聲能量估計(jì)值。
1.2.3 譜減法去除噪聲
假設(shè)X(c,m)和N(c,m)分別表示時(shí)頻單元u(c,i)中的混合語(yǔ)音能量和估計(jì)噪聲能量,則該時(shí)頻單元的信噪比(dB)為:
可以看出,除了要根據(jù)ζ(c,m)的取值正負(fù)來進(jìn)行時(shí)頻單元混合能量的取舍外,時(shí)頻單元的信噪比式(5)與譜減法的表達(dá)公式一致。所以此處理方法相當(dāng)于傳統(tǒng)的譜減法。對(duì)于譜減產(chǎn)生的“音樂噪聲”,用Berouti提出的過減法(over-subtraction)來削弱[10],即減去噪聲能量估計(jì)值的2倍來平衡“音樂噪聲”,得到了較好的效果。
2 仿真實(shí)驗(yàn)
為了驗(yàn)證提出的改進(jìn)算法的性能,對(duì)其進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)采用10段純凈語(yǔ)音和10種不同類型的非語(yǔ)音噪聲混合,組成一個(gè)100段混合語(yǔ)音的測(cè)試庫(kù)。實(shí)驗(yàn)采用的10段純凈語(yǔ)音信號(hào)選自TIMIT語(yǔ)音庫(kù)。該10段純凈語(yǔ)音包括5段女聲、5段男聲,語(yǔ)音信號(hào)的采樣頻率均為16 kHz。此外,實(shí)驗(yàn)采用的10種不同類型的非語(yǔ)音噪聲是從俄亥俄州立大學(xué)的計(jì)算機(jī)信息和感知科學(xué)實(shí)驗(yàn)室Guoning Hu搜集的100個(gè)非語(yǔ)音噪聲(100 Nonspeech sounds)中抽取得到。
為了直觀地評(píng)價(jià)系統(tǒng)的性能,用純凈女聲語(yǔ)音“Pizzerias are convenient for a quick lunch.”與警車?guó)Q笛聲混合得到帶噪語(yǔ)音信號(hào),將這個(gè)混合信號(hào)作為輸入進(jìn)行仿真實(shí)驗(yàn)。圖2表示純凈語(yǔ)音和混合信號(hào)的時(shí)域波形和對(duì)應(yīng)的語(yǔ)譜圖以及改進(jìn)算法得到的最終分離結(jié)果。
從圖中可以看出分離的清音的二值模集中在高頻段,這也驗(yàn)證了清音能量集中在高頻區(qū)域這一理論。分離得到的濁音二值模和清音二值模結(jié)合,使目標(biāo)二值模更加完整,也使分離得到的語(yǔ)音失真更小,分離語(yǔ)音的時(shí)域波形與純凈語(yǔ)音的時(shí)域波形更加一致。
3 性能評(píng)估
為定量評(píng)價(jià)改進(jìn)算法的有效性,信噪比(Signal to Noise Ratio,SNR)是常用的性能衡量標(biāo)準(zhǔn)之一。其定義公式為:
表1給出了不同噪聲類型的混合語(yǔ)音的輸入信噪比、原算法的輸出信噪比以及改進(jìn)算法的輸出信噪比??梢钥闯?,本文提出的改進(jìn)算法分離語(yǔ)音的信噪比增益在原算法的基礎(chǔ)上有了進(jìn)一步提高,改進(jìn)算法得到的分離語(yǔ)音SNR平均比混合語(yǔ)音SNR高14.10 dB,比原算法分離語(yǔ)音SNR提高0.66 dB。盡管改進(jìn)算法得到的信噪比增益較原算法提高較少,但由于主要提高部分在清音,所以語(yǔ)音的完整度和可懂度還是會(huì)有所提高。分析結(jié)果表明,改進(jìn)算法能夠更有效地去除噪聲干擾,提高分離語(yǔ)音的信噪比。
除了信噪比增益外,相似系數(shù)e也是語(yǔ)音質(zhì)量性能評(píng)價(jià)的有效標(biāo)準(zhǔn)之一。相似系數(shù)用來度量分離語(yǔ)音信號(hào)和原始的純凈語(yǔ)音信號(hào)的近似程度,定義式為:
表2是不同噪聲類型的混合語(yǔ)音在原算法和改進(jìn)算法下得出的相似系數(shù)e。由表2數(shù)據(jù)可知,改進(jìn)算法得到的相似系數(shù)e比原算法得到的相似系數(shù)更接近于1,說明了改進(jìn)算法更有效準(zhǔn)確的清音分離。但改進(jìn)算法的分離語(yǔ)音與原始純凈語(yǔ)音仍然存在差異,這是噪聲估計(jì)不準(zhǔn)確導(dǎo)致清音損失所致。通過綜合分析表明,改進(jìn)算法分離語(yǔ)音更接近于原始純凈語(yǔ)音,語(yǔ)音分離的效果更加顯著。
4 結(jié)論
本文提出的基于聽覺場(chǎng)景分析和譜減法的清音分離改進(jìn)算法,在清音分離前先通過onset/offset估計(jì)找出可能存在清音的時(shí)頻區(qū)域,再在這些區(qū)域進(jìn)行清音分離,而不用在所有時(shí)頻區(qū)域進(jìn)行清音分離,從而大大減少了算法的運(yùn)算量,提高了算法的效率。在進(jìn)行清音噪聲能量估計(jì)時(shí)利用相鄰時(shí)頻單元能量具有連續(xù)性的原理,對(duì)清音塊中的每個(gè)時(shí)頻單元分別進(jìn)行噪聲能量估計(jì)。這一改進(jìn)充分考慮了噪聲的不穩(wěn)定性和時(shí)變性,使噪聲估計(jì)更加精確,從而提高了清音分離的準(zhǔn)確性。仿真實(shí)驗(yàn)結(jié)果和分析表明,相比于原算法,改進(jìn)算法更好地實(shí)現(xiàn)了語(yǔ)音的分離,得到的信噪比更高,分離語(yǔ)音與目標(biāo)語(yǔ)音的相似度更高。
參考文獻(xiàn)
[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ì)算聽覺場(chǎng)景分析的混合語(yǔ)音信號(hào)分離算法研究[J].計(jì)算機(jī)應(yīng)用研究,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.