時文華 倪永婧 張雄偉 鄒 霞 孫 蒙 閔 剛
1(陸軍工程大學指揮信息系統(tǒng)學院 南京 210007) 2(空軍航空大學飛行訓練基地 遼寧阜新 123100) 3(燕山大學信息科學與工程學院 河北秦皇島 066004) 4(河北科技大學信息科學與工程學院 石家莊 050018) 5 (國防科技大學信息通信學院 西安 710106) (whshi0919@163.com)
語音增強旨在抑制或分離噪聲,盡可能地從被噪聲污染的語音信號中不失真地恢復出目標語音,改善語音的感知質量和可懂度,或作為前端提高識別準確率,在語音通信系統(tǒng)、聽覺輔助設備和自動語音識別系統(tǒng)中得到了廣泛的應用,是語音信號和信息處理領域的重要研究課題.過去的幾十年里,眾多語音增強方法相繼提出,極大地推動了語音增強技術的發(fā)展.但在實際場景中,特別是在單通道、非平穩(wěn)噪聲環(huán)境下,由于缺乏多通道場景下的時空域參考信息且難以對語音在時頻域上的結構化信息進行有效建模和利用[1],單通道語音增強仍是一個非常具有挑戰(zhàn)性的課題.
根據(jù)是否需要語音和噪聲的先驗信息,現(xiàn)有的語音增強方法可以分為有監(jiān)督和無監(jiān)督兩大類.經(jīng)典的無監(jiān)督增強方法包括譜減法、維納濾波法和基于統(tǒng)計模型的方法等[2],這類方法一般是基于語音和噪聲不相關且頻譜系數(shù)服從高斯分布的假設,增強性能依賴于話音活動檢測或噪聲功率譜估計的準確性.這類方法在平穩(wěn)噪聲環(huán)境下一般能夠取得較好的噪聲抑制效果,然而在非平穩(wěn)噪聲或低信噪比環(huán)境下,由于對噪聲的實時追蹤和準確估計將變得較為困難,將會嚴重影響這類方法的增強性能.有監(jiān)督語音增強方法作為數(shù)據(jù)驅動的方法,代表性的有基于字典的方法[3-6]和基于神經(jīng)網(wǎng)絡的方法[7-11].這類方法直接從數(shù)據(jù)出發(fā),通過訓練的方法得到語音和噪聲的模型,或是利用先驗信息學習帶噪語音到純凈語音之間的非線性映射.由于無需對語音和噪聲的分布做各種假設,有監(jiān)督增強方法在低信噪比或非平穩(wěn)噪聲環(huán)境下往往能獲得比傳統(tǒng)無監(jiān)督方法更好的增強效果.
非負矩陣分解(non-negative matrix factorization, NMF)是字典學習中一種典型方法,利用非負的字典矩陣(也稱作基矩陣)和編碼矩陣(也稱作時變增益矩陣或激活系數(shù)矩陣)的乘積實現(xiàn)對整體非負矩陣的逼近,由于符合人類對客觀事物從局部到整體的認知過程,且分解結果具有物理可解釋性,被廣泛應用于目標識別、聲信號檢測、語音增強和聲源分離等領域[12].利用NMF的聲源分離存在的一個問題是由于各個聲源的基向量不是正交的,當不同聲源的基向量存在混疊時,即目標聲源有可能被其他聲源的基向量和編碼向量表示時,會出現(xiàn)無法正確分離出各個聲源的現(xiàn)象(這個問題也存在于語噪分離問題中).文獻[5]采用對基向量進行區(qū)分性訓練,文獻[6]利用深度神經(jīng)網(wǎng)絡(deep neural network, DNN)學習從輸入非負矩陣表示到編碼矩陣的非線性映射來解決這一問題.另一方面, 對于語音增強問題,基于NMF的語音增強方法雖然對噪聲抑制效果明顯,但是在低信噪比情況下和無明顯結構特征的清音部分,增強后的語音存在頻譜結構成分缺失的問題,這將在去除噪聲的同時不可避免地引入語音失真.
深度學習方法通過模擬人類大腦對事物逐層抽象的認知過程,挖掘潛在的高層特征,受到了學術界和產(chǎn)業(yè)界的廣泛關注[13].語音信號的產(chǎn)生是一個典型的復雜非線性問題,深度學習技術的發(fā)展,極大促進了語音識別、語音合成等語音信號處理技術的發(fā)展[1].在語音增強領域,文獻[8]利用DNN建立帶噪語音的對數(shù)能量譜到純凈語音的對數(shù)能量譜之間的非線性映射函數(shù),采用全局均衡方差方法來解決經(jīng)DNN增強后語音頻譜出現(xiàn)的過平滑問題.實驗結果表明,在大規(guī)模訓練數(shù)據(jù)集下,該方法對訓練集中不包含的噪聲和真實場景下的非平穩(wěn)噪聲都有著較好的抑制能力.文獻[9]利用DNN估計計算聽覺場景分析(computational auditory scene analysis, CASA)中的理想二值掩蔽,該方法可以有效提高帶噪語音的可懂度.此外,深度循環(huán)神經(jīng)網(wǎng)絡(deep recurrent neural network, DRNN)、長短時記憶網(wǎng)絡(long short-term memory, LSTM)利用循環(huán)連接或者存儲和門結構單元對語音信號的長短時序相關性進行建模,使得語噪分離的性能進一步提升[7].文獻[10]把在計算機視覺、圖像處理領域得到成功應用的生成對抗網(wǎng)絡(generative adversarial network, GAN)運用到了語音增強領域, 取得了一定效果.文獻[11]提出一種利用增強學習(reinforcement learning, RL)對DNN進行自優(yōu)化(self-optimization)的語音增強方法.用反映人類聽覺打分的定量指標作為網(wǎng)絡的獎賞反饋(reward)訓練網(wǎng)絡.主、客觀測試表明該方法在有限的樣本數(shù)據(jù)下的有效性.
考慮到語音信號在時頻域的稀疏特性和深度神經(jīng)網(wǎng)絡在語音增強應用中表現(xiàn)出的頻譜保持特性,本文提出了一種聯(lián)合稀疏非負矩陣分解(sparse non-negative matrix factorization, SNMF)和深度神經(jīng)網(wǎng)絡的單通道語音增強方法.首先對帶噪語音的幅度譜進行非負矩陣分解得到和語音字典、噪聲字典對應的稀疏編碼矩陣,以維納濾波方式恢復語音成分的主要結構,通過深度神經(jīng)網(wǎng)絡學習分離語音的對數(shù)幅度譜和理想純凈語音對數(shù)幅度譜之間的非線性映射,恢復出語音結構的缺失成分.實驗結果表明所提方法可以有效抑制噪聲且較好地保留語音成分,在感知質量和對數(shù)譜失真性能評價指標上,均優(yōu)于基線方法.
非負矩陣分解是利用非負的字典矩陣D∈和編碼矩陣C∈的乘積實現(xiàn)對整體非負矩陣V∈的逼近,即:
(1)
式(1)通常通過式(2)的最小化問題來求解:
mind(V|DC) s.t.Df,k≥0,Ck,n≥0,
(2)
其中,d表示刻畫分解矩陣與原始矩陣逼近程度的距離度量,常用的度量有歐氏距離(Euclidean distance)、KL散度(Kullback-Leibler, KL divergence)和板倉散度(Itakura-Saito, IS divergence), 度量函數(shù)的選取會影響分解的效果.
對于語音信號,濁音段的時域波形具有相似性,呈現(xiàn)出的準周期特性表征了語音信號在時域的冗余度.短時功率譜具有共振峰結構,且能量大部分集中在低頻部分,表征了語音信號在頻域的冗余性.語音信號在時頻域的冗余性使得用稀疏表示方法所得到的模型變得簡單高效,特別是使得模型在應對噪聲方面更加魯棒[14-15].而基于KL散度的目標函數(shù)對低能量觀測值較為敏感,在目標分離任務中,KL散度往往能取得較好的效果[16].通過對編碼矩陣C施加稀疏約束(sparse constraint),在KL散度距離度量下,式(2)可以表示為求解一個帶稀疏約束最小化問題[17]:
(3)
其中,λ是控制編碼矩陣C稀疏度的參數(shù),λ取值越大代表編碼矩陣越稀疏.距離度量dKL(·|·)的表達式為
(4)
在KL散度距離度量下,式(3)可以采用梯度下降方法,利用乘性迭代的方式求解[18]:
(5)
(6)
在線性模型下,帶噪語音信號y(t)可以由純凈語音s(t)及與語音信號不相關的加性噪聲n(t)之和表示,且對應的短時傅里葉變換幅度譜滿足:
Y=S+N.
(7)
將NMF方法用于語音增強時,首先通過對純凈語音和噪聲數(shù)據(jù)進行訓練預先得到語音和噪聲的頻譜基向量DSpeech和DNoise作為先驗信息,而后將兩者的基向量組合成聯(lián)合基字典[DSpeechDNoise].通常選取帶噪語音的幅度譜或是能量譜作為整體非負矩陣表示.利用SNMF方法將帶噪語音信號的非負矩陣表示分解為聯(lián)合基字典和稀疏編碼矩陣(由語音和噪聲的編碼向量組成)的乘積:
Y≈DC=(DSpeechDNoise)(CSpeech;CNoise).
(8)
(9)
基于SNMF的語音增強方法對噪聲有較好的抑制能力,但觀察經(jīng)維納濾波后的語譜圖可以發(fā)現(xiàn),在去除噪聲的同時語音頻譜也受到了破壞,增強后的語譜圖中存在塊狀的缺失、頻譜成分的缺失,會造成語音的諧波成分破壞,不可避免地引入語音的失真.為了更好地提高增強后語音的感知質量和語音的可懂度,考慮到基于DNN的語音增強方法具有有效的頻譜重構特性,本文采用DNN網(wǎng)絡對經(jīng)SNMF方法增強后的語音進行后處理.首先帶噪語音經(jīng)SNMF方法處理后,可以使語音中的噪聲成分得到了抑制;其次,經(jīng)過處理后的語音作為DNN的輸入可能降低網(wǎng)絡訓練的復雜度.本文提出了的語音增強方法流程圖,如圖1所示:
Fig. 1 A block diagram of the proposed method圖1 本文所提方法流程圖
DNN是由輸入層、多個隱藏層和輸出層組成的神經(jīng)網(wǎng)絡.一個隱藏層數(shù)量為L的全連接前向DNN的輸入、輸出表達式為
y=φL+1(WL+1(φL(WL(…φ1(W1x))))),
(10)
其中,x表示網(wǎng)絡的輸入;y表示網(wǎng)絡的輸出;Wl表示網(wǎng)絡從l-1層到第l層的參數(shù)矩陣;φl(·)表示網(wǎng)絡第l-1層到第l層的激活函數(shù),常用的激活函數(shù)有Sigmoid函數(shù)、雙曲正切函數(shù)和修正線性函數(shù)等.
(11)
其中,W和b分別為整個網(wǎng)絡的權重矩陣和偏置矩陣,N為批處理的大小,JMSE代表基于最小均方誤差準側的網(wǎng)絡輸出和目標之間的損失函數(shù).利用帶動量的隨機梯度下降方法通過反向傳播損失函數(shù)更新網(wǎng)絡的權重和偏置參數(shù):
(12)
其中,1≤l≤L+1;λ表示學習率;ω為動量因子參數(shù),用于加快模型的收斂速度,以減少在局部極值點附近的振蕩.
在增強階段則是使用維納濾波方法得到經(jīng)NMF方法處理后的語音幅度譜,該幅度譜特征歸一化聯(lián)合相鄰幀的幅度譜特征作為訓練好的DNN模型的輸入,網(wǎng)絡的輸出即為增強語音的對數(shù)幅度譜.基于語音對相位信息不敏感的特性,聯(lián)合帶噪語音的相位信息即可通過逆短時傅里葉變換重構出時域的語音信號.
在本實驗中,純凈語音選自IEEE語句[20],噪聲信號取自于NOISEX-92標準噪聲庫[21].IEEE語句由720句男性說話人組成;NOISEX-92噪聲庫是由15種真實場景噪聲組成,主要包含多種軍事環(huán)境噪聲和一些常見的環(huán)境噪聲,以非平穩(wěn)噪聲為主,每種噪聲長度在4 min左右.
為了增加數(shù)據(jù)的多樣性、避免過擬合現(xiàn)象,每種噪聲被分為前、后2段分別用于訓練和測試[8].在訓練階段,從IEEE語句庫中隨機選取200句純凈語音,分別以-9 dB,-6 dB,-3 dB,0 dB,3 dB, 6 dB,9 dB這7種信噪比與NOISEX-92噪聲庫中的4種噪聲的前半段的任意部分隨機混合.這4種噪聲分別是:F16雙座艙內噪聲、Factory工廠噪聲、HF Channel高頻噪聲、White高斯白噪聲,這樣共生成5 600句帶噪語音作為訓練數(shù)據(jù)集.選取訓練集的10%作為驗證集,每個epoch后,在驗證集上測試網(wǎng)絡性能,選擇在驗證集表現(xiàn)最好的網(wǎng)絡參數(shù)作為網(wǎng)絡訓練的最終模型.在測試階段,從IEEE語句庫中選取另外20句純凈語音并分別與訓練階段用的4類噪聲的后半段按照 -5 dB,0 dB,5 dB,10 dB 混合,共生成320句帶噪語音作為測試語句.
本文選取感知語音質量(perceptual evaluation of speech quality, PESQ)[22]和對數(shù)譜距離(log-spectral distance, LSD)[23]作為指標評價所提方法的性能.PESQ打分側重于評估處理語音的總體質量,其得分位于區(qū)間[-0.5 4.5]之間,是廣泛使用的客觀評價方法.LSD指標衡量純凈語音和增強語音之間的短時功率譜差異,越小的值表示增強后語音的譜失真越小.
本文選取2種方法作為基線方法:基于DNN的自回歸語音增強方法[8](簡記為DNN)和基于卷積非負矩陣分解的(convolutive non-negative matrix factorization, CNMF)有監(jiān)督語音增強方法[24].2種方法和本文所提方法使用相同的訓練和測試數(shù)據(jù).在DNN自回歸方法中,網(wǎng)絡輸入為歸一化的帶噪語音的對數(shù)幅度譜,輸出為純凈語音的對數(shù)幅度譜.基于CNMF的語音增強方法利用二維時頻字典表征語音信號的時頻結構特征,可以動態(tài)地描述語音和噪聲的信息.語音字典和噪聲字典通過預先訓練得到.語音字典基依經(jīng)驗設為100,噪聲字典基設為60.字典訓練特征選擇用Hamming窗計算的512維幅度譜,窗長為32 ms,幀移為8 ms.在SNMF方法中,稀疏約束λ取值依經(jīng)驗設為0.1.在CNMF方法中,時頻原子的大小選為8.在本文所提方法中,經(jīng)維納濾波后的輸出聯(lián)合相鄰2幀(即K=2)的對數(shù)幅度譜特征組成一個長度為5幀的長特征向量作為DNN網(wǎng)絡的輸入,網(wǎng)絡的輸出目標為當前幀對應的純凈語音的對數(shù)幅度譜.網(wǎng)絡的輸入層為257×5個節(jié)點,輸出層為257個節(jié)點,隱藏層數(shù)設為3,每層的節(jié)點數(shù)為2 048個,dropout取值為0.2,批處理大小選為1024.300個epoch后,網(wǎng)絡參數(shù)不再更新,選擇在驗證集上表現(xiàn)最好的網(wǎng)絡參數(shù)作為訓練結果.在實驗中,我們選取修正線性激活函數(shù)[25]作為隱藏層的激活函數(shù),該激活函數(shù)與Sigmoid函數(shù)和雙曲正切函數(shù)相比更加符合神經(jīng)元的激勵原理,而且其輸出具有稀疏性.研究表明,當網(wǎng)絡訓練采用修正線性單元(rectified linear unit, ReLU)[25]時,在大規(guī)模訓練數(shù)據(jù)集下無需對網(wǎng)絡進行無監(jiān)督的預訓練也能取得較好的效果[9].由于輸出目標是純凈語音的對數(shù)幅度譜,故在DNN網(wǎng)絡的輸出層選擇線性激活函數(shù).
為了說明方法的有效性以及更好地體現(xiàn)出噪聲抑制和語音頻譜信息保留的細節(jié)信息,圖2給出了一段噪聲類型為Factory、輸入信噪比為0 dB的帶噪語音經(jīng)不同有監(jiān)督方法增強后的語譜圖.由圖2可以看出,基于NMF的增強方法對噪聲的抑制水平要高于CNMF和DNN方法,但是增強后的語音在低頻部分語音的頻譜成分和純凈語音相比存在頻譜結構缺失的現(xiàn)象.經(jīng)過DNN方法能夠較好地恢復出被噪聲污染的語音成分和語音頻譜結構,但是存在著較多的冗余噪聲,我們認為主要原因是基于MMSE的損失函數(shù)對各個頻帶的權重相等,然而對語音信號,在低頻成分的能量要遠高于高頻成分,所以經(jīng)過DNN方法增強后的語音特別是在高頻部分會存在噪聲冗余.由圖2可以看出,本文所提方法在抑制噪聲成分的同時能夠較好地恢復出語音的頻譜結構.
Fig. 2 Spectrograms of an utterance圖2 語音語譜圖
表1和表2分別給出了在不同信噪比下,被4種噪聲污染的語音經(jīng)過不同降噪方法處理后的PESQ和LSD指標結果.由表1和表2可以看出,除了在-5 dB HF Channel條件下,本文所提方法的PESQ和LSD得分要略低于DNN基線方法,在其他噪聲和信噪比情況下,本文所提方法在2種評價指標上都要高于其他4種方法.從表2中可以看出,在F16噪聲類型下,基于NMF或CNMF的方法在低信噪比時較DNN的方法在性能上效果相差不大,而在White噪聲下性能要低于基于DNN的方法和本文所提方法.我們認為主要是F16雙座艙內的噪聲(比如說設備引擎等)具有較強的結構性,這種類型的噪聲用字典中少量的原子組合就可以表示,所以基于NMF的增強方法對這類結構化噪聲的建模能力較好,而White噪聲不具備明顯的譜結構信息,因此,基于NMF和CNMF的增強方法在此類噪聲類型上的語音失真要高于其他類型的噪聲.
Table 1 PESQ Score of Different Enhancement Methods表1 不同增強方法和噪聲下的PESQ得分
Table 2 LSD Score of Different Enhancement Methods表2 不同增強方法和噪聲下的LSD值
在實驗中訓練集和測試集所選取的噪聲類型相同,但測試集和訓練集用的是語音庫中不同的語句,按不同信噪比添加同一種類型噪聲的不同部分,旨在避免過擬合,測試所提方法對不匹配類型的泛化性能.實驗結果驗證了本文所提方法在不匹配情況下,在平穩(wěn)和非平穩(wěn)噪聲環(huán)境下的有效性.由于噪聲字典僅在4種噪聲類型下獲得,因此在完全不匹配數(shù)據(jù)集(完全不匹配一般是指在訓練階段沒有見過的噪聲類型、沒有訓練過的信噪比和未曾出現(xiàn)過的說話人)上的性能沒有做進一步的實驗.事實上,在完全不匹配數(shù)據(jù)集上的泛化性能是基于字典或是基于DNN等有監(jiān)督語音增強方法要面臨的一個問題.這一問題一方面可以通過增加在字典訓練或是網(wǎng)絡訓練中的樣本數(shù)量,即增加訓練集中樣本的多樣性來解決.在文獻[8]中,通過選取104種噪聲類型、625 h的語料進行訓練,驗證了基于DNN的自回歸語音增強方法在完全不匹配數(shù)據(jù)集上也具有良好的去噪效果.文獻[26]通過對訓練集中數(shù)據(jù)添加抖動的方法來增加數(shù)據(jù)多樣性以提高方法性能.另一方面可以通過半監(jiān)督或者自適應字典學習的方法,即從樣本和數(shù)據(jù)中在線學習字典的方法增加方法的自適應性,這也是我們下一步研究的一個方向.
針對基于非負矩陣分解的語音增強方法在低信噪比部分和無結構特征的清音部分會引入失真這一問題,充分利用語音信號在時頻域的稀疏特性和深度神經(jīng)網(wǎng)絡在語音增強應用中表現(xiàn)出的譜重構特性,本文提出一種聯(lián)合稀疏非負矩陣分解和深度神經(jīng)網(wǎng)絡的單通道語音增強方法.實驗結果表明:本文所提方法在有效抑制噪聲的同時能較好地恢復語音的頻譜結構,特別是在非平穩(wěn)噪聲環(huán)境下,也具有較為理想的增強效果.