徐慶達(dá) 張二華
(南京理工大學(xué)計算機(jī)科學(xué)與工程學(xué)院 南京 210094)
語音作為人機(jī)交互的主要方式之一,在語音識別系統(tǒng)、說話人識別系統(tǒng)等中得到廣泛應(yīng)用。但實際環(huán)境和理想環(huán)境存在很大差異,語音信號中往往存在“未知”的干擾,如音樂、汽車鳴笛、動物叫聲等。這些干擾很大程度上影響了語音信號分析系統(tǒng)的性能,如何消除噪聲并獲得純凈的語音信號成為語音技術(shù)發(fā)展的關(guān)鍵技術(shù)之一。
經(jīng)研究表明,人耳有較強(qiáng)的語音分析能力,在復(fù)雜場景下即使只用一只耳朵,也能排除噪聲干擾,有選擇的聽取所需內(nèi)容[1]。1953年英國科學(xué)家Cherry將該現(xiàn)象稱為“雞尾酒會”問題[2]。之后人們對于人耳聽覺系統(tǒng)的研究經(jīng)歷了較長時間,Bregman 經(jīng)過多年的研究,在20 世紀(jì)90 年代發(fā)表《聽覺場景分析》(Auditory Scene Analysis,ASA),聽覺場景分析是從人的聽覺生理以及心理特征出發(fā),研究人耳在聽覺感知過程中的機(jī)理[3~4]。
2004 年,Guoning Hu 和Deliang Wang 提出了著名的Hu-Wang 模型,該模型采用基音特性和幅度調(diào)制特性分別處理低頻和高頻區(qū)域,分離結(jié)果的高頻區(qū)域得到了改善,分離效果得到了提高[5~6]。2010 年,Guoning Hu 和Deliang Wang 提出了用于基音估計和濁音分離的算法,即tandem 算法,該算法迭代的進(jìn)行基音估計和二值模估計,可以準(zhǔn)確地獲得基音和目標(biāo)語音的二值模[7~8]。2013年,基于tan-dem 算法,Guoning Hu 和Deliang Wang 提出了一種無監(jiān)督的語音分離系統(tǒng),該算法在完成濁音分離后,通過多尺度Onset/Offset 分析產(chǎn)生待分離清音段,并利用已分離的濁音的二值模來組織清音段,實現(xiàn)清音分離[9]。
本文首先分析了語音信號的頻域特征,語音信號在濁音部分其頻譜分布具有明顯的諧波特性,在倒譜域上有明顯的峰值,由倒譜峰值的位置可以推算出基音周期。本文以語音信號的短時平穩(wěn)性和基音周期的連續(xù)性等作為語音分離的線索,在求取基音頻率后采用梳狀濾波提取各次諧波的頻譜,再進(jìn)行傅里葉逆變換得到分離后的語音,實驗證明了該方法的有效性。
人耳聽覺系統(tǒng)對聲音的感知主要分為兩個階段,即分解和組合。人耳會將聽到的聲音分解成不同的感知單元,這些感知單元來自不同的發(fā)聲源,然后,聽覺系統(tǒng)會將來自同一發(fā)聲源的感知單元重新組合到一起,形成能夠表達(dá)一定內(nèi)容的語音片段[10]。其中組合分為“時序組合”和“同時組合”,如圖1 所示,B 和C 屬于同一時間不同頻段的感知單元,兩者的組合屬于“同時組合”,A 和B 屬于同一頻段不同時間的感知單元,兩者按時間的先后順序的組合屬于“時序組合”。計算聽覺場景分析正是用計算機(jī)來模擬人耳的聽覺系統(tǒng),并建立相應(yīng)的語音信號分離模型。
圖1 同時組合與時序組合
本文主要使用短時傅里葉分析方法對語音信號的短時譜和語譜圖進(jìn)行研究。通常取10ms~30ms為一幀,第n幀語音信號xn(m)的短時傅里葉變換的定義如式(1),w(n-m)為窗函數(shù)。
為了將時域信息與頻域信息相互結(jié)合,便于系統(tǒng)的分解和組合,可將連續(xù)幀的頻譜曲線按時間先后“豎”向繪制,再把頻率分量在某時間點上的幅值轉(zhuǎn)換為像素灰度值,以此為依據(jù)來繪制語譜圖。語譜圖的繪制過程如下。
1)對輸入的語音信號進(jìn)行短時傅里葉變換,對得到的實部和虛部的平方和開根號,得到振幅譜v={s1,s2,…,sn} ,其中v為二維數(shù)組,n為幀號,sn代表第n幀的振幅譜數(shù)據(jù)。
2)將所有振幅譜數(shù)據(jù)按照數(shù)值大小升序排序,以20 百分位處的數(shù)值為低截止閾值smin,80 百分位處的數(shù)值為高截止閾值smax,高于smax的像素值為0,即黑色,低于smin的像素值為255,即白色,其余的振幅映射到0~255之間。
圖2 給出了純凈語音某男聲漢語“那年”的波形圖及其語譜圖,其中幀長為512 個采樣點,采樣頻率為16kHz,即每16000 個采樣點代表1s。觀察發(fā)現(xiàn)濁音段濁音區(qū)域一條條橫向的條紋,也就是諧波系結(jié)構(gòu),這些諧波包含了語音信號中的主要信息,各次諧波的位置將作為語音分離的主要線索。
圖2 某男聲語音“那年”波形圖與語譜圖
語音產(chǎn)生的過程可以通過激勵源和濾波器模型模擬,激勵源代表聲帶振動,濾波器代表聲道,兩者在時域通過卷積計算得到語言信號。對語音信號利用倒譜解卷原理,可以得出激勵序列的倒譜,倒譜峰反映了基音信息,所以據(jù)此可以計算出基音周期[11~12]。
首先按第3 節(jié)中的式(1)對第n幀語音信號xn(m)進(jìn)行短時傅里葉變換得到短時譜Xn(ejω),短時譜Xn(ejω)包含實部和虛部,設(shè)
對其取對數(shù)得
再對實部ln|Xn(ejω)|做傅里葉逆變換可得到倒譜c(n),如式(4):
圖3(a)為語音信號對數(shù)振幅譜ln|Xn(ejω)|示意圖,虛線對應(yīng)于頻譜包絡(luò)的慢變化分量,實線對應(yīng)于諧波的快變化分量,諧波的變化頻率就是基音頻率。將對數(shù)振幅譜做傅里葉逆變換,即可將慢變化分量與快變化分量分離開[13]。圖3(b)為倒譜c(n)的示意圖,橫軸表示倒譜頻率,量綱是時間,其中靠近原點的低倒頻部分是頻譜包絡(luò)的變換,位于t0處的有明顯的峰值,t0對應(yīng)的時間就是基音周期。
圖3 倒譜示意圖
設(shè)信號采樣頻率為f,則時間采樣間隔為Δt=1f,若幀長為M,某一幀的倒譜數(shù)據(jù)為c(M),若其在第l個樣點序號處產(chǎn)生明顯的峰值,則基音周期Tp為
基音頻率fp定義如式(6):
語音信號具有短時平穩(wěn)性,且是漸變的,屬于同一聲源的基音周期具有一定的連續(xù)性。本文以每幀的倒譜數(shù)據(jù)為依據(jù),將相鄰幀的倒譜數(shù)據(jù)按一定的映射規(guī)則轉(zhuǎn)換為像素灰度值,然后在垂直方向上繪制出各幀倒譜的灰度值。其繪制過程與語譜圖類似,圖4(a)為某男聲“那年正月新春”純凈語音波形圖,圖4(b)為其基音周期軌跡圖?;糁芷谲壽E圖中的縱坐標(biāo)為時間,因采樣率為16kHz,即單位Δt=1 16000s。
圖4 語音波形圖和基音周期軌跡圖
在第4 節(jié)中已經(jīng)給出了基音頻率確定的方法,而各次諧波的頻率fh為基音頻率fp的整數(shù)倍,即fh=k×fp,按基音頻率的整數(shù)倍提取各次諧波可得到需要的頻譜數(shù)據(jù)。由于基音頻率的計算會產(chǎn)生很小的誤差,在高頻部分當(dāng)k較大時誤差會被放大,本文使用迭代更新第k-1 次諧波位置的方法來確定第k次諧波位置,以此提取各次諧波,縮小了高頻部分的誤差,提高了諧波提取的準(zhǔn)確性。
設(shè)信號采樣頻率為f,某段語音的振幅譜數(shù)據(jù)為v={s1,s2,…,sn} ,幀長為N,某一幀的振幅譜數(shù)據(jù)sn的長度為N,對應(yīng)于N個點序號,則頻率采樣間隔Δf=f/N,由4.1 節(jié)中式(6)得基音頻率fp=f/l,則某一幀的一次諧波位置點序號i1=int(fp/Δf)=int(N/l)。
諧波提取過程如下:
1)將語譜圖中灰度值85 對應(yīng)的振幅作為各次諧波的振幅閾值A(chǔ)H。
2)根據(jù)基音頻率fp設(shè)置諧波搜索范圍(R表示要搜索的樣點的范圍),避免相鄰兩個諧波位置的交叉。
3)根據(jù)基音頻率fp確定一次諧波的理論位置i1=int(N/l) ,對i1四 舍 五 入 取 整,并 搜 索[i1-R,i1+R] 范圍內(nèi)的極大值,若找到局部極大值A(chǔ)(ix),且A(ix)≥AH,則本次諧波頻率點位置就為ix,更新i1=ix;否則舍去該次諧波頻率點,i1=int(N/l)不做更新。
4)經(jīng)過步驟3)在一次諧波確定的情況下,從第二次諧波開始,以ik=ik-1+i1依次求取剩余各次諧波,ik的更新與確定與步驟3)一致。
圖5(a)為純凈語音某男聲“那年正月新春”語譜圖,圖5(b)為其按上述方法提取的諧波結(jié)構(gòu)圖。
圖5 某男聲“那年正月新春”語譜圖與諧波提取圖
對于提取完諧波的單幀頻譜進(jìn)行傅里葉逆變換可得到分離后的單幀語音信號[14]。短時傅里葉變換是將時域信號轉(zhuǎn)換到頻域,而短時傅里葉逆變換 則 是 將 頻 域 信 號Xn(ejω)恢 復(fù) 為 時 域 信 號x(m)。第3節(jié)中式(1)對應(yīng)的傅里葉逆變換公式為
令m=n,且w( 0 )≠0 時,有
對于分離后的單幀語音信號,由于相鄰幀之間在時域上有重合,因此,在同一段基音軌跡對應(yīng)的時間范圍內(nèi),將各語音幀按照間隔幀移大小的距離進(jìn)行對齊。如圖6,對于重合部分采用疊加求均值的方式來重構(gòu)語音信號,可得到分離后的語音。
圖6給出了語音重構(gòu)的過程示意圖。
圖6 語音重構(gòu)過程示意圖
本實驗將原始語音某男聲“那年正月新春”與不同噪聲混合后做分離試驗,選取的噪聲分別為電話按鍵聲、白噪聲、流水聲、水中氣泡聲、鳥叫聲,圖7為五種噪聲的波形圖。
圖7 五種噪音的波形
本實驗將原始語音與噪音按一定的信噪比(SNR)進(jìn)行混合,對混合語音進(jìn)行分離試驗,其中信噪比設(shè)為5。信噪比(SNR)計算公式如式(9),其中,x(m)為原始語音信號,v(m)為噪音信號。
圖8~圖12為原始語音與五種噪音混合后的波形以及分離后的語音波形圖。
圖8 電話按鍵聲與原始語音的混合與分離
圖9 白噪聲與原始語音的混合與分離
圖10 水流聲與原始語音的混合與分離
圖12 鳥叫聲與原始語音的混合與分離
本文主要采用主觀評價的評價意見分(Mean Opinion Score,MOS)和信噪比SNR 來對實驗結(jié)果進(jìn)行評估[15],MOS評估標(biāo)準(zhǔn)如表1所示。本文對參與本實驗評估的60 個人的MOS 分值取均值,得出最后的分?jǐn)?shù)。分離語音的信噪比SNR 的計算公式如式(10),其中x?(m)為分離后的語音信號,x(m)為原始信號。
表1 MOS值評分標(biāo)準(zhǔn)
上述實驗中將五種噪聲與原始語音按一定信噪比混合然后進(jìn)行分離實驗,表2 給出了分離前后的MOS評分和信噪比SNR的對比。
表2 分離前后評估表
從分離后的語音波形圖和表2 中的數(shù)據(jù)可以看出,經(jīng)過分離處理后的語音質(zhì)量得到了明顯的改善,噪音得到大幅度的消減,且聽覺效果得到較好的改善。但當(dāng)噪音干擾過強(qiáng),人耳已經(jīng)難以分辨時,分離的效果并不是很好,關(guān)于強(qiáng)噪音下的語音分離還有待改善和研究。
本文介紹了計算聽覺場景分析的原理和基于該原理的語音分離方法。該方法中較為重要的步驟是基音周期的提取,本文采用倒譜法來確定基音周期,后根據(jù)基音周期確定濁音段語音信號頻譜上的諧波位置,對提取的頻譜做反變換重構(gòu)原信號。實驗表明,該方法可有效提高語音信號的信噪比和可讀性。