賈海蓉,王衛梅,吉慧芳
(太原理工大學 信息與計算機學院,山西 太原 030024)
在過去的三十年中,單通道語音增強的研究主要集中在對語音譜幅值的估計,而忽略了對相位的信息處理,近幾年相關文獻證明相位信息與語音的可懂度密切相關[1]。隨著純凈語音相位估計的準確性對抑制噪聲的影響越來越重要,在語音增強中使用相位估計重建信號改進性能的方法也不斷被提出[2-3]。經典方法包括基于諧波模型的相位重構的語音增強方法[4],用帶噪語音相位代替清音段語音相位,在一定信噪比范圍內提高了語音質量,但同時造成了語音不連貫的問題,導致了語音失真;未封裝相位的時間平滑的語音[5]方法,是先對帶噪語音的瞬時相位譜進行相位分解,再通過時間平滑減小噪聲相位,從而重構出增強的瞬時相位譜用于信號重構;具有相位約束的幾何方法[6],利用基頻和相位畸變特征進行諧波增強的相位重構方法[7],是通過考慮諧波相位譜的關系來估計語音相位譜,改善了各種噪聲環境下的語音質量。文獻[8]通過計算加入與輸入信噪比變化相關的相位補償函數,對語音的相位進行補償,最終實驗證明,在低信噪比下依然可以有效去除噪聲。上述幾種方法都不同程度地改善了語音質量,但對于語音失真和可懂度方面還有待提高。另外,相位估計除了對信號重建的積極影響外,最近的幾項研究表明,它從帶噪語音中能更準確地估計譜幅度的有效性[9-11]。文獻[12]通過實驗證明提出的相位信息的復譜語音系數的估計量對提高含噪語音的感知質量和可懂度有顯著作用。文獻[13]綜述了相位譜信息在語音增強等語音處理應用領域的廣泛應用。
對此,針對傳統基于諧波模型的相位重構算法在提高語音質量的同時引入語音失真、導致語音連貫性差的問題,文中利用信噪比信息和時頻特征重構諧波相位模型,其中時頻特征與相位失真密切相關,為減少語音失真提供了保障;為了進一步提高語音質量,提出了用改進二元假設模型的基于對數譜估計的最小均方誤差準則(Minimum Mean Square Error short time Log Spectral Amplitude estimation,MMSE-LSA)估計純凈語音幅值譜;最后將重構的相位與估計的幅值相結合進行語音增強,得到信噪比高、失真較小的增強語音。
傳統基于諧波模型的相位重構算法采用非線性頻率壓縮的基音估計方法(Pitch Estimation method of nonlinear Frequency Amplitude Compression, PEFAC)算法[14]進行清濁音分段,得到帶噪語音濁音段的近似諧波模型:
(1)

連續幀之間的相位差表達式為
(2)
其中,Mprinc{·}代表將相位差映射到[-π,π],Arg{·}表示求相位(角)。
對濁音段每幀頻帶根據能量的不同分類進行討論:
(1)若經過短時傅里葉變換后信號的能量大致集中在諧波譜上,能夠使用時域的方法計算相位:
(3)

(2)若經過短時傅里葉變換后信號的能量很小,就不能把帶噪語音信號的相位信息作為初始值,此時使用頻域的方法計算相位:
(4)
文中選用漢寧窗,W為窗函數的頻域形式,計算如下:
(5)
其中,M為窗長,Ω為頻率。對式(5)取相位運算,即可得出窗函數的相位值,結合式(4),得出相位信息的頻域計算式。
其傳統基于諧波模型相位重構原理圖如圖1所示。

圖1 傳統基于諧波模型相位重構原理圖
在傳統的基于模型的相位重構算法中,相位重構是只對濁音段的相位信息進行重構,而清音段用帶噪語音信號的相位來近似,雖提高了語音質量,但因為沒有考慮清濁音過渡段的問題,所以導致語音不連貫,使可懂度較差的問題。針對此,文中提出了用信噪比信息與時頻特征改進基于模型的相位重構方法,并把它應用在語音增強中。具體步驟為:在對帶噪語音用PEFAC算法[14]進行基頻估計和清濁音分段的基礎上,引入與相位失真相關的時頻特征計算決策閾值,同時使用信噪比信息計算相位偏差;并將相位偏差與決策閾值進行比較,用于估計清音段和濁音段的語音相位;最后,結合重構的語音相位與改進二元假設模型的MMSE-LSA語音幅值估計,得到增強語音。用信噪比信息與時頻特征改進基于模型的相位重構語音增強算法原理框圖如圖2所示。
將語音信號y(n)進行基音-同步信號分割[14]為t(l)段,其表達式為
t(l)=t(l-1)+1/4f0(l-1) ,
(6)
其中,f0(l-1)是第l-1幀的基頻。

