肖純鑫,陳 雨
(四川大學(xué) 電子與信息學(xué)院,四川 成都 610065)
近年來(lái)基于統(tǒng)計(jì)學(xué)規(guī)則的語(yǔ)音增強(qiáng)技術(shù),如將MMSE統(tǒng)計(jì)規(guī)則應(yīng)用于對(duì)數(shù)域下的對(duì)數(shù)譜估計(jì)算法(minimum mean square error log-spectral amplitude,MMSE-LSA)[2]等,由于運(yùn)算量小、語(yǔ)音增強(qiáng)性能較好,在實(shí)時(shí)應(yīng)用場(chǎng)景中得到了廣泛應(yīng)用[1-3]?;谏疃葘W(xué)習(xí)的方法雖然擁有較好的語(yǔ)音增強(qiáng)效果,但復(fù)雜的網(wǎng)絡(luò)模型結(jié)構(gòu)和過(guò)多運(yùn)算量等缺陷,使其在實(shí)際場(chǎng)景中難以應(yīng)用[4-7]。相比而言,基于統(tǒng)計(jì)學(xué)規(guī)則的語(yǔ)音增強(qiáng)方法雖然存在著一定性能上的不足,但是這些算法具有較為成熟的理論支撐,將其與深度神經(jīng)網(wǎng)絡(luò)相結(jié)合,發(fā)揮各自的優(yōu)良特性,可以實(shí)現(xiàn)更加卓越的語(yǔ)音增強(qiáng)性能[8,9]。Jean-Marc提出的基于循環(huán)神經(jīng)網(wǎng)絡(luò)的語(yǔ)音增強(qiáng)方法(RNNoise)[10],使用頻帶增益等混合音頻特性作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練特征,減少模型的輸入特征維數(shù),兼顧網(wǎng)絡(luò)復(fù)雜度和語(yǔ)音增強(qiáng)性能,做到了算法的可實(shí)時(shí)性。同時(shí),RNNoise繼承了深度學(xué)習(xí)方案的優(yōu)點(diǎn),對(duì)非平穩(wěn)噪聲的抑制效果顯著,更符合實(shí)際的商業(yè)應(yīng)用場(chǎng)景。
基于以上分析,本文將結(jié)合RNNoise與MMSE-LSA語(yǔ)音增強(qiáng)算法,并對(duì)RNNoise中增強(qiáng)語(yǔ)音的濾波方式進(jìn)行改進(jìn),進(jìn)而提出一種語(yǔ)音增強(qiáng)算法MMSE-RNNoise。該方法提升了深度學(xué)習(xí)語(yǔ)音增強(qiáng)方案對(duì)抗未知噪聲的魯棒性,改善了復(fù)雜環(huán)境下的語(yǔ)音可懂度。
在RNNoise語(yǔ)音增強(qiáng)算法中,以頻帶增益作為訓(xùn)練特征以減少神經(jīng)網(wǎng)絡(luò)的特征輸入量,并在神經(jīng)網(wǎng)絡(luò)估計(jì)出頻帶增益后以內(nèi)插的方式得到頻譜增益。而頻帶增益插值運(yùn)算的方式使得RNNoise中的頻譜增益估計(jì)過(guò)于平滑,增強(qiáng)語(yǔ)音的噪聲抑制不夠徹底。為了進(jìn)一步提升算法的噪聲抑制效果,本文將RNNoise的頻帶增益轉(zhuǎn)換為頻帶先驗(yàn)信噪比估計(jì),引入MMSE-LSA概率統(tǒng)計(jì)模型作為增益估計(jì)模塊,實(shí)現(xiàn)了噪聲抑制性能更好的語(yǔ)音增強(qiáng)算法MMSE-RNNoise。此外,RNNoise中基于梳狀濾波器的信號(hào)后處理方法,在語(yǔ)音信號(hào)增強(qiáng)處理后,經(jīng)過(guò)一個(gè)梳狀濾波器以濾除諧波間噪聲。但當(dāng)語(yǔ)音信號(hào)受到外界噪聲干擾時(shí),基音檢測(cè)將必定存在一定誤差,且當(dāng)偏差較大時(shí),甚至?xí)霈F(xiàn)濾除諧波,保留噪聲頻段的災(zāi)難性后果。而在大多數(shù)商用場(chǎng)景,雖然噪聲普遍存在但信噪比往往不會(huì)太低。為了防止基音檢測(cè)錯(cuò)誤造成的音質(zhì)損傷,另一個(gè)對(duì)RNNoise的改進(jìn)點(diǎn)便是結(jié)合基音檢測(cè)算法[11-13]對(duì)諧波增益值進(jìn)行二次修正,在保證降噪效果的同時(shí)減少諧波損傷,從而改善增強(qiáng)后的語(yǔ)音可懂度。
在語(yǔ)音增強(qiáng)過(guò)程中,對(duì)于一段帶噪語(yǔ)音信號(hào)y,一般采用加性噪聲假設(shè)的語(yǔ)音增強(qiáng)模型,并定義時(shí)域帶噪語(yǔ)音信號(hào)為
y(n)=s(n)+d(n)
(1)
其中,s(n) 表示純凈語(yǔ)音信號(hào),d(n) 表示加性噪聲信號(hào)。對(duì)時(shí)域信號(hào)y(n) 短時(shí)傅里葉變換得
Y(n,k)=S(n,k)+D(n,k)
(2)
其中,n表示幀數(shù),k表示頻點(diǎn)。在時(shí)頻域中,MMSE-RNNoise語(yǔ)音增強(qiáng)算法的系統(tǒng)框架如圖1所示。
圖1 MMSE-RNNoise算法結(jié)構(gòu)
其語(yǔ)音增強(qiáng)過(guò)程可分為如下幾步進(jìn)行:
(1)采用實(shí)時(shí)性能較好的YIN基音檢測(cè)算法提取出帶噪語(yǔ)音信號(hào)的基音頻率,并計(jì)算出循環(huán)神經(jīng)網(wǎng)絡(luò)的混合輸入特征;
(2)通過(guò)RNN網(wǎng)絡(luò)估計(jì)出帶噪語(yǔ)音各個(gè)頻帶的先驗(yàn)信噪比,并由線性插值的方式得到頻譜先驗(yàn)信噪比;
(3)頻譜先驗(yàn)信噪比通過(guò)MMSA-LSA增益估計(jì)模塊,計(jì)算出頻譜增益;
(4)根據(jù)YIN算法得出的基音檢測(cè)結(jié)果,確定諧波頻點(diǎn)位置,對(duì)諧波頻點(diǎn)的增益進(jìn)行修正;
(5)將帶噪語(yǔ)音信號(hào)的幅度譜與修正后的幅度譜增益相乘,結(jié)合帶噪語(yǔ)音信號(hào)的相位信息,合成出增強(qiáng)處理后的語(yǔ)音。
在本節(jié)的后續(xù)部分,將對(duì)以上各個(gè)步驟的內(nèi)容進(jìn)行詳解。
由于在語(yǔ)音增強(qiáng)過(guò)程中難以直接估計(jì)語(yǔ)音與噪聲信號(hào)的強(qiáng)度, MMSE-LSA語(yǔ)音增強(qiáng)算法通過(guò)觀測(cè)到的帶噪語(yǔ)音噪聲功率譜。由式(3)得出后驗(yàn)信噪比γ(n,k), 式(4)得出先驗(yàn)信噪比ξ(n,k)
(3)
(4)
其中,λd為噪聲功率譜,GH為頻譜增益函數(shù),α為用于控制噪聲抑制程度的權(quán)重因子。之后,MMSE-LSA語(yǔ)音增強(qiáng)算法通過(guò)指數(shù)積分函數(shù)及估計(jì)出的先驗(yàn)與后驗(yàn)信噪比,就能夠計(jì)算出帶噪語(yǔ)音信號(hào)的頻譜增益函數(shù)
(5)
(6)
由算法的計(jì)算過(guò)程可以看出,統(tǒng)計(jì)規(guī)則下的語(yǔ)音增強(qiáng)算法對(duì)噪聲估計(jì)有一定的延遲性。同時(shí),在語(yǔ)音信號(hào)中包含了許多諧波成分,這些諧波結(jié)構(gòu)影響著語(yǔ)音信號(hào)在人耳聽(tīng)覺(jué)下的可懂度和清晰度。基于統(tǒng)計(jì)學(xué)規(guī)則的語(yǔ)音增強(qiáng)算法未考慮到語(yǔ)音頻譜中諧波結(jié)構(gòu)的分布特性,使得增強(qiáng)后的語(yǔ)音音質(zhì)損傷較為嚴(yán)重。
文獻(xiàn)[5]中使用神經(jīng)網(wǎng)絡(luò)去直接估計(jì)幅度譜的各個(gè)采樣點(diǎn),這將使得神經(jīng)網(wǎng)絡(luò)需要使用6144個(gè)神經(jīng)元與一千多萬(wàn)個(gè)參數(shù)去處理8 kHz采樣率的音頻。過(guò)于臃腫的網(wǎng)絡(luò)嚴(yán)重限制了算法的訓(xùn)練速度與實(shí)際生活中的應(yīng)用場(chǎng)景。為了減少神經(jīng)網(wǎng)絡(luò)的參數(shù)個(gè)數(shù),本文不直接對(duì)帶噪語(yǔ)音頻譜增益做映射式的估計(jì),而是使用頻帶先驗(yàn)信噪比作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練特征,以減少網(wǎng)絡(luò)輸入的特征維度數(shù)。RNNoise 算法中參照了bark域下的頻帶劃分方式,在20 kHz 的頻帶帶寬中劃分出22個(gè)頻帶,并將前6個(gè)頻帶定義為低頻段。表1顯示了RNNoise算法中頻帶的劃分方式。
由于人耳對(duì)低頻語(yǔ)音信號(hào)較為敏感,RNNoise算法在低頻段的頻帶劃分上較中高頻段更為細(xì)膩。按照表1劃分好頻帶后,定義各個(gè)頻帶的先驗(yàn)信噪比ξ(b) 為
表1 頻帶劃分
(7)
其中,λs(b) 為純凈語(yǔ)音信號(hào)s在頻帶b中的功率譜,λd(b) 為噪聲信號(hào)d在頻帶b中的功率譜。在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,將利用大量提取出的實(shí)際先驗(yàn)信噪比和語(yǔ)音特征,使得網(wǎng)絡(luò)可以估計(jì)出恰當(dāng)?shù)念l帶先驗(yàn)信噪比以實(shí)現(xiàn)語(yǔ)音增強(qiáng)。所以在本文中,RNN神經(jīng)網(wǎng)絡(luò)的根本任務(wù)便是構(gòu)造一個(gè)可以擬合真實(shí)先驗(yàn)信噪比的非線性函數(shù),使得先驗(yàn)信噪比估計(jì)值與真值之間誤差最小。對(duì)于改進(jìn)的RNNoise神經(jīng)網(wǎng)絡(luò),其42維的輸入特征由以下4個(gè)部分組成:
(1)bark域下劃分出的22個(gè)頻帶的先驗(yàn)信噪比;
(2)對(duì)低頻段的6個(gè)頻帶計(jì)算倒譜系數(shù)及其一階差分,組合成12維的語(yǔ)音特征;
(3)根據(jù)YIN基音檢測(cè)結(jié)果,對(duì)各個(gè)頻帶計(jì)算其基音相關(guān)性pb(k),并取pb(k)離散余弦變換(discrete cosine transform,DCT)后的前6個(gè)系數(shù)作為特征;
(4)基音頻率ωn, 頻譜穩(wěn)定度f(wàn)n(k)。
其中,基音相關(guān)性系數(shù)pb(k) 計(jì)算公式如下
(8)
P(k)=DCT(X(n-T0))
(9)
上式中,X(n-T0) 表示對(duì)第n幀的時(shí)頻域帶噪語(yǔ)音信號(hào)X(n) 取一個(gè)基音周期的延遲,P(k) 為對(duì)X(n) 取一個(gè)基音周期的延遲并進(jìn)行離散余弦變換,P*(k) 為P(k) 對(duì)應(yīng)的共軛復(fù)數(shù),R[·] 表示取括號(hào)內(nèi)復(fù)數(shù)的實(shí)部。對(duì)第n幀時(shí)頻域帶噪語(yǔ)音信號(hào)X(n) 計(jì)算當(dāng)前幀與前8幀信號(hào)頻帶差的平均值,并定義為頻譜穩(wěn)定度f(wàn)n(k) 作為神經(jīng)網(wǎng)絡(luò)的輸入特征,計(jì)算過(guò)程如式(10)所示
(10)
以上的48維特征將輸入到神經(jīng)網(wǎng)絡(luò)中,用以訓(xùn)練模型并估計(jì)出頻帶先驗(yàn)信噪比。由于循環(huán)神經(jīng)網(wǎng)絡(luò)適用于處理序列數(shù)據(jù),同時(shí)為了防止出現(xiàn)梯度消失及梯度爆炸的問(wèn)題,算法引入了門(mén)控循環(huán)單元(gated recurrent unit,GRU)。與長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(long short-term memory,LSTM)相比較,GRU具有更加精簡(jiǎn)的網(wǎng)絡(luò)結(jié)構(gòu),運(yùn)算量約為L(zhǎng)STM的1/3,且其語(yǔ)音增強(qiáng)效果與LSTM相當(dāng)[6]。因此,GRU是實(shí)時(shí)語(yǔ)音增強(qiáng)中較好的神經(jīng)網(wǎng)絡(luò)選擇。改進(jìn)的RNNoise網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,括號(hào)內(nèi)為當(dāng)前網(wǎng)絡(luò)層輸入或輸出的特征維度數(shù)。
圖2 RNNoise神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
同時(shí),RNNoise神經(jīng)網(wǎng)絡(luò)中的端點(diǎn)檢測(cè)模塊輸出將用于后續(xù)的增益修正算法,以進(jìn)一步提高增強(qiáng)語(yǔ)音的可懂度。當(dāng)神經(jīng)網(wǎng)絡(luò)估計(jì)出頻帶先驗(yàn)信噪比ξb后,還將通過(guò)插值運(yùn)算的方式轉(zhuǎn)換為頻譜先驗(yàn)信噪比,其插值計(jì)算方式如下
ξ(k)=∑kw(b,k)ξb
(11)
其中,ξ(k) 為頻點(diǎn)k對(duì)應(yīng)的先驗(yàn)信噪比,w(b,k) 為頻帶b中頻點(diǎn)k的插值權(quán)重,并始終滿足∑kw(b,k)=1。 最后通過(guò)MMSE-LSA增益估計(jì)模塊,即可由頻譜先驗(yàn)信噪比計(jì)算出頻譜增益。
由于RNNoise以頻帶增益為網(wǎng)絡(luò)的訓(xùn)練目標(biāo),過(guò)多的頻點(diǎn)被包含在一個(gè)頻帶中計(jì)算增益,使得模型估計(jì)出的增益系數(shù)過(guò)于平滑,對(duì)語(yǔ)音的可懂度造成一定的影響。因此將RNNoise的頻帶增益特征轉(zhuǎn)換為頻帶先驗(yàn)信噪比,并引入MMSE-LSA概率統(tǒng)計(jì)模型作為增益估計(jì)模塊,改善了語(yǔ)音增益估計(jì)的過(guò)平滑問(wèn)題,但MMSE-LSA算法的引入同樣也帶來(lái)了一定程度的音質(zhì)損傷。為此引入基音檢測(cè)算法提取出帶噪語(yǔ)音各幀的基頻ωn,并根據(jù)RNNoise神經(jīng)網(wǎng)絡(luò)中端點(diǎn)檢測(cè)模塊的輸出結(jié)果,對(duì)諧波增益進(jìn)行二次修正以彌補(bǔ)MMSE-LSA造成的音質(zhì)損傷。本實(shí)驗(yàn)中對(duì)比分析了文獻(xiàn)[11-13]的基音檢測(cè)方法,并最終采用了實(shí)時(shí)性能更加良好的YIN基音檢測(cè)方案。若是追求更加良好的語(yǔ)音增強(qiáng)結(jié)果,可采用算法復(fù)雜度更高的CREPE等算法。在得到帶噪語(yǔ)音信號(hào)的基音檢測(cè)結(jié)果后,為了保留語(yǔ)音的諧波結(jié)構(gòu),對(duì)于語(yǔ)音信號(hào)的濁音幀部分設(shè)計(jì)如下的增益修正濾波器[14]
(12)
Ak=X(k)+αbP(k)
(13)
其中,Ak為語(yǔ)音頻譜X(k) 加上經(jīng)αb修正后的基音相關(guān)性系數(shù)頻譜P(k)。K為增益修正處理的最大諧波次數(shù),本文著重于人耳較為敏感的12 kHz以下中低頻段的語(yǔ)音增強(qiáng)處理,所以取K=12kHz/ωn。σ2用于控制增益修正濾波器的通帶寬度。對(duì)于增益修正系數(shù)αb使用最小均方誤差等準(zhǔn)則也難以求得最優(yōu)值,為此在后續(xù)計(jì)算中對(duì)其添加約束條件
(14)
由于噪聲干擾,將導(dǎo)致語(yǔ)音的基音相關(guān)性降低,對(duì)于任意頻帶總存在著pb大于等于gb, 所以上式中增益修正系數(shù)αb的最大值為1。為了防止增益修正算法造成語(yǔ)音失真,當(dāng)語(yǔ)音段無(wú)噪聲時(shí)(即gb=1), 增益修正系數(shù)αb為0。該方法只對(duì)語(yǔ)音的諧波頻帶進(jìn)行增益修正,對(duì)其它頻帶的增益值則不做修改。這是因?yàn)樵诂F(xiàn)如今,基音檢測(cè)算法仍無(wú)法達(dá)到百分之百的準(zhǔn)確率,在基頻提取錯(cuò)誤的情況下,梳狀濾波可能會(huì)導(dǎo)致語(yǔ)音出現(xiàn)嚴(yán)重失真。而本算法即使在基頻完全提取錯(cuò)誤的情況下,也只是在諧波處引入了部分未經(jīng)抑制的噪聲,且這部分噪聲在聽(tīng)覺(jué)掩蔽效應(yīng)的作用下,增強(qiáng)語(yǔ)音在聽(tīng)者耳中并不會(huì)引起過(guò)多的不適,同時(shí)在大部分商用場(chǎng)景下,可以有效提高語(yǔ)音的可懂度。為了后續(xù)的算法性能評(píng)估,本文將基于基音檢測(cè)的增益修正算法與RNNoise語(yǔ)音增強(qiáng)算法相結(jié)合,并命名為(RNNoise gain correction,RNNoise-GC)。
為了對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和性能評(píng)估,本實(shí)驗(yàn)中采用McGill TSP語(yǔ)音數(shù)據(jù)庫(kù)及NTT多語(yǔ)言語(yǔ)音數(shù)據(jù)庫(kù)。訓(xùn)練集噪聲數(shù)據(jù)來(lái)源為俄亥俄州立大學(xué)Perceptionand Neurodynamics實(shí)驗(yàn)室的噪聲數(shù)據(jù)庫(kù)。測(cè)試集的噪聲來(lái)源為與訓(xùn)練集噪聲不同的Noisex92噪聲庫(kù),將用于下文中不同噪聲環(huán)境下的對(duì)比實(shí)驗(yàn)。在對(duì)比實(shí)驗(yàn)中,將多種噪聲與多國(guó)語(yǔ)言的語(yǔ)言信號(hào)以不同信噪比相疊加,其中也參雜了部分純凈語(yǔ)言與純?cè)肼?。在語(yǔ)音與噪聲信號(hào)的混合過(guò)程中,每隔2821幀對(duì)語(yǔ)音和噪聲增益進(jìn)行隨機(jī)初始化以模擬現(xiàn)實(shí)場(chǎng)景中的復(fù)雜環(huán)境。為了增強(qiáng)本算法在不同聲學(xué)應(yīng)用場(chǎng)景下的魯棒性,本文將對(duì)疊加語(yǔ)音和噪聲進(jìn)行隨機(jī)參數(shù)的二階濾波,其濾波方程如下所示
(15)
其中,隨機(jī)濾波參數(shù)r1,r2,r3,r4的分布范圍在正負(fù)0.375之間。在實(shí)驗(yàn)中,共計(jì)使用了6小時(shí)的語(yǔ)音與4小時(shí)的噪聲數(shù)據(jù),并以多種的語(yǔ)音與噪聲疊加方式,生成了140小時(shí)的可訓(xùn)練帶噪語(yǔ)音文件。語(yǔ)音文件的采樣率均為48 kHz,帶噪語(yǔ)音信號(hào)將在20 ms的幀長(zhǎng),10 ms的幀移下進(jìn)行短時(shí)傅里葉變換。實(shí)驗(yàn)環(huán)境配置見(jiàn)表2。
表2 實(shí)驗(yàn)環(huán)境配置
在RNN神經(jīng)網(wǎng)絡(luò)中包含3個(gè)GRU單元、4個(gè)隱藏層,各連接層均為全連接方式,層間的激活函數(shù)均為線性整流函數(shù)(rectified linear unit,ReLU),最后的輸出層使用Sigmoid函數(shù)激活。端點(diǎn)檢測(cè)部分的損失函數(shù)為交叉熵函數(shù),而頻帶先驗(yàn)信噪比估計(jì)部分,神經(jīng)網(wǎng)絡(luò)的損失函數(shù)定義為
(16)
對(duì)于第一個(gè)GRU單元,將上一小節(jié)提取出的42維特征輸入到網(wǎng)絡(luò)中,對(duì)頻帶語(yǔ)音狀態(tài)的端點(diǎn)檢測(cè)能力進(jìn)行訓(xùn)練,經(jīng)ReLU函數(shù)激活后輸出24維特征,進(jìn)而設(shè)定為端點(diǎn)檢測(cè)模塊。對(duì)于第二個(gè)GRU單元,將端點(diǎn)檢測(cè)模塊的輸入、輸出與網(wǎng)絡(luò)輸入的42維特征疊加,構(gòu)成90維的輸入特征,對(duì)頻帶噪聲進(jìn)行估計(jì),經(jīng)ReLU函數(shù)激活后輸出48維特征,設(shè)定為噪聲估計(jì)模塊。而對(duì)于第三個(gè)GRU單元,將噪聲估計(jì)模塊輸出的48維特征與端點(diǎn)檢測(cè)模塊輸出24維特征、網(wǎng)絡(luò)輸入的42維特征進(jìn)行疊加,共計(jì)114維的輸入特征經(jīng)ReLU函數(shù)激活后輸出96維特征。此時(shí)還需要經(jīng)過(guò)一個(gè)全連接層,經(jīng)Sigmoid函數(shù)激活后輸出各個(gè)頻帶先驗(yàn)信噪比的估計(jì)值。之后,RNNoise網(wǎng)絡(luò)輸出的22維頻帶先驗(yàn)信噪比將通過(guò)內(nèi)插的方式轉(zhuǎn)換為頻譜信噪比,并輸入到MMSE-LSA增益估計(jì)模塊中,計(jì)算出頻譜增益值。最后將各個(gè)頻點(diǎn)的幅值與增益相乘,利用帶噪語(yǔ)音的相位合成出可測(cè)聽(tīng)的增強(qiáng)語(yǔ)音信號(hào)。
為了評(píng)估MMSE-LSA、RNNoise、RNNoise-GC、MMSE-RNNoise這4種語(yǔ)音增強(qiáng)方法的性能,本文使用各個(gè)方案對(duì)相同的測(cè)試集音頻分別進(jìn)行語(yǔ)音增強(qiáng)。對(duì)增強(qiáng)后的語(yǔ)音信號(hào)主要采用兩種衡量指標(biāo),包括主觀語(yǔ)音質(zhì)量評(píng)估PESQ(得分范圍為-0.5-4.5)與短時(shí)客觀可懂度STOI(得分范圍為0-1)。由于頻帶劃分的限制,RNNoise只能對(duì)48 kHz采樣率的輸入音頻進(jìn)行語(yǔ)音增強(qiáng),但PESQ評(píng)價(jià)方案僅對(duì)較低采樣率的音頻進(jìn)行評(píng)估,所以本文將對(duì)輸出音頻重采樣到16 kHz再進(jìn)行語(yǔ)音質(zhì)量衡量指標(biāo)的計(jì)算。
圖3和圖4分別給出了帶噪語(yǔ)音和4種方案增強(qiáng)后語(yǔ)音信號(hào)的平均PESQ和STOI 得分。從圖中可以看出,在不同的未知噪聲環(huán)境下,本文提出的算法與MMSE-LSA、RNNoise、RNNoise-GC相比較,增強(qiáng)后語(yǔ)音信號(hào)在PESQ及STOI得分上均有所提高。對(duì)于白噪聲等平穩(wěn)噪聲,MMSE-LSA語(yǔ)音增強(qiáng)算法對(duì)噪聲的估計(jì)較為準(zhǔn)確,但對(duì)于Factory2等非平穩(wěn)噪聲噪聲,其增強(qiáng)效果欠佳。而MMSE-RNNoise等基于深度學(xué)習(xí)的語(yǔ)音增強(qiáng)方案在應(yīng)對(duì)非平穩(wěn)噪聲干擾時(shí),其語(yǔ)音增強(qiáng)效果較為顯著,PESQ與STOI得分均有所提升。對(duì)比MMSE-RNNoise與RNNoise兩個(gè)基于深度學(xué)習(xí)的語(yǔ)音增強(qiáng)方案,由于MMSE-RNNoise采用了MMSE-LSA與增益二次修正的信號(hào)后處理方法,具有更加良好的噪聲抑制與諧波保留效果。
圖3 4種算法的平均PESQ得分
圖4 4種算法的平均STOI得分
為了更加直觀地對(duì)比不同算法的噪聲抑制效果,本文對(duì)同一段含有非平穩(wěn)Speech babble噪聲、信噪比為10 dB的帶噪語(yǔ)音信號(hào),分別使用4種算法進(jìn)行語(yǔ)音增強(qiáng),并比較增強(qiáng)語(yǔ)音的語(yǔ)譜圖,如圖5所示。由于人耳對(duì)于語(yǔ)音信號(hào)的低頻段細(xì)節(jié)更為敏感,為了更加細(xì)致地觀察信號(hào)在低頻段的頻譜細(xì)節(jié)特征,圖中只展示了0-8 kHz范圍的頻譜。對(duì)于非平穩(wěn)噪聲,由圖5可以看出,MMSE-LSA增強(qiáng)后的語(yǔ)音失真度較高。而RNNoise、RNNoise-GC、MMSE-RNNoise 等基于深度學(xué)習(xí)的語(yǔ)音增強(qiáng)算法,在非平穩(wěn)噪聲環(huán)境下增強(qiáng)后的語(yǔ)音更能保留語(yǔ)音信號(hào)的細(xì)節(jié)特征。同時(shí),對(duì)比RNNoise和RNNoise-GC,改進(jìn)后的MMSE-RNNoise彌補(bǔ)了RNNoise的增益估計(jì)過(guò)平滑問(wèn)題,使得算法的噪聲抑制更為徹底,同時(shí)保留了更多純凈語(yǔ)音頻譜的細(xì)節(jié)特征,進(jìn)一步提高了語(yǔ)音的可懂度。
圖5 增強(qiáng)后語(yǔ)譜
為了比較算法的可實(shí)時(shí)性,本文在同一實(shí)驗(yàn)環(huán)境配置下(表2),采用Visual Studio編譯器對(duì)同一段3分鐘時(shí)長(zhǎng)、48 kHz采樣率的音頻計(jì)算程序處理耗時(shí),結(jié)果見(jiàn)表3。
表3 4種算法的音頻增強(qiáng)處理耗時(shí)
由于MMSE-RNNoise算法在原RNNoise和MMSE-LSA算法的基礎(chǔ)上做出了結(jié)合與改進(jìn),將不可避免地增大算法運(yùn)算量,降低了一定程度的算法實(shí)時(shí)性。實(shí)驗(yàn)結(jié)果統(tǒng)計(jì)表明,本文提出的MMSE-RNNoise算法較原RNNoise算法在運(yùn)算時(shí)間上增大了近一半,較MMSE-LSA算法則增大了約1/6。但是在部分商用場(chǎng)景中,硬件設(shè)備有著較高配置,進(jìn)而追求更高的語(yǔ)音增強(qiáng)性能,則本算法提供了一種行之有效的工程方案思路??梢?jiàn)本文在未大幅增加算法運(yùn)算量的同時(shí),提升了RNNoise的算法性能,且在大多數(shù)聲學(xué)場(chǎng)景下,增強(qiáng)后的語(yǔ)音信號(hào)在PESQ指標(biāo)和STOI指標(biāo)等方面都得到了有效的提高。
本文在RNNoise語(yǔ)音增強(qiáng)算法的基礎(chǔ)上,將RNNoise算法中的頻帶增益轉(zhuǎn)換為頻帶先驗(yàn)信噪比估計(jì),并與MMSE-LSA算法相結(jié)合,有效改善了頻帶增益系數(shù)過(guò)平滑問(wèn)題。同時(shí),為了進(jìn)一步提高增強(qiáng)語(yǔ)音的可懂度,引入了YIN基音檢測(cè)算法提取出基頻,并對(duì)MMSE-LSA估計(jì)出的增益系數(shù)在諧波處進(jìn)行增益修正,更加完整地保留帶噪語(yǔ)音頻譜中的諧波結(jié)構(gòu)。對(duì)比原RNNoise和MMSE-LSA語(yǔ)音增強(qiáng)算法,實(shí)驗(yàn)結(jié)果表明,本文提出的MMSE-RNNoise 算法更好地保留了語(yǔ)音信號(hào)的諧波特性,提高了增強(qiáng)語(yǔ)音可懂度,并于算法復(fù)雜度量與語(yǔ)音增強(qiáng)性能之間,取得了一個(gè)較好的平衡。