本發(fā)明涉及處理音頻信號,并且更具體地涉及使用該信號的相位來增強有噪音頻語音信號。
背景技術(shù):
在語音增強中,目的是獲得“增強語音”,其是對有噪語音處理后的版本,在某種意義上更接近真正的“純凈語音”或“目標語音”。
應(yīng)注意,純凈語音被認為僅能在訓練期間獲得,而不能在系統(tǒng)的真實使用期間獲得。對于訓練,可以利用近講麥克風來獲得純凈語音,而可以利用同時錄音的遠場麥克風來獲得有噪語音。或者,給定單獨的純凈語音信號和噪聲信號,可以將所述信號疊加在一起以獲得有噪語音信號,其中可以將純凈語音和有噪語音對一起用于訓練。
語音增強和語音識別可以被認為是不同卻相關(guān)的問題。良好的語音增強系統(tǒng)當然可以用作語音識別系統(tǒng)的輸入模塊。反過來,語音識別可能被用于改善語音增強,因為識別包含附加的信息。然而,并不清楚如何共同構(gòu)建用于增強任務(wù)和識別任務(wù)兩者的多任務(wù)循環(huán)(recurrent)神經(jīng)網(wǎng)絡(luò)系統(tǒng)。
在本文中,我們把語音增強當作從“有噪語音”獲得“增強語音”的問題。另一方面,術(shù)語語音分離是指將“目標語音”從背景信號分離出來,其中,背景信號可以是任何其它非語音音頻信號,或者甚至是不感興趣的其它非目標語音信號。我們所使用的術(shù)語語音增強還包括語音分離,因為我們把所有背景信號的組合都視為噪聲。
在語音分離和語音增強應(yīng)用中,通常在短時傅里葉變換(stft)域中進行處理。stft獲得信號的復(fù)域頻譜-時間(或時間-頻率)表示。觀測到的有噪信號的stft可以被寫為目標語音信號的stft和噪聲信號的stft之和。信號的stft是復(fù)數(shù),并且求和是在復(fù)域中進行。然而,在常規(guī)方法中,相位被忽略,并且假設(shè)觀測到的信號的stft的幅度等于目標音頻和噪聲信號的stft的幅度之和,這是粗略的假設(shè)。因此,現(xiàn)有技術(shù)中的焦點已經(jīng)在給定有噪語音信號作為輸入的情況下對“目標語音”的幅度預(yù)測上。在從其stft重建時域增強信號期間,有噪信號的相位被用作增強語音的stft的估計相位。這一點通常通過聲稱增強語音的相位的最小均方誤差(mmse)估計是有噪信號的相位來進行證明。
技術(shù)實現(xiàn)要素:
本發(fā)明的實施方式提供了一種將有噪語音信號轉(zhuǎn)換為增強語音信號的方法。
通過自動語音識別(asr)系統(tǒng)來處理有噪語音以產(chǎn)生asr特征。asr特征與有噪語音頻譜特征組合,并利用在訓練過程中學習到的網(wǎng)絡(luò)參數(shù)被傳遞給深度循環(huán)神經(jīng)網(wǎng)絡(luò)(drnn),以產(chǎn)生掩蔽,該掩蔽應(yīng)用到有噪語音以產(chǎn)生增強語音。
語音在短時傅立葉變換(stft)域中處理。雖然存在多種用于從有噪語音計算增強語音的stft幅度的方法,但我們專注于基于深度循環(huán)神經(jīng)網(wǎng)絡(luò)(drnn)的方案。這些方案使用從有噪語音信號的stft獲得的特征作為輸入,以在輸出獲得增強語音信號的stft的幅度。這些有噪語音信號特征可以是頻譜幅度、頻譜功率或它們的對數(shù),可以使用從有噪信號的stft獲得的對數(shù)梅爾濾波器組特征,或其它類似的頻譜-時間特征。
在我們的基于循環(huán)神經(jīng)網(wǎng)絡(luò)的系統(tǒng)中,循環(huán)神經(jīng)網(wǎng)絡(luò)預(yù)測“掩蔽”或“濾波器”,其直接乘以有噪語音信號的stft,以獲得增強信號的stft?!把诒巍睂τ诿總€時間頻率窗具有0到1之間的值,并且理想地是語音幅度除以語音和噪聲分量的幅度之和的比。該“理想掩蔽”被稱為理想比掩蔽(idealratiomask),其在系統(tǒng)的真實使用期間是未知的,但可在訓練期間獲得。由于實值掩蔽與有噪信號的stft相乘,因此增強語音默認最后使用有噪信號的stft的相位。當我們將掩蔽應(yīng)用到有噪信號的stft的幅度部分時,我們稱該掩蔽為“幅度掩蔽”,以表示其僅被應(yīng)用于有噪輸入的幅度部分。
通過最小化目標函數(shù)來執(zhí)行神經(jīng)網(wǎng)絡(luò)訓練,該目標函數(shù)量化純凈語音目標與通過網(wǎng)絡(luò)使用“網(wǎng)絡(luò)參數(shù)”獲得的增強語音之間的差異。訓練程序旨在確定使神經(jīng)網(wǎng)絡(luò)的輸出和純凈語音目標最接近的網(wǎng)絡(luò)參數(shù)。網(wǎng)絡(luò)訓練通常使用反向傳播通過時間(bptt)算法完成,其需要在每次迭代時計算目標函數(shù)關(guān)于網(wǎng)絡(luò)參數(shù)的梯度。
我們使用深度循環(huán)神經(jīng)網(wǎng)絡(luò)(drnn)來執(zhí)行語音增強。drnn可以是用于低延遲(在線)應(yīng)用的長短時記憶(lstm)網(wǎng)絡(luò),或如果延遲不是問題,則可以是雙向長短時記憶網(wǎng)絡(luò)(blstm)drnn。深度循環(huán)神經(jīng)網(wǎng)絡(luò)也可以是其它現(xiàn)代rnn類型,諸如門控rnn或時鐘驅(qū)動rnn。
在另一實施方式中,在估計過程中考慮音頻信號的幅度和相位。相位感知處理涉及幾個不同的方面:
在所謂的相位敏感信號近似(psa)技術(shù)中,當僅預(yù)測目標幅度時,使用目標函數(shù)中的相位信息;
使用深度循環(huán)神經(jīng)網(wǎng)絡(luò)、采用能夠更好地預(yù)測增強信號的幅度和相位兩者的適當?shù)哪繕撕瘮?shù),來預(yù)測幅度和相位兩者;
使用輸入的相位作為預(yù)測幅度和相位的系統(tǒng)的附加輸入;以及
在深度循環(huán)神經(jīng)網(wǎng)絡(luò)中,使用諸如麥克風陣列的多聲道音頻信號的所有幅度和相位。
應(yīng)注意,該想法適用于其它類型的音頻信號的增強。例如,音頻信號可以包括其中識別任務(wù)是音樂轉(zhuǎn)錄的音樂信號,或者其中識別任務(wù)可以是將動物聲音分類成各種類別的動物聲音,以及其中識別任務(wù)可以是檢測和區(qū)分某些制音事件和/或目標的環(huán)境聲音。
附圖說明
[圖1]
圖1是使用asr特征將有噪語音信號轉(zhuǎn)換為增強語音信號的方法的流程圖;
[圖2]
圖2是圖1中的方法的訓練過程的流程圖;
[圖3]
圖3是共同語音識別和增強方法的流程圖;
[圖4]
圖4是通過預(yù)測相位信息并利用幅度掩蔽將有噪音頻信號轉(zhuǎn)換為增強音頻信號的方法的流程圖;以及
[圖5]
圖5是圖4中的方法的訓練過程的流程圖。
具體實施方式
圖1示出了將有噪語音信號112轉(zhuǎn)換為增強語音信號190的方法。也就是說,該轉(zhuǎn)換增強了有噪語音。本文所描述的所有語音和音頻信號可以是由單個或多個麥克風101從環(huán)境102獲取的單聲道或多聲道,例如,環(huán)境可以具有來自諸如一個或更多個人、動物、樂器等源的音頻輸入。對于我們的問題,源中的一個是我們的“目標音頻”(主要是“目標語音”),音頻中的其它源被視為背景。
在音頻信號是語音的情況下,通過自動語音識別(asr)系統(tǒng)170來處理有噪語音,以產(chǎn)生asr特征180,例如以“對齊信息向量”的形式。asr可以是常規(guī)的。利用網(wǎng)絡(luò)參數(shù)140通過深度循環(huán)神經(jīng)網(wǎng)絡(luò)(drnn)150來處理與有噪語音的stft特征組合的asr特征。可以使用下面描述的訓練過程來學習該參數(shù)。
drnn產(chǎn)生掩蔽160。然后,在語音估計165期間,將該掩蔽應(yīng)用到有噪語音以產(chǎn)生增強語音190。如下所述,可以迭代增強和識別步驟。也就是說,在獲得增強語音之后,該增強語音可以被用來獲得更好的asr結(jié)果,其可以在隨后的迭代期間被用作新的輸入。迭代可以持續(xù)進行直到達到終止條件,例如,預(yù)定的迭代次數(shù),或者直到當前增強語音與來自先前迭代的增強語音之間的差小于預(yù)定閾值。
如本領(lǐng)域已知的,可以在通過總線連接到存儲器和輸入/輸出接口的處理器100中執(zhí)行該方法。
圖2示出了訓練過程的要素。這里,有噪語音和對應(yīng)的純凈語音111被存儲在數(shù)據(jù)庫110中。確定目標函數(shù)(有時稱為“成本函數(shù)”或“誤差函數(shù)”)120。該目標函數(shù)量化了增強語音與純凈語音之間的差異。通過最小化訓練期間的目標函數(shù),網(wǎng)絡(luò)學習以產(chǎn)生類似于純凈信號的增強信號。目標函數(shù)用于執(zhí)行drnn訓練130以確定網(wǎng)絡(luò)參數(shù)140。
圖3示出了執(zhí)行共同識別和增強的方法的要素。這里,共同目標函數(shù)320測量純凈語音信號111及增強語音信號190及參考文本113(即,識別出的語音)與所產(chǎn)生的識別結(jié)果355之間的差異。在這種情況下,共同識別和增強網(wǎng)絡(luò)350還產(chǎn)生識別結(jié)果355,其也在確定共同目標函數(shù)320時使用。識別結(jié)果可以是asr狀態(tài)、音素或詞序列等的形式。
共同目標函數(shù)是增強任務(wù)目標函數(shù)和識別任務(wù)目標函數(shù)的加權(quán)和。對于增強任務(wù),目標函數(shù)可以是掩蔽近似(ma)、幅度頻譜近似(msa)或相位敏感頻譜近似(psa)。對于識別任務(wù),目標函數(shù)可以簡單地是使用狀態(tài)或音素作為目標類別的交叉熵成本函數(shù),或者可能是序列鑒別目標函數(shù),諸如使用假設(shè)網(wǎng)格計算出的最小音素錯誤(mpe)、增強型最大互信息(bmmi)。
另選地,如虛線所示,識別結(jié)果355和增強語音190可以作為附加輸入反饋到共同識別和增強模塊350。
圖4示出了使用輸出增強音頻信號的估計相位455和幅度掩蔽460的增強網(wǎng)絡(luò)(drnn)450的方法,其采用從其幅度和相位412二者得到的有噪音頻信號特征作為輸入,并使用預(yù)測的相位455和幅度掩蔽460來獲得465增強音頻信號490。通過一個或更多個麥克風401從環(huán)境402獲取有噪音頻信號。然后從相位和幅度掩蔽獲得增強音頻信號490。
圖5示出了類似的訓練過程。在這種情況下,增強網(wǎng)絡(luò)450使用相位敏感目標函數(shù)。使用信號的幅度和相位來處理所有音頻信號,并且目標函數(shù)420也是相位敏感的,即,目標函數(shù)使用復(fù)域差。相位預(yù)測和相位敏感目標函數(shù)提高了增強音頻信號490中的信噪比(snr)。
細節(jié)
語言模型已被整合到基于模型的語音分離系統(tǒng)中。與概率模型相反,前饋神經(jīng)網(wǎng)絡(luò)僅支持從輸入到輸出的一個方向的信息流。
本發(fā)明部分地基于語音增強網(wǎng)絡(luò)能夠從識別出的狀態(tài)序列受益并且識別系統(tǒng)能夠從語音增強系統(tǒng)的輸出受益的認識。在沒有完全整合的系統(tǒng)的情況下,可以設(shè)想一個系統(tǒng),該系統(tǒng)在增強與識別之間交替,以在這兩個任務(wù)中獲益。
因此,我們使用在第一次通過期間在有噪語音上訓練的噪聲-魯棒的識別器。識別出的狀態(tài)序列與有噪語音特征組合,并用作被訓練以重建增強語音的循環(huán)神經(jīng)網(wǎng)絡(luò)的輸入。
現(xiàn)代語音識別系統(tǒng)利用多層次的語言信息。語言模型找到詞序列的概率。使用手工制作或?qū)W習的詞典查找表將詞映射到音素序列。音素被建模為三狀態(tài)左至右隱馬爾可夫模型(hmm),其中每個狀態(tài)分布通常依賴于上下文,主要關(guān)于在音素的左邊和右邊的上下文窗口中存在什么音素。
可以跨不同的音素和上下文綁定hmm狀態(tài)。這可以使用上下文依存關(guān)系樹來實現(xiàn)??梢允褂酶鞣N級別的與感興趣的幀的語言單元對齊來完成幀級別的識別輸出信息的結(jié)合。
因此,我們整合了語音識別和增強問題。針對要被增強的所輸入的每一幀,一種架構(gòu)使用幀級別對齊狀態(tài)序列或從語音識別器接收到的幀級別對齊音素序列信息。對齊信息也可以是詞級別對齊。
提供對齊信息作為添加到lstm網(wǎng)絡(luò)的輸入的額外特征。我們可以使用對齊信息的不同類型的特征。例如,我們可以使用1-hot表示來指示幀級別狀態(tài)或音素。當針對依賴上下文的狀態(tài)完成時,這會產(chǎn)生大的向量,其會導致學習困難。我們還可以使用通過對每個狀態(tài)或音素的從訓練數(shù)據(jù)計算出的頻譜特征進行平均而得到的連續(xù)特征。這產(chǎn)生較短的輸入表示,并且提供每個狀態(tài)的某種保持相似性的編碼。如果信息與有噪頻譜輸入處于相同的域中,則在找到語音增強掩蔽時可以更容易地為網(wǎng)絡(luò)使用。
本發(fā)明的另一方面是在下一階段將來自兩個系統(tǒng)的反饋作為輸入。這種反饋可以以“迭代的方式”執(zhí)行,以進一步提升性能。
在多任務(wù)學習中,目的是構(gòu)建同時針對不同目標學習“好的”特征的結(jié)構(gòu)。目的是通過學習目標來提升單獨任務(wù)的執(zhí)行。
用于幅度預(yù)測的相位敏感目標函數(shù)
我們描述了對blstm-drnn450所使用的目標函數(shù)的改進。通常,在現(xiàn)有技術(shù)中,網(wǎng)絡(luò)對應(yīng)用到有噪音頻頻譜的濾波器或頻域掩蔽進行估計,以產(chǎn)生純凈語音頻譜的估計。目標函數(shù)確定音頻估計與純凈音頻目標之間的幅度譜域中的誤差。重建的音頻估計保留有噪音頻信號的相位。
然而,當使用有噪相位時,相位誤差與幅度相互作用,并且利用與純凈音頻幅度不同的幅度來獲得關(guān)于snr的最佳重建。這里,我們考慮直接使用基于復(fù)頻譜中的誤差的相位敏感目標函數(shù),該誤差包括幅度誤差和相位誤差二者。這允許所估計的幅度對使用有噪相位進行補償。
利用時間-頻率掩蔽的分離
時間-頻率濾波方法對要乘以有噪音頻的頻域特征表示的濾波器或掩蔽函數(shù)進行估計以形成純凈音頻信號的估計。我們定義經(jīng)由時域信號的窗口幀的離散傅里葉變換獲得的有噪音頻yf,t、噪聲nf,t和音頻sf,t的復(fù)短時譜。之后,我們省略了通過f,t的索引并考慮單個時間頻率窗。
假定估計掩蔽函數(shù)
可以使用各種目標函數(shù),例如,掩蔽近似(ma)和信號近似(sa)。ma目標函數(shù)使用y和s計算目標掩蔽,然后將估計出的掩蔽與目標掩蔽之間的誤差測量為
sa目標將經(jīng)濾波的信號與目標純凈音頻之間的誤差測量為
針對ma方案中的a*,使用了各種“理想”掩蔽。最常見的是所謂的“理想二制掩蔽”(ibm)以及“理想比掩蔽”(irm)。
用于計算音頻估計
表2
用于源分離和增強的相位預(yù)測
這里,我們描述用于預(yù)測相位以及音頻源分離和音頻源增強應(yīng)用中的幅度的方法。該設(shè)置涉及使用用于執(zhí)行目標信號的幅度和相位的預(yù)測的神經(jīng)網(wǎng)絡(luò)w。我們假定(一組)混合(或有噪)信號y(τ),其是目標信號(或源)s*(τ)與來自不同源的其它背景信號之和。我們從y(τ)恢復(fù)s*(τ)。用yt,f和
簡單方案
在簡單方案中,
其中,w是網(wǎng)絡(luò)的權(quán)重,并且b是所有時間-頻率索引的集合。網(wǎng)絡(luò)可以將
其中re和im是實部和虛部。
復(fù)數(shù)濾波器方案
通常情況下,對要應(yīng)用到有噪音頻信號的濾波器進行估計會更好,因為當信號純凈時,濾波器可以變?yōu)橐?unity),使得輸入信號是輸出信號的估計
其中,at,f是由網(wǎng)絡(luò)估計的實數(shù),其表示純凈信號與有噪信號的幅度之間的比率。我們包括了
組合方案
當信號接近純凈時,復(fù)數(shù)濾波方案效果最佳,但是當信號非常嘈雜時,系統(tǒng)必須估計有噪信號與純凈信號之間的差異。在這種情況下,直接估計純凈信號可能會更好。有鑒于此,我們可以讓網(wǎng)絡(luò)決定使用哪種方法,借助于軟門(softgate)αt,f,其是網(wǎng)絡(luò)的另一輸出且取值在零和一之間,并被用于針對每一時間頻率輸出選擇簡單方案和復(fù)數(shù)濾波器方案的線性組合
其中,當有噪信號近似等于純凈信號時,αt,f通常被設(shè)置成一,并且rt,f、θt,f表示網(wǎng)絡(luò)對純凈信號的幅度和相位的最佳估計。在這種情況下,網(wǎng)絡(luò)的輸出是
[αt,f,at,f,φt,f,rt,f,θt,f]t,f∈b=fw(y),
其中w是網(wǎng)絡(luò)中的權(quán)重。
簡化組合方案
該組合方案可能具有太多的參數(shù),這可能是不期望的。我們可以將所述組合方案簡化如下。當αt,f=1時,網(wǎng)絡(luò)將輸入直接傳遞到輸出,這樣我們就不需要對掩蔽進行估計了。因此,當αt,f=1時,我們將掩蔽設(shè)置成一并忽略掩蔽參數(shù)
其中,當有噪信號近似等于純凈信號時,αt,f通常還被設(shè)置成一,并且當其不是一時,我們確定
(1-αt,f)rt,fθt,f,
這表示網(wǎng)絡(luò)對αt,fyt,f與
[αt,f,rt,f,θt,f]t,f∈b=fw(y),
其中w是網(wǎng)絡(luò)中的權(quán)重。注意,組合方案和簡化組合方案都是冗余表示,并且可以有多組參數(shù)獲得相同的估計。