圖2 信噪比信息與時頻特征修正相位重構的語音增強框圖
將諧波相位ψ(h,l)分解為3個部分,即
(7)

Ψ(h,l)=ψ(h,l)-ψlln(h,l) 。
(8)
由式(8)可知,用帶噪語音諧波相位,減去用PEFAC算法估計出的諧波相位的線性相位部分,可計算出展開相位Ψ(h,l)。
聲道濾波器的頻率響應可以假設在一個音素內沿時間固定,因此,最小相位分量顯示的是緩慢變化的統計量。在被噪聲破壞的語音信號中,噪聲的加入會污染聲道濾波器的相位信息,而線性相位部分只取決于估計基頻的精度。去掉了線性相位部分,通過增強帶噪語音的展開相位,以減少噪聲污染[10]。因此,文中將展開相位的時頻特征及信噪比信息,應用于傳統基于模型的相位重構算法中增強帶噪語音。
定義Ψx(h,l)和Ψy(h,l)為純凈和帶噪語音信號的展開相位分量。在濁音或無濁音的假設下,二元假設檢驗能夠表述成:
(9)
(10)
其中,e(h,l)為誤差項。
假設H0表示在譜相位中無諧波結構的情形,因此,可以假定譜相位均勻地分布在相位變量的范圍[-π,π]內,即
p(ψy(h,l)|H0)~U[-π,π]=1/(2π) 。
(11)

假設H1為譜相位中存在諧波的情況,且譜相位服從von米塞斯分布[13]ψy(h,l)~VM(ψμ(h,l),κ(h,l)),則有
(12)

表示噪聲方差,|S(k,l)|是純凈語音幅值。
給定兩個假設H1和H0,接受其中任何一個的決定是由
決定的。
(13)
其中,θth(h,l)=lnI0(κ(h,l))/κ(h,l),為決策閾值。平均值ψμ(h,l)和濃度參數κ(h,l)所構建的von米塞斯分布模型表示的是相位的先驗分布[15],且相位的濃度參數是依賴于信噪比的。
相位幾何關系圖如圖3所示。由圖3可知

圖3 相位幾何關系圖
(14)
根據先驗信噪比ξ和后驗信噪比γ的定義式,有
(15)
定義φdev=θY-θS,作為帶噪語音相位θY與純凈語音相位θS間的相位偏差,且相位偏差在大于0.679rad的情況下,增強相位對提高語音的感知質量效果不明顯[16]。由圖3計算出幾何關系為
cos(θD-θY)=(αY-x)/αD,
(16)
cosφdev=x/αS,
(17)

(18)
當相位偏差余弦超過由濃度參數控制的閾值時,由于相位偏差與人的感知無關,因此使用帶噪語音相位來估計清音段語音相位,同時使用時域方法估計濁音段語音相位;當相位偏差余弦低于由濃度參數控制的閾值時,使用頻域方法估計濁音段語音相位,同時使用相位的幾何關系式來估計清音段語音相位。具體的表達為


將時頻特征和信噪比信息應用在相位重構中估計語音相位,既增強了感知語音質量,又提升了語音連貫性。
根據二元假設模型用MMSE-LSA語音增強算法得到純凈語音信號Sk的估計值為
(19)

該MMSE-LSA算法雖然能夠顯著提高語音質量,但因為采用恒定的加權因子GDD,使譜估計不夠準確,導致產生音樂噪聲。為了解決這一問題,文中提出一種用改進的兩步噪聲消除(Two Step Noise Reduction, TSNR)的增益聯合當前幀的先驗信息來代替原算法中恒定的加權因子GDD,以提高先驗信噪比估計的精確度,從而高度消除音樂噪聲。其中,TSNR算法[17]采用基于決策導向(Decision Directed,DD)方法的結果聯合系統的增益因子,從而修正對當前幀語音信號的先驗信噪比估計,即
(20)
其中,GTSNR(n,k)=ξTSNR/(1+ξTSNR);λd(k,n)是對噪聲的功率譜估計。ξTSNR可表示為
ξTSNR(n,k)=|GDDY(n,k)|2/λd(k,n) ,
(21)
其中,GDD=ξDD(n,k)/(1+ξDD(n,k))。
(22)
根據重構的語音相位信息和估計的語音幅度,得到最終增強后的語音信號的頻域表達式為
(23)

