專利名稱:一種語音降噪方法
技術(shù)領(lǐng)域:
本發(fā)明涉及語音降噪領(lǐng)域,特別涉及一種應用于車內(nèi)噪聲譜緩慢變化環(huán)境下的語 音降噪方法。
背景技術(shù):
隨著科技的發(fā)展,現(xiàn)代化交通工具座艙中的噪聲污染成為人們關(guān)注的話題。如何 在這種相對封閉的環(huán)境中盡量降低由于發(fā)動機運轉(zhuǎn)、氣流與車身摩擦及空調(diào)風扇等所帶來 的噪聲污染,從而得到令人滿意的休息和語音交流的環(huán)境,成為國內(nèi)外研究的熱點。針對這一需求,就要采用以提高車內(nèi)語音信噪比(Signal to NoiseRatio,SNR)為 目標的信噪分離技術(shù)。為此,現(xiàn)有技術(shù)中提出了基于小波的噪聲檢測技術(shù)、基于麥克風陣列 的降噪方法以及基于噪聲譜相減的信噪分離技術(shù)。通過上述方法和技術(shù)提高了車內(nèi)語音信 噪比,減少了噪聲污染。發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)上述現(xiàn)有技術(shù)至少存在以下缺點和不足小波技術(shù)由于過于復雜,難以在當前數(shù)字信號處理器上實現(xiàn);而麥克風陣列降噪 受限于麥克風數(shù)量和陣列形狀,不適合頭戴式耳機的應用。由于車內(nèi)噪聲譜在一段時間內(nèi) 趨近于平穩(wěn),當前針對這一特點,采用噪聲譜相減技術(shù)可以較容易的提高語音信號的信噪 比,具體方法為在無語音通信階段提前統(tǒng)計出穩(wěn)態(tài)噪聲的譜特性,在有語音段從語音和噪 聲的混合信號中減去噪聲譜,從而得到純凈的語音信號。但是,車內(nèi)噪聲的穩(wěn)態(tài)性并不是絕 對的,在一段時間內(nèi)會產(chǎn)生緩慢變化,并且在不同車速和路況條件下其譜分布也并不相同。 因此若單純采用此種方法在實際應用中會產(chǎn)生較大的誤差,甚至進一步降低輸入信號的信 噪比。
發(fā)明內(nèi)容
為了能更準確的獲取到語音信號,提高輸出信號的信噪比,本發(fā)明提供了一種語 音降噪方法,所述方法包括以下步驟(1)將輸入的信號按照分幀規(guī)則進行分幀;(2)判斷當前幀的開始是否為一段語音信號的起始點,如果是,執(zhí)行步驟(3);如 果否,更新起始點之前的噪聲平均功率譜,并準備處理下一幀,執(zhí)行步驟(2);(3)獲取當前幀混合信號的功率譜;(4)根據(jù)步驟(2)中獲取到的噪聲平均功率譜和步驟(3)中獲取到的混合信號的 功率譜,獲取純凈語音信號的功率譜,獲取并輸出時域波形,并準備處理下一幀;(5)判斷當前幀的開始是否為語音信號的終止點,如果是,執(zhí)行步驟(6);如果否, 執(zhí)行步驟⑶;(6)清空上次計算噪聲平均功率譜過程中得到的NXFrame_Length長度緩沖區(qū)中 的數(shù)據(jù),執(zhí)行步驟(9),其中,N為幀的數(shù)量,F(xiàn)rame_Length為一幀采樣點數(shù);(7)判斷當前幀開始是否為語音信號的起始點,如果是,執(zhí)行步驟⑶;如果否,執(zhí)行步驟(9);(8)判斷無語音段是否達到固定長度NXFrame^ength,如果是,使用當前更新得到的噪聲平均功率譜,執(zhí)行步驟(3);如果否,將上一無語音段中獲取到的噪聲平均功率譜 作為當前的噪聲平均功率譜,執(zhí)行步驟(3);(9)將所有的N幀數(shù)據(jù)左移一幀,將當前幀作為第N幀數(shù)據(jù),更新噪聲平均功率譜, 并準備處理下一幀,執(zhí)行步驟(7)。步驟(8)中的所述如果否,將上一無語音段中獲取到的噪聲平均功率譜作為當前 的噪聲平均功率譜,具體為無語音段小于固定長度,為一段連續(xù)語音的短暫停頓或是由于語音動態(tài)檢測誤將 語音段誤判為噪聲段,造成對噪聲平均功率譜統(tǒng)計錯誤,不進行噪聲平均功率譜更新,將上 一無語音段中獲取到的噪聲平均功率譜作為當前的噪聲平均功率譜。步驟(9)中的所述將所有的N幀數(shù)據(jù)左移一幀,將當前幀作為第N幀數(shù)據(jù),具體 為將所有的N幀數(shù)據(jù)左移1幀,舍棄原有的第1幀數(shù)據(jù),原有的第2幀數(shù)據(jù)作為當前 的第1幀數(shù)據(jù),以此類推,最后將當前幀作為第N幀數(shù)據(jù)。步驟⑵、(5)、(7)和⑶中所述的判斷方法,具體為語音動態(tài)檢測。步驟(2)、(8)和(9)中所述的更新噪聲平均功率譜,具體為獲取每一幀的功率譜,再對所有幀的功率譜取平均,將平均后的功率譜作為更新 后的噪聲平均功率譜。本發(fā)明實施例提供的技術(shù)方案的有益效果是通過采用語音端點檢測,獲取到語音段的起始和終止位置,并通過在無語音段時 實時更新噪聲譜的方式跟蹤噪聲的變化,由于在語音段總是采用之前最新更新的噪聲譜進 行功率譜相減,因此能夠最大限度減小噪聲不斷緩慢變化所帶來的誤差;同時在語音動態(tài) 檢測后設(shè)置了噪聲最短長度限制,最大程度的避免了在連續(xù)語音段中將語音誤檢為噪聲, 造成對噪聲平均功率譜統(tǒng)計錯誤的情況,從而進一步地獲取到更準確的語音信號,提高輸 出信號的信噪比,滿足了實際應用中的需要。
圖1是本發(fā)明實施例提供的語音降噪方法的流程圖;圖2是本發(fā)明實施例提供的N0ISEX-92噪聲庫中Volvo汽車內(nèi)噪聲頻譜;圖3是本發(fā)明實施例提供的錄制的長安汽車內(nèi)噪聲頻譜;圖4是本發(fā)明實施例提供的更新噪聲及獲得當前噪聲功率譜示意圖;圖5是本發(fā)明實施例提供的輸出信噪比的對比示意圖;圖6是本發(fā)明實施例提供的輸出信噪比的對比示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方 式作進一步地詳細描述。為了能更準確的獲取到語音信號,提高輸出信號的信噪比,本發(fā)明實施例提供了一種語音降噪方法,參見圖1,該方法內(nèi)容如下本發(fā)明實施例提供的語音降噪方法基于語音動態(tài)檢測(Voice ActivityDetection, VAD)技術(shù)和噪聲譜相減技術(shù)。VAD技術(shù)最早應用于語音識別系統(tǒng),通 過準確判斷單詞、詞組的起始點和終止點,可以更好的提取語音中的參數(shù)信息并且和語音 庫中的參數(shù)信息相比較,提高語音識別的準確性。VAD技術(shù)主要依賴于一幀信號的能量和 ZCR(Zero Crossing Rate,過零率)兩個特征參數(shù),其依據(jù)是背景噪聲與語音的短時段能量 和ZCR特征從統(tǒng)計上看存在有相當大的區(qū)別。將VAD技術(shù)和噪聲譜相減技術(shù)相結(jié)合,通過合理的噪聲模型更新方式,就可以在無語音時段統(tǒng)計、更新噪聲模型,而在有語音時段從混合信號的譜中減去當前最新的噪聲 譜,從而獲得純凈的語音信號。語音動態(tài)檢測技術(shù)由于幀長劃分、參數(shù)選擇、判決模式的不同而不可避免的存在 誤差。針對以語音通信為目標的應用,就要人為設(shè)置一定條件,避免在語音通信過程中單詞 之間,短句之間存在過多的間斷,保持語音通信的連續(xù)性;同時為了避免在統(tǒng)計噪聲模型時 被語音信號所干擾,就要避免將語音誤判為噪聲的情況,而適當允許將噪聲誤判為語音的 情況。因此,這樣的應用場合也對該方法提出了特殊的要求。詳細的實現(xiàn)方法參見下文描述101 將輸入的信號按照分幀規(guī)則進行分幀;上述分幀規(guī)則具體為每一幀具有相同的采樣點數(shù),可以表示為Frame_Length。102:通過語音動態(tài)檢測判斷當前幀的開始是否為一段語音信號的起始點,如果 是,執(zhí)行步驟103 ;如果否,更新起始點之前噪聲平均功率譜,并準備處理下一幀,重新執(zhí)行 步驟102 ;具體地,上述語音動態(tài)檢測方法可以為雙門限判決法、LSPE (Least-Square Periodicity Estimator,最小均方差周期估計法)、GAET (Geometrically Adaptive Energy Threshold,幾何自適應能量閾值法)等檢測方法,具體實現(xiàn)時,本發(fā)明實施例對此不做限 制。在實際應用中,通常需要經(jīng)過多次檢測才會獲取到起始點,對起始點之前的噪聲 平均功率譜進行更新。例如經(jīng)過3次檢測才獲取到起始點,即第3幀的開始為語音信號的 起始點,所經(jīng)歷的過程具體為第1幀時,通過語音動態(tài)檢測判斷出沒有獲取到語音信號的 起始點,則計算第1幀噪聲的功率譜;按照分幀規(guī)則進行分幀,第2幀時,通過語音動態(tài)檢測 判斷出沒有獲取到語音信號的起始點,則計算第2幀噪聲的功率譜;按照分幀規(guī)則進行分 幀,第3幀時,通過語音動態(tài)檢測判斷出獲取到了語音信號的起始點,則執(zhí)行步驟103,并將 前兩幀的噪聲功率譜進行平均,(第1幀噪聲的功率譜+第2幀噪聲的功率譜)/2,來獲取 到第1幀和第2幀的噪聲平均功率譜。103 獲取當前幀混合信號的功率譜;104 根據(jù)步驟102中獲取到的噪聲平均功率譜和步驟103中獲取到的混合信號的 功率譜,獲取純凈語音信號的功率譜;具體地,根據(jù)噪聲平均功率譜、混合信號的功率譜,采用譜減法,獲取純凈語音信 號的功率譜,也可以采用自適應濾波等方法獲取到純凈語音信號的功率譜,具體實現(xiàn)時,本 發(fā)明實施例對此不做限制,本發(fā)明實施例優(yōu)選地通過譜減法獲取純凈語音信號的功率譜。
由于在語音段總是采用之前最新更新的噪聲平均功率譜進行功率譜相減,因此能 夠最大限度減小噪聲不斷緩慢變化所帶來的誤差,從而獲取到更準確的語音信號。105 對步驟104中獲取到的純凈語音信號的功率譜進行傅立葉反變換,獲取當前 幀語音信號的時域波形,并將獲取到的波形輸出,并準備處理下一幀;具體地,上述將獲取到的波形輸出表明當前幀數(shù)據(jù)處理完。
106:通過語音動態(tài)檢測判斷當前幀的開始是否為語音信號的終止點,如果是,執(zhí) 行步驟107 ;如果否,重新執(zhí)行步驟103 ;具體地,當檢測到語音信號的起始點后,又檢測到語音信號的終止點,則,表明這 一段語音信號處理完畢,進入無語音段,即,語音段和無語音段交替排列。其中,上述判斷當 前幀的開始是否為語音信號的終止點可以采用步驟102中所描述的通過語音動態(tài)檢測判 決來實現(xiàn),在此不再贅述。107 清空上次計算噪聲平均功率譜中得到的NXFrame_Length長度緩沖區(qū)中的 數(shù)據(jù),執(zhí)行步驟110;其中,N為幀的數(shù)量,F(xiàn)rame_Length為一幀采樣點數(shù),N的取值和實際應用中的混 合信號的采樣率、環(huán)境噪聲的穩(wěn)定程度等因素有關(guān),具體實現(xiàn)時,本發(fā)明實施例對此不做限 制。108:通過語音動態(tài)檢測判斷當前幀的開始是否為語音信號的起始點,如果是,執(zhí) 行步驟109 ;如果否,執(zhí)行步驟110 ;109 以NXFrame_Length為固定長度,判斷無語音段是否達到固定長度,如果是, 使用當前更新得到的噪聲平均功率譜,并重新執(zhí)行步驟103 ;如果否,則將上一無語音段中 獲取到的噪聲平均功率譜作為當前的噪聲平均功率譜,并重新執(zhí)行步驟103,直到輸入的信 號結(jié)束;當無語音段長度沒有達到固定長度,S卩小于固定長度時,則視為一段連續(xù)語音的 短暫停頓,進而不進行噪聲平均功率譜更新,仍然使用上一次噪聲平均功率譜。由于在語音動態(tài)檢測后設(shè)置了噪聲長度限制,最大程度的避免了在連續(xù)語音段中 將語音誤檢為噪聲的情況,提高了噪聲模型的準確性,進一步獲取到更準確的語音信號。110 將所有的N幀數(shù)據(jù)左移一幀,將當前幀作為第N幀數(shù)據(jù),更新噪聲平均功率 譜,并準備處理下一幀,重新執(zhí)行步驟108。將所有的N幀數(shù)據(jù)左移一幀,將當前幀作為第N幀數(shù)據(jù),具體為將所有的N幀數(shù) 據(jù)左移1幀,舍棄原有的第1幀數(shù)據(jù),原有的第2幀數(shù)據(jù)作為當前的第1幀數(shù)據(jù),以此類推, 最后將當前幀作為第N幀數(shù)據(jù)。例如以N為20為例,當已經(jīng)檢測了 20幀沒有獲取到起始點,則已經(jīng)達到固定長 度(即緩沖區(qū)中20幀數(shù)據(jù)已經(jīng)排滿),此時再檢測第21幀,通過語音動態(tài)檢測判斷出還沒 有獲取到起始點(即第21幀仍為噪聲),則,將原有的20幀數(shù)據(jù)左移1幀,從而舍棄原有 的第1幀數(shù)據(jù),即原有的第2幀數(shù)據(jù)作為當前的第1幀數(shù)據(jù),將當前幀(即第21幀)作為 第20幀數(shù)據(jù),即以第2幀到第21幀這20幀數(shù)據(jù),計算當前噪聲平均功率譜(即先計算每 一幀的功率譜,再對這20幀的功率譜取平均,將平均后的功率譜作為更新后的噪聲平均功 率譜)。綜上所述,本發(fā)明實施例提供了一種語音降噪方法,該方法通過采用語音端點檢測,獲取到語音段的起始和終止位置,并通過在無語音段時實時更新噪聲譜的方式跟蹤噪 聲的變化,由于在語音段總是采用之前最新更新的噪聲譜進行功率譜相減,因此能夠最大 限度減小噪聲不斷緩慢變化所帶來的誤差;同時在語音動態(tài)檢測后設(shè)置了噪聲最短長度限 制,最大程度的避免了在連續(xù)語音段中將語音誤檢為噪聲,造成對噪聲平均功率譜統(tǒng)計錯 誤的情況,從而進一步提高了噪聲模型的準確性,從而獲取到更準確的語音信號,提高輸出 信號的信噪比,滿足了實際應用中的需要。本發(fā)明 實施例以2個簡單的試驗來驗證本發(fā)明實施例提供的方法的有效性。本實 驗是基于PC機matlab6. 5環(huán)境下的,實驗所用的噪聲分別為N0ISEX-92噪聲庫中volvo汽 車內(nèi)部噪聲(120km/h,雨天環(huán)境,浙青路面)文件V0lV0_n. wav和自己錄制的長安汽車內(nèi)部 噪聲(Okm/h,晴天)文件changarun. wav,均為16kHz采樣,持續(xù)時長26秒,其頻譜分別如 圖2、3所示;語音信號為16kHz采樣的英文對話,持續(xù)時長26秒,其時域波形如圖4所示。實驗1:本實驗測試在噪聲頻譜分布不變情況下,信噪比緩慢變化時本方法的性能。讀取V0lV0_n. wav文件中噪聲信號并乘以一線性函數(shù)(斜坡函數(shù)、三角波函數(shù)), 再與語音信號疊加作為輸入信號,使其輸入信噪比在Odb至20db之間緩慢變化,共生成4 個測試輸入信號,分別為輸入信號1 信噪比從開始的Odb緩慢增大到最后的20db ;輸入信號2 信噪比從開始的20db緩慢減小到最后的Odb ;輸入信號3 信噪比從開始的Odb緩慢增大到中間的20db,再緩慢減小到最后的 Odb ;輸入信號4 信噪比從開始的20db緩慢減小到中間的Odb,在緩慢增大到最后的 20db。讀取輸入混合信號,以長度Frame_Length = 256進行分幀,幀移Frame_Inc = 128,采用雙門限判決法進行語音動態(tài)檢測,設(shè)定能量門限ampl = 10,amp2 = 2,過零率門 限 zcrl = 10,zcr2 = 5,設(shè)定 N = 20。圖5中給出了在相同的語音動態(tài)檢測機制及參數(shù)的情況下,采用本發(fā)明實施例提 供的方法和采用固定噪聲模型方法得到的輸出信噪比的示意圖,圖5中的曲線1為采用本 發(fā)明實施例提供的方法得到的輸出信噪比,曲線2為采用固定噪聲模型方法得到的輸出信 噪比,從圖5中可以看出,采用本發(fā)明實施例提供的方法可以獲取到較高的信噪比,滿足了 實際應用中的需要。實驗2 本實驗測試在信噪比不變情況下,噪聲頻譜分布變化時本方法的性能。實驗步驟與實驗1相同,所不同的是輸入的是噪聲信號,該噪聲信號是V0lV0_ η. wav和changarun. wav兩種噪聲交替出現(xiàn)的信號,且保持輸入信噪比不變,具體描述參見 表1 表1輸入的噪聲信號 注V表示加入該噪聲,X表示不加入該噪聲圖6中給出了在相同的語音動態(tài)檢測機制及參數(shù)的情況下,采用本發(fā)明實施例提 供的方法和采用固定噪聲模型方法得到的輸出信噪比的示意圖,圖6中的曲線1為采用本 發(fā)明實施例提供的方法得到的輸出信噪比,曲線2為采用固定噪聲模型方法得到的輸出信 噪比,從圖6中可以看出,采用本發(fā)明實施例提供的方法可以獲取到較高的信噪比,滿足了 實際應用中的需要。通過上述2個實驗驗證,可以看出本發(fā)明實施例提供的方法的可行性,可以獲取 到較高的信噪比,滿足了實際應用中的需要。本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,上述本發(fā)明實施例 序號僅僅為了描述,不代表實施例的優(yōu)劣。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
一種語音降噪方法,其特征在于,所述方法包括以下步驟(1)將輸入的信號按照分幀規(guī)則進行分幀;(2)判斷當前幀的開始是否為一段語音信號的起始點,如果是,執(zhí)行步驟(3);如果否,更新起始點之前的噪聲平均功率譜,并準備處理下一幀,執(zhí)行步驟(2);(3)獲取當前幀混合信號的功率譜;(4)根據(jù)步驟(2)中獲取到的噪聲平均功率譜和步驟(3)中獲取到的混合信號的功率譜,獲取純凈語音信號的功率譜,獲取并輸出時域波形,并準備處理下一幀;(5)判斷當前幀的開始是否為語音信號的終止點,如果是,執(zhí)行步驟(6);如果否,執(zhí)行步驟(3);(6)清空上次計算噪聲平均功率譜過程中得到的N×Frame_Length長度緩沖區(qū)中的數(shù)據(jù),執(zhí)行步驟(9),其中,N為幀的數(shù)量,F(xiàn)rame_Length為一幀采樣點數(shù);(7)判斷當前幀開始是否為語音信號的起始點,如果是,執(zhí)行步驟(8);如果否,執(zhí)行步驟(9);(8)判斷無語音段是否達到固定長度N×Frame_Length,如果是,使用當前更新得到的噪聲平均功率譜,執(zhí)行步驟(3);如果否,將上一無語音段中獲取到的噪聲平均功率譜作為當前的噪聲平均功率譜,執(zhí)行步驟(3);(9)將所有的N幀數(shù)據(jù)左移一幀,將當前幀作為第N幀數(shù)據(jù),更新噪聲平均功率譜,并準備處理下一幀,執(zhí)行步驟(7)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟(8)中的所述如果否,將上一無語音 段中獲取到的噪聲平均功率譜作為當前的噪聲平均功率譜,具體為無語音段小于固定長度,為一段連續(xù)語音的短暫停頓或是由于語音動態(tài)檢測誤將語音 段誤判為噪聲段,造成對噪聲平均功率譜統(tǒng)計錯誤,不進行噪聲平均功率譜更新,將上一無 語音段中獲取到的噪聲平均功率譜作為當前的噪聲平均功率譜。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟(9)中的所述將所有的N幀數(shù)據(jù)左移 一幀,將當前幀作為第N幀數(shù)據(jù),具體為將所有的N幀數(shù)據(jù)左移1幀,舍棄原有的第1幀數(shù)據(jù),原有的第2幀數(shù)據(jù)作為當前的第 1幀數(shù)據(jù),以此類推,最后將當前幀作為第N幀數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟(2)、(5)、(7)和(8)中所述的判斷 方法,具體為語音動態(tài)檢測。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟(2)、(8)和(9)中所述的更新噪聲 平均功率譜,具體為獲取每一幀的功率譜,再對所有幀的功率譜取平均,將平均后的功率譜作為更新后的 噪聲平均功率譜。
全文摘要
本發(fā)明公開了一種語音降噪方法,涉及語音降噪領(lǐng)域,通過采用語音端點檢測,獲取到語音段的起始和終止位置,并通過在無語音段時實時更新噪聲譜的方式跟蹤噪聲的變化,由于在語音段總是采用之前最新更新的噪聲譜進行功率譜相減,因此能夠最大限度減小噪聲不斷緩慢變化所帶來的誤差;同時在語音動態(tài)檢測后設(shè)置了噪聲最短長度限制,最大程度的避免了在連續(xù)語音段中將語音誤檢為噪聲,造成對噪聲平均功率譜統(tǒng)計錯誤的情況,從而進一步地獲取到更準確的語音信號,提高輸出信號的信噪比,滿足了實際應用中的需要。
文檔編號G10L11/02GK101866652SQ20101016909
公開日2010年10月20日 申請日期2010年5月11日 優(yōu)先權(quán)日2010年5月11日
發(fā)明者馮硯儒, 張濤, 張雯, 李海, 趙亮 申請人:天津大學