本發(fā)明涉及信號(hào)處理技術(shù)領(lǐng)域,具體而言,涉及一種基于有色噪聲的語(yǔ)音增強(qiáng)方法。
背景技術(shù):
隨著科技的進(jìn)步和人民生活水平的提高,用戶對(duì)居住環(huán)境提出了更高的需求,越來(lái)越注重家居生活的舒適、安全與便捷。智能家居旨在融合計(jì)算機(jī)、自動(dòng)化控制、人工智能和網(wǎng)絡(luò)通訊各項(xiàng)技術(shù)于一體,將家居環(huán)境下的各種設(shè)備終端,比如照明設(shè)備、音視頻設(shè)備、安防系統(tǒng)、網(wǎng)絡(luò)家電等家庭網(wǎng)絡(luò)連接在一起,實(shí)現(xiàn)家居環(huán)境的智能控制。
語(yǔ)音是人與人之間最便捷的交互方式,智能語(yǔ)音技術(shù)對(duì)于改變家居環(huán)境下對(duì)電視、音箱、照明設(shè)備等控制方式有著重大革新意義,識(shí)賦予人與各終端設(shè)備良好溝通的重要橋梁。
發(fā)明人研究發(fā)現(xiàn),在真實(shí)家居場(chǎng)景下,用戶發(fā)出語(yǔ)音指令的同時(shí),通過(guò)伴隨各種各樣的噪聲,比如電視的聲音、音樂(lè)等。通常需要進(jìn)行語(yǔ)音增強(qiáng)。然而在語(yǔ)音增強(qiáng)的過(guò)程中,提高信噪比(snr)與提高可懂度通常是相互矛盾的。在濾除噪聲的同時(shí)或多或少會(huì)損傷語(yǔ)音信號(hào)。通常,噪聲濾除的越多,語(yǔ)音可懂度損害就越多,特別在低snr下這一矛盾更為突出。
傳統(tǒng)的譜減法、維納濾波法是在頻域中進(jìn)行分析的,計(jì)算量比較小,降噪效果不理想。而基于信號(hào)子空間的語(yǔ)音降噪算法,是將帶噪語(yǔ)音信號(hào)投影到兩個(gè)子空間中,一個(gè)是語(yǔ)音信號(hào)子空間,另一個(gè)是噪聲子空間,通過(guò)去除噪聲子空間,由語(yǔ)音信號(hào)子空間來(lái)重構(gòu)語(yǔ)音信號(hào),從而達(dá)到良好的降噪效果,但該方法屬于單通道語(yǔ)音降噪算法,只適用于白噪聲環(huán)境下的語(yǔ)音降噪,降噪后的語(yǔ)音通常伴有音樂(lè)噪聲。專利cn1014660055提供了一種麥克風(fēng)陣列語(yǔ)音增強(qiáng)技術(shù),通過(guò)自適應(yīng)濾波器用一個(gè)麥克風(fēng)接收到的噪聲抵消另一個(gè)麥克風(fēng)接收到的信號(hào)中的噪聲成分,保留語(yǔ)音成分,但是降噪的同時(shí)也會(huì)損害到語(yǔ)音。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例針對(duì)語(yǔ)音增強(qiáng)過(guò)程中在濾除噪音的同時(shí)會(huì)損害語(yǔ)音信號(hào),導(dǎo)致語(yǔ)音的可懂度下降的技術(shù)問(wèn)題,提供一種基于有色噪聲的語(yǔ)音增強(qiáng)方法。
本發(fā)明是這樣實(shí)施的:
一種基于有色噪聲的語(yǔ)音增強(qiáng)方法,包括以下步驟:
步驟1,建立雙麥克風(fēng)陣列,接收得到兩個(gè)通道的帶噪語(yǔ)音信號(hào),帶噪語(yǔ)音信號(hào)經(jīng)過(guò)時(shí)延補(bǔ)償模塊,以使兩個(gè)通道的帶噪語(yǔ)音信號(hào)同步;
步驟2,得到帶噪語(yǔ)音信號(hào)數(shù)據(jù)的協(xié)方差矩陣,并進(jìn)行特征值分解,將帶噪語(yǔ)音信號(hào)空間分為信號(hào)子空間和噪聲子空間;
步驟3,采用子空間法處理得到相對(duì)純凈的語(yǔ)音處理信號(hào);
步驟4,在信號(hào)子空間內(nèi)對(duì)語(yǔ)音處理信號(hào)進(jìn)行最小均方方差估計(jì),計(jì)算最小均方誤差。
在步驟1中,
s11,對(duì)麥克風(fēng)接收到的兩個(gè)通道的帶噪語(yǔ)音信號(hào)分別進(jìn)行預(yù)處理,預(yù)處理包括對(duì)帶噪語(yǔ)音信號(hào)進(jìn)行采樣處理,然后進(jìn)行分幀處理,將分幀處理后的每幀信號(hào)進(jìn)行加窗處理。
s12,經(jīng)預(yù)處理后的帶噪語(yǔ)音信號(hào)經(jīng)過(guò)時(shí)延補(bǔ)償模塊,使兩個(gè)麥克風(fēng)的帶噪語(yǔ)音信號(hào)準(zhǔn)確同步,具體為:
雙麥克風(fēng)陣列采集的兩個(gè)通道的帶噪語(yǔ)音信號(hào)分別為x0(n)和x1(n),進(jìn)行傅立葉變換到頻域,然后輸入到時(shí)延估計(jì)單元計(jì)算x0(n)和x1(n)的相位差τ0和τ1,根據(jù)相位差計(jì)算出兩個(gè)通道信號(hào)的相對(duì)延時(shí)ω0。
然后,進(jìn)行延時(shí)-求和波束形成,表示為:
x(n)=ω0(n)x0(n-τ0)+ω1(n)x1(n-τ1),該過(guò)程可在某些程度上消除混響,并初略的對(duì)語(yǔ)音進(jìn)行降噪。
在步驟2中,
s21,雙麥克風(fēng)陣列接收到帶噪語(yǔ)音信號(hào)為x(n),計(jì)算得到帶噪語(yǔ)音信號(hào)的協(xié)方差矩陣為:
其中,x(n)表示帶噪語(yǔ)音信號(hào),e[·]表示求矩陣期望,上標(biāo)h表示共軛轉(zhuǎn)置,rs表示純凈語(yǔ)音信號(hào)的協(xié)方差矩陣,rn表示噪聲信號(hào)的協(xié)方差矩陣;。
s22,對(duì)協(xié)方差矩陣rx進(jìn)行特征值分解,表示為:
rx=uλxut;
其中,λx為rx的k個(gè)特征值構(gòu)成的k維對(duì)角陣,λx的所有特征值中有m個(gè)較大的特征值,0<m<k,而其余k-m個(gè)特征值很小,都等于σn2,σn2表示噪聲方差。
令u=[usup」,u是矩陣rx的特征向量矩陣,因而u是正交矩陣,滿足:
i=uxuxt+upupt
其中,i為k維單位矩陣;us為信號(hào)子空間,包含目標(biāo)語(yǔ)音信號(hào)和噪聲;up為噪聲子空間,只包含噪聲。
在步驟3中,
s31,對(duì)帶噪語(yǔ)音信號(hào)進(jìn)行kl變換,表示為:
e{utx}=0;
cov{utx}=diag(λx,1+σn2i,σn2i);
cov{uptx}=σn2i;
其中,u是矩陣rx的特征向量矩陣,up為噪聲子空間,λx,1為rx的特征值構(gòu)成的對(duì)角陣;
向量uptx中的語(yǔ)音信號(hào)能量為零,即便是噪聲,在估計(jì)純凈語(yǔ)音信號(hào)時(shí),此向量可以被直接去除,得到相對(duì)純凈的所述語(yǔ)音處理信號(hào)。
s32,將信號(hào)子空間的特征值減去噪聲子空間的特征值,得到相對(duì)純凈的語(yǔ)音處理信號(hào),表示為:λs=λx-λn;其中,λs為相對(duì)純凈的語(yǔ)音處理信號(hào)的特征值,λx為信號(hào)子空間的特征值,λn為噪聲子空間的特征值。
在步驟4中,
s41,將噪聲子空間up的kl分量置零,表示為:
e{utx}=0;
cov{utx}=diag(λx,1+σn2i,σn2i);
cov{uptx}=σn2i;
s42,在信號(hào)子空間us內(nèi)對(duì)先相對(duì)純凈的語(yǔ)音處理信號(hào)的kl分量進(jìn)行最小均方誤差估計(jì),具體為:
先驗(yàn)信噪比ξk表示為:
后驗(yàn)信噪比γk表示為:
其中,xk為帶噪語(yǔ)音信號(hào)x的傅里葉變換,λs(k)為第k個(gè)頻率分量下的語(yǔ)音方差,λn(k)為第k個(gè)頻率分量下的噪聲方差,sk為純凈語(yǔ)音的傅里葉變化,nk為噪聲的傅里葉變換;
得到ξk和γk后,定義νk為:
s43,mmse增益:
s44,通過(guò)kl逆變換,輸出增強(qiáng)語(yǔ)音信號(hào)。
本發(fā)明的有益效果是:該方法利用雙麥陣列獲得兩個(gè)通道的帶噪語(yǔ)音信號(hào),兩個(gè)麥克風(fēng)的帶噪語(yǔ)音信號(hào)通過(guò)時(shí)延補(bǔ)償準(zhǔn)備同步。然后通過(guò)子空間算法和最小均方誤差估計(jì)法的結(jié)合,能夠有效解決信號(hào)子空間單通道算法所產(chǎn)生的音樂(lè)噪聲,在實(shí)現(xiàn)降噪的同時(shí),有效保證語(yǔ)音信號(hào)的可懂度。方法簡(jiǎn)單,容易實(shí)現(xiàn),且不僅對(duì)合成的帶噪語(yǔ)音具有良好的降噪效果,對(duì)實(shí)際場(chǎng)景中的帶噪語(yǔ)音也具有良好的降噪效果。此外,該語(yǔ)音增強(qiáng)方法不僅對(duì)白噪聲有良好的降噪效果,且對(duì)noise92庫(kù)里的其他噪聲,如babble噪聲、pink噪聲、leopard噪聲、volvo噪聲等,也具有良好的降噪效果。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì)范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1為本發(fā)明實(shí)施例的原理示意圖;
圖2為本發(fā)明實(shí)施例的步驟1的原理示意圖;
圖3為babble+white噪聲經(jīng)過(guò)最小均方誤差算法、子空間算法和本實(shí)施例改進(jìn)算法后的分段信噪比;
圖4為leopard+white噪聲經(jīng)過(guò)最小均方誤差算法、子空間算法和本實(shí)施例改進(jìn)算法后的分段信噪比;
圖5為pink+white噪聲經(jīng)過(guò)最小均方誤差算法、子空間算法和本實(shí)施例改進(jìn)算法后的分段信噪比;
圖6為volvo+white噪聲經(jīng)過(guò)最小均方誤差算法、子空間算法和本實(shí)施例改進(jìn)算法后的分段信噪比;
圖7為空調(diào)噪聲下的帶噪語(yǔ)音在不同算法下的增強(qiáng)語(yǔ)音譜圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來(lái)布置和設(shè)計(jì)。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
步驟1:建立雙麥克風(fēng)陣列,接收得到兩個(gè)通道的帶噪語(yǔ)音信號(hào),帶噪語(yǔ)音信號(hào)經(jīng)過(guò)時(shí)延補(bǔ)償模塊,以使兩個(gè)通道的帶噪語(yǔ)音信號(hào)同步;
s11,對(duì)麥克風(fēng)接收到的兩個(gè)通道的帶噪語(yǔ)音信號(hào)分別進(jìn)行預(yù)處理,預(yù)處理包括對(duì)帶噪語(yǔ)音信號(hào)進(jìn)行采樣處理,然后進(jìn)行分幀處理,將分幀處理后的每幀信號(hào)進(jìn)行加窗處理,步驟如下:
采樣得到帶噪語(yǔ)音信號(hào)xi,然后進(jìn)行分幀處理(i=1,2),每幀n個(gè)采樣點(diǎn),或幀長(zhǎng)12ms~30ms,設(shè)m幀信號(hào)是di(m,n),其中0≤n<n,0≤m;相鄰兩幀有m個(gè)采樣點(diǎn)的混疊,即當(dāng)前幀的前m個(gè)采樣點(diǎn)時(shí)前一幀的最后m個(gè)采樣點(diǎn),每幀有l(wèi)=n-m個(gè)采樣點(diǎn)的新數(shù)據(jù),每m幀數(shù)據(jù)為di(m,n)=xi(m*l+n)。將分幀處理后的每幀信號(hào)進(jìn)行加窗處理,采用窗函數(shù)win(n),加窗后的信號(hào)為gi(m,n)=win(n)*di(m,n)。窗函數(shù)可以選擇漢明窗、漢寧窗等窗函數(shù)。
s12,經(jīng)預(yù)處理后的帶噪語(yǔ)音信號(hào)經(jīng)過(guò)時(shí)延補(bǔ)償模塊,使兩個(gè)麥克風(fēng)的帶噪語(yǔ)音信號(hào)準(zhǔn)確同步:
如圖2所示,雙麥克風(fēng)陣列采集的兩個(gè)通道的帶噪語(yǔ)音信號(hào)分別為x0(n)和x1(n),進(jìn)行傅立葉變換到頻域,然后輸入到時(shí)延估計(jì)單元計(jì)算x0(n)和x1(n)的相位差τ0和τ1,根據(jù)相位差τ0計(jì)算出兩個(gè)通道信號(hào)的相對(duì)延時(shí)ω0,使x0(n)和x1(n)準(zhǔn)確同步。
進(jìn)行延時(shí)-求和波束形成,表示為:
x(n)=ω0(n)x0(n-τ0)+ω1(n)x1(n-τ1)。
該過(guò)程可在某些程度上消除混響,并初略的對(duì)語(yǔ)音進(jìn)行降噪。
步驟2,得到帶噪語(yǔ)音信號(hào)數(shù)據(jù)的協(xié)方差矩陣,并進(jìn)行特征值分解,將帶噪語(yǔ)音信號(hào)空間分為信號(hào)子空間和噪聲子空間;
s21,雙麥克風(fēng)陣列接收到帶噪語(yǔ)音信號(hào)為x(n),計(jì)算得到帶噪語(yǔ)音信號(hào)的協(xié)方差矩陣為:
其中,x(n)表示帶噪語(yǔ)音信號(hào),e[·]表示求矩陣期望,上標(biāo)h表示共軛轉(zhuǎn)置,rs表示純凈語(yǔ)音信號(hào)的協(xié)方差矩陣,rn表示噪聲信號(hào)的協(xié)方差矩陣;。
s22,對(duì)協(xié)方差矩陣rx進(jìn)行特征值分解,表示為:
rx=uλxut;
其中,λx為rx的k個(gè)特征值構(gòu)成的k維對(duì)角陣,λx的所有特征值中有m個(gè)較大的特征值,0<m<k,而其余k-m個(gè)特征值很小,都等于σn2,σn2表示噪聲方差。
令u=[usup」,u是矩陣rx的特征向量矩陣,因而u是正交矩陣,滿足:
i=uxuxt+upupt
其中,i為k維單位矩陣;us為信號(hào)子空間,包含目標(biāo)語(yǔ)音信號(hào)和噪聲;up為噪聲子空間,只包含噪聲。
步驟3,采用子空間法處理得到相對(duì)純凈的語(yǔ)音處理信號(hào);
s31,對(duì)帶噪語(yǔ)音信號(hào)進(jìn)行kl變換,表示為:
e{utx}=0;
cov{utx}=diag(λx,1+σn2i,σn2i);
cov{uptx}=σn2i;
其中,u是矩陣rx的特征向量矩陣,up為噪聲子空間,λx,1為rx的特征值構(gòu)成的對(duì)角陣;即向量uptx中的語(yǔ)音信號(hào)能量為零,即便是噪聲,在估計(jì)純凈語(yǔ)音信號(hào)時(shí),此向量可以被直接去除。
s32,將信號(hào)子空間的特征值減去噪聲子空間的特征值,得到相對(duì)純凈的語(yǔ)音處理信號(hào),表示為:λs=λx-λn。
其中,λs為相對(duì)純凈的語(yǔ)音處理信號(hào)的特征值,λx為信號(hào)子空間的特征值,λn為噪聲子空間的特征值。
步驟4,在信號(hào)子空間內(nèi)對(duì)語(yǔ)音處理信號(hào)進(jìn)行最小均方方差估計(jì),計(jì)算最小均方誤差。
s41,在信號(hào)子空間us內(nèi)對(duì)先相對(duì)純凈的語(yǔ)音處理信號(hào)的kl分量進(jìn)行最小均方誤差估計(jì),具體為:
先驗(yàn)信噪比ξk表示為:
后驗(yàn)信噪比γk表示為:
其中,xk為帶噪語(yǔ)音信號(hào)x的傅里葉變換,λs(k)為第k個(gè)頻率分量下的語(yǔ)音方差,λn(k)為第k個(gè)頻率分量下的噪聲方差,sk為純凈語(yǔ)音的傅里葉變化,nk為噪聲的傅里葉變換;
得到ξk和γk后,定義νk為:
s42,經(jīng)過(guò)mmse(最小均方誤差算法)增益:
s43,通過(guò)kl逆變換,輸出增強(qiáng)語(yǔ)音信號(hào)。
本發(fā)明的效果可通過(guò)以下仿真說(shuō)明:
通過(guò)matlab仿真,仿真條件為:采樣頻率fs=32000hz,信號(hào)傳播速度c=340m/s,幀長(zhǎng)為256ms,步長(zhǎng)為幀長(zhǎng)的一半,第k個(gè)頻率分量的語(yǔ)音存在概率假設(shè)為0.2,取前2000采樣點(diǎn)用于噪聲估計(jì),麥克風(fēng)數(shù)量m=2,陣元間距離采用信號(hào)波長(zhǎng)的一半。仿真結(jié)果得到原始帶噪語(yǔ)音、最小均方誤差算法、子空間算法和本設(shè)計(jì)的改進(jìn)算法的分段信噪比(snrseg)。snrseg建立在度量均方誤差基礎(chǔ)上,是基于幀的信噪比,是每一幀語(yǔ)音信號(hào)信噪比的均值。仿真結(jié)構(gòu)如圖3~6所示。如圖3~6所示,相比于最小均方誤差算法(mmse)和子空間算法,本實(shí)施例提供的改進(jìn)算法在四種噪聲環(huán)境(babble+white噪聲、leopard+white噪聲、pink+white噪聲、volvo+white噪聲)均具有良好的信噪比值。
圖7給出了空調(diào)噪聲下的帶噪語(yǔ)音經(jīng)過(guò)不同算法去噪后的語(yǔ)音譜圖。從圖7可以看出,子空間算法對(duì)語(yǔ)音本身的損傷較大,mmse算法雖然對(duì)有用語(yǔ)音失真較小,但是對(duì)低頻段的噪聲的降噪效果并不如意。而本實(shí)施例的改進(jìn)算法不僅對(duì)噪聲具有較好的降噪效果而且對(duì)語(yǔ)音的損傷也做到了最小失真,最大限度保證了純凈語(yǔ)音的可懂度。
綜上,本本發(fā)明實(shí)施例提供的語(yǔ)音增強(qiáng)方法不僅對(duì)合成的帶噪語(yǔ)音具有良好降噪效果,且對(duì)實(shí)際的帶噪語(yǔ)音也有較好降噪效果。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。