為了驗證筆者提出的新算法的有效性,實驗選擇在Matlab2015b的軟件環境下,實驗對象為863語音庫中的純凈語音SP01和SP15疊加不同噪聲(白噪聲、Pink噪聲和F16噪聲)形成不同信噪比的帶噪語音,其中選取采樣率為8 000 Hz,漢寧窗,幀長為256,幀移為64。
首先,由于相位信息與頻譜信息不同,沒有明顯的諧波結構,所以文中為了研究語音信號的相位信息,而將該信息可視化,利用每一幀信號的相位差值顯示,如圖4是對F16噪聲背景下的SP15中的純凈語音相位進行重構的相位差譜圖對比。其次,為了更加直觀地顯示算法的有效性,在F16噪聲背景下,信噪比為5dB的帶噪語音經文獻[4]算法與文中新算法的波形對比圖和頻譜對比結果如圖5和圖6所示。最后,為了驗證新算法對噪聲的普適性以及在語音失真和可懂度方面的提升效果,對不同噪聲背景下的SP01和SP15的帶噪語音進行了測試,信噪比(Signal to Noise Ratio, SNR)和語音質量感知評估(Perceptual Evaluation of Speech Quality, PESQ)對比結果如表1和表2所示。

圖4 文獻[4]算法與文中改進算法的相位差對比譜圖

圖5 文獻[4]算法與文中改進算法的語音增強結果波形對比圖

圖6 文獻[4]算法與文中改進算法的增強語音的語譜對比圖
表1 文獻[4]算法與文中改進算法的信噪比結果dB

噪聲類型輸入信噪比文獻[4]算法文中改進算法SP01語音SP15語音SP01語音SP15語音White噪聲07.769 24.741 38.281 36.616 1510.920 35.211 211.774 98.019 41012.947 010.418 615.342 814.255 21514.804 115.301 418.464 218.261 5Pink噪聲07.729 44.147 58.067 46.391 3510.500 55.959 211.632 88.759 21013.321 710.019 614.764 513.794 71515.063 015.876 818.127 619.398 6F16噪聲07.569 92.299 07.626 86.016 9510.493 05.409 711.176 88.209 21013.042 910.680 614.535 714.444 715 15.004 915.540 518.235 319.992 2

表2 文獻[4]算法與文中改進算法的語音質量感知評估結果
從圖4可以看出,純凈語音信號所對應的譜線非常規則且清晰,而帶噪語音信號的諧波結構因為受到噪聲信號的干擾后,譜線變得不清晰,甚至無法辨認。經傳統基于模型的相位重構方法和文中的改進算法后,雖然語音譜線的清晰度都有所改善,即不同程度的增強了語音信號,但明顯的是,與最初純凈語音信號的相位差頻譜結構相比較,前者缺失了不少重要信息,而后者的相位譜恢復了帶噪語音信號中丟失的純凈相位的諧波結構,語音部分的譜線更為完整清晰,也與純凈語音信號的相位差更為相似,驗證了文中改進算法對語音信號的增強效果的有效性。
從圖5和圖6可以看出,對比經兩種相位重構的語音增強算法后的增強語音的波形和頻譜,文獻[4]算法僅僅是在語音信號的濁音段有效抑制了噪聲,且有不少的語音失真;而改進的相位重構算法不僅在語音信號的濁音段,而且在清音段也實現了去噪效果,且減少了語音失真,更接近于純凈語音波形,更好地保持了語音頻譜特性。
另外,從表1和表2的結果表明,通過文中提出的方法,增強后語音的感知質量和可懂度在各種信噪比及不同的背景噪聲下明顯提高。與文獻[4]算法對比,SP01語音的信噪比平均提高了1.57 dB,語音質量感知評估指標平均提高了0.09;SP15語音的信噪比平均提高了3.21 dB,語音質量感知評估指標平均提高了0.15。進一步證實了筆者提出的改進算法可以更有效地改善語音的可懂度,降低了語音失真。
筆者深入分析了傳統基于模型的相位重構的語音增強算法,針對其清音段相位用帶噪語音相位代替導致語音失真和聽覺不連貫的問題,提出了用信噪比信息與時頻特征重構諧波相位的新方法,能夠有效改善語音的連貫性,提高可懂度;同時,提出一種改進的TSNR算法估計先驗信噪比,利用其改進二元假設模型的幅值估計并結合重構相位進行語音增強。實驗結果表明,相比文獻算法,筆者提出的新算法在信噪比和語音質量感知評估指標方面具有更明顯的提高,有效地降低了語音失真,解決了語音不連貫的問題,提高了語音可懂度。