本發(fā)明涉及智能語音交互領(lǐng)域,尤其涉及一種環(huán)噪消除系統(tǒng)及其應(yīng)用方法。
背景技術(shù):
隨著機器人的應(yīng)用領(lǐng)域擴大和人工智能技術(shù)的飛速發(fā)展,面向普通家庭的智能機器人開始被人們關(guān)注。面向家庭的智能機器人是一種有別于工業(yè)控制機器人的具有一定外界感知能力及處理能力的擬人機器系統(tǒng)。家庭機器人不同于傳統(tǒng)工業(yè)機器人,其最重要的特征就是便于交互,而最自然的交互方式就是語音交互,然而人與機器的語音交互存在極大的不確定性,其中關(guān)鍵問題之一就是日常環(huán)境噪聲對有效語音的影響較大,日常環(huán)境中的噪聲會導(dǎo)致機器人無法識別或誤識別人類的語音,最后導(dǎo)致語音交互的效果大打折扣。目前大多數(shù)應(yīng)用于家庭的智能機器人由于缺少對環(huán)境噪聲的有效消除方法,在信噪比較低的環(huán)境中幾乎無法正常工作。而另外一些智能設(shè)備多將應(yīng)用于傳統(tǒng)電話通信領(lǐng)域的語音增強技術(shù)應(yīng)用于家庭智能設(shè)備上,應(yīng)用于電話通信的傳統(tǒng)環(huán)境噪聲消除與語音增強技術(shù)大多對說話人和設(shè)備的交互距離提出了一定的限制。除此之外,一些應(yīng)用于傳統(tǒng)電話通信領(lǐng)域的語音增強技術(shù)僅對穩(wěn)態(tài)噪聲有較好的效果,對日常環(huán)境中的一些非穩(wěn)態(tài)噪聲則效果較差。
家庭智能機器人是一個全新的領(lǐng)域,目前環(huán)境噪聲消除技術(shù)針對 該領(lǐng)域還沒有較深的研究和應(yīng)用,傳統(tǒng)的環(huán)境噪聲消除技術(shù)多用于電話通信,這些技術(shù)的主要目的是防止環(huán)境背景噪聲對通信質(zhì)量的影響。目前基于語音交互的智能設(shè)備使用的常見環(huán)境噪聲消除技術(shù)多來自傳統(tǒng)電話通信的已有技術(shù),這些技術(shù)有頻譜相減法,維納濾波法,自適應(yīng)噪聲抵消法。這些方法應(yīng)用到機器人領(lǐng)域都存在一些問題。頻譜相減法是一種用語音段幅值均值減去無語音段間隙取得噪聲均值,然后利用噪聲均值做噪聲消除的方法,該方法對非穩(wěn)態(tài)噪聲有較差的效果,容易造成噪聲消除后的語音失真,從而導(dǎo)致語音識別率下降。維納濾波法則是利用維納濾波器的傳遞函數(shù),將噪聲幅值均值與語音段幅值進行卷積,得到噪聲消除后信號的幅值信息。維納濾波法不會造成較嚴重的語音失真,并且能有效的抑制環(huán)境中的變化范圍不大或較穩(wěn)定的噪聲。但是該方法是通過計算無聲期間的統(tǒng)計平均來估計噪聲功率譜來估計噪聲均值,這種估計是以噪聲功率譜在發(fā)聲前和發(fā)聲后變化不大作為前提下的,故在變化較大的非穩(wěn)態(tài)噪聲情況下,該方法無法獲得較好的降噪效果。另一種在智能設(shè)備上多采用的環(huán)境噪音消除方法是定向麥克風加自適應(yīng)噪聲抵消的方法,該方法使用一個全向麥克風用于收集環(huán)境噪音,一個定向麥克風收集用戶語音,然后針對兩種信號做自適應(yīng)降噪抵消來獲得純凈的語音信號。上述方法在傳統(tǒng)電話手機上有較好的環(huán)境噪音消除效果,而在機器人上卻無法適用。這是因為上述方法依賴定向麥克風來收集用戶語音,這就要求用戶和定向麥克風保持一定的距離和方向,顯然在家庭機器人環(huán)境下該方法無法適用。
技術(shù)實現(xiàn)要素:
鑒于上述問題,本發(fā)明提供一種環(huán)噪消除方法,應(yīng)用于家庭機器人,其特征在于,包括以下步驟:
步驟S1,一采集單元對所述機器人當前所處環(huán)境中的聲音信號進行采樣,獲取與所述聲音信號相匹配的音頻信號,并對所述音頻信號通過傅里葉變換分析獲取與所述音頻信號相匹配的采集頻譜信號,其中所述音頻信號由復(fù)數(shù)個音頻幀信號組成;
步驟S2,按照預(yù)定的方法判斷當前所述的音頻幀是否匹配一預(yù)設(shè)的語音幀;
步驟S3,于所述音頻幀匹配所述語音幀的狀態(tài)下,更新所述采集頻譜中每個所述音頻幀所對應(yīng)的一噪聲功率譜;
步驟S4,獲取所述采集頻譜中的所述噪聲功率譜的增益,并根據(jù)所述增益對所述采集頻譜進行傅里葉變換計算,形成一計算結(jié)果輸出;
步驟S5,對所述計算結(jié)果進行傅里葉逆變換,去除所述音頻信號中的噪聲以獲取有效音頻信號。
上述的方法,其特征在于,所述步驟3中還包括:
步驟31、于所述音頻幀不匹配所述語音幀的狀態(tài)下,讀取當前的所述噪聲功率譜;于所述噪聲功率譜為0的狀態(tài)下,執(zhí)行步驟33;
步驟32、根據(jù)所述噪聲功率譜和所述采集頻譜處理計算得到新功率噪聲譜,并將所述新功率噪聲譜賦值于所述功率噪聲譜;
步驟33、根據(jù)當算所處環(huán)境中的噪聲方差計算并更新所述噪聲功率譜。
上述的方法,其特征在于,所述步驟32中,所述噪聲功率譜和所述采集頻譜按照平滑處理方法得到新功率噪聲譜。
一種環(huán)噪消除系統(tǒng),應(yīng)用于家庭機器人中,其特征在于,包括:采集單元,用以對所述機器人當前所處環(huán)境中的聲音信號進行采樣獲取與所述聲音信號相匹配的音頻信號,并對所述音頻信號通過傅里葉變換分析獲取與所述音頻信號相匹配的采集頻譜信號,其中,所述聲音信號中包括噪聲信號,所述音頻信號由復(fù)數(shù)個音頻幀信號組成;
判斷單元,連接所述采集單元,用以按照預(yù)定的方法判斷當前所述的音頻幀是否匹配一預(yù)設(shè)的語音幀;并形成一判斷結(jié)果輸出;
更新單元,連接所述判斷單元,于所述判斷結(jié)果為所述音頻幀匹配所述語音幀的狀態(tài)下,更將所述采集頻譜中每個所述音頻幀所對應(yīng)的一噪聲功率譜;
計算單元,連接所述更新單元,獲取所述采集頻譜中的所述噪聲功率譜的增益,并根據(jù)所述增益對所述采集頻譜進行傅里葉變換計算,形成一計算結(jié)果輸出;
處理單元,連接所述計算單元,用以接收所述計算單元輸出的所述計算結(jié)果,對所述計算結(jié)果進行傅里葉逆變換處理,去除所述音頻信號中的噪聲以獲取有效音頻信號。
上述的系統(tǒng),其特征在于,所述采集單元中包括:
一緩沖單元,用以接收所述采集單元獲取的所述聲音信號
一微處理單元,連接所述緩沖單元,用以對所述緩沖單元中的所述聲音信號進行沖采樣處理。
上述的系統(tǒng),其特征在于,于所述緩沖單元中,所述聲音信號按照預(yù)定的音頻數(shù)據(jù)包形式存儲于所述緩沖單元中。
上述的系統(tǒng),其特征在于,所述音頻處理框架層還包括:
讀取單元,連接所述緩沖單元,用以讀取存儲于所述緩沖單元中的預(yù)定的所述音頻數(shù)據(jù)包。
上述的系統(tǒng),其特征在于,所述音頻數(shù)據(jù)包時長為10ms。
綜上所述,本發(fā)明設(shè)計的一種環(huán)噪消除系統(tǒng)及其應(yīng)用方法是應(yīng)用于以語音交互作為交互基礎(chǔ)的家庭智能機器人的環(huán)境噪音消除的完整軟件技術(shù)方案,解決傳統(tǒng)環(huán)境噪音消除對變化范圍較大的非穩(wěn)定噪聲效果不好的問題。
附圖說明
參考所附附圖,以更加充分的描述本發(fā)明的實施例。然而,所附附圖僅用于說明和闡述,并不構(gòu)成對本發(fā)明范圍的限制。
圖1為本發(fā)明算法流程示意圖。
具體實施方式
為了使本發(fā)明的技術(shù)方案及優(yōu)點更加易于理解,下面結(jié)合附圖作進一步詳細說明。應(yīng)當說明,此處所描述的具體實施例僅僅用以解釋 本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明的核心思想是:首先對音頻數(shù)據(jù)根據(jù)頻譜能量來檢測是否為有效語音起始幀,如果無有效語音,則統(tǒng)計平均的噪聲方差作為噪聲功率譜的初始值。當檢測到有效語音起始幀后,根據(jù)噪聲功率譜的估計來判斷當前信號是噪聲還是有效語音信號。如果是噪聲,則對將之前的噪聲功率譜與當前幀的功率譜做平滑處理,更新對噪聲功率譜的估計,如果是語音,則更新當前語音幀頻譜中每個點的噪聲功率譜,然后使用最小均方誤差判別法計算出當前幀的純凈音傅里葉變化的估值,然后使用反傅里葉變換得到環(huán)境音消除后的當前幀。
所以本發(fā)明涉及一種環(huán)噪消除方法,該方法應(yīng)用于家庭機器人,其中包括有以下步驟:
步驟S1,一采集單元對機器人當前所處環(huán)境中的聲音信號進行采樣,獲取與聲音信號相匹配的音頻信號,并對音頻信號通過傅里葉變換分析獲取與音頻信號相匹配的采集頻譜信號,其中音頻信號由復(fù)數(shù)個音頻幀信號組成;
步驟S2,按照預(yù)定的方法判斷當前的音頻幀是否匹配一預(yù)設(shè)的語音幀;
步驟S3,于音頻幀匹配語音幀的狀態(tài)下,更新采集頻譜中每個音頻幀所對應(yīng)的一噪聲功率譜;
步驟S4,獲取采集頻譜中的噪聲功率譜的增益,并根據(jù)增益對采集頻譜進行傅里葉變換計算,形成一計算結(jié)果輸出;
步驟S5,對計算結(jié)果進行傅里葉逆變換,去除音頻信號中的噪聲以獲取有效音頻信號。
其中,在步驟S3中還包括:
步驟31、于音頻幀不匹配語音幀的狀態(tài)下,讀取當前的噪聲功率譜;于噪聲功率譜為0的狀態(tài)下,執(zhí)行步驟33;
步驟32、根據(jù)噪聲功率譜和采集頻譜處理計算得到新功率噪聲譜,并將新功率噪聲譜賦值于功率噪聲譜;
步驟33、根據(jù)當算所處環(huán)境中的噪聲方差計算并更新噪聲功率譜。
在步驟32中,噪聲功率譜和采集頻譜按照平滑處理方法得到新功率噪聲譜。
另外,本發(fā)明根據(jù)該環(huán)噪消除方法設(shè)計了一種環(huán)噪消除系統(tǒng),應(yīng)用于家庭機器人中,包括:
采集單元,用以對機器人當前所處環(huán)境中的聲音信號進行采樣獲取與聲音信號相匹配的音頻信號,并對音頻信號通過傅里葉變換分析獲取與音頻信號相匹配的采集頻譜信號,其中,聲音信號中包括噪聲信號,音頻信號由復(fù)數(shù)個音頻幀信號組成;
判斷單元,連接采集單元,用以按照預(yù)定的方法判斷當前的音頻幀是否匹配一預(yù)設(shè)的語音幀;并形成一判斷結(jié)果輸出;
更新單元,連接判斷單元,于判斷結(jié)果為音頻幀匹配語音幀的狀態(tài)下,更將采集頻譜中每個音頻幀所對應(yīng)的一噪聲功率譜;
計算單元,連接更新單元,獲取采集頻譜中的噪聲功率譜的增益,并根據(jù)增益對采集頻譜進行傅里葉變換計算,形成一計算結(jié)果輸出;
處理單元,連接計算單元,用以接收計算單元輸出的計算結(jié)果,對計算結(jié)果進行傅里葉逆變換處理,去除音頻信號中的噪聲以獲取有效音頻信號。
在本發(fā)明中,采集單元中包括:
一緩沖單元,用以接收采集單元獲取的聲音信號;
一微處理單元,連接緩沖單元,用以對緩沖單元中的聲音信號進行沖采樣處理。
在本發(fā)明中,于緩沖單元中,聲音信號按照預(yù)定的音頻數(shù)據(jù)包形式存儲于緩沖單元中。
在本發(fā)明中,音頻處理框架層還包括:
讀取單元,連接緩沖單元,用以讀取存儲于緩沖單元中的預(yù)定的音頻數(shù)據(jù)包。
下面結(jié)合實施例進行具體說明
針對目前只能機器人環(huán)境降噪碰到的問題,線提出一種應(yīng)用于智能家庭機器人的環(huán)境噪音消除技術(shù)方案:
一套預(yù)設(shè)嵌入式系統(tǒng)中實現(xiàn)音頻采集,處理的軟件系統(tǒng)層框架及音頻降噪處理算法,應(yīng)用于家庭智能機器人,其中軟件系統(tǒng)包括:
采集單元,用于從特定的音頻設(shè)備中采集音頻流數(shù)據(jù)的軟件驅(qū)動程序;
其中采集單元中還包括:
一個緩沖單元和微處理單元,緩沖單元用以接收采集單元獲取的聲音信號,微處理單元連接緩沖單元,用來對緩沖單元中的聲音信號進行重采樣處理,以及一讀取單元組成的降噪處理軟件層,讀取單元連接所述緩沖單元,用以讀取儲存在緩沖單元中的預(yù)定音頻數(shù)據(jù)包。其中微處理單元從緩沖單元中讀取音頻數(shù)據(jù)流后,并對音頻數(shù)據(jù)流進行必要的重采樣處理,然后切割成10毫秒的音頻數(shù)據(jù)包填充到緩沖單元,其中讀取單元用于從緩沖單元中讀取經(jīng)過預(yù)處理的音頻數(shù)據(jù)包,然后輸送到算法進行環(huán)境噪音消除處理;
判斷單元,與采集單元連接,用以按照預(yù)定的方法判斷當前音頻幀是否匹配一預(yù)設(shè)的語音幀,形成一判斷結(jié)果輸出,并適配不同的底層驅(qū)動以及上層應(yīng)用軟件的適配軟件程序;
更新單元,與該判斷單元連接,于判斷結(jié)果為音頻幀匹配語音幀的狀態(tài)下,更新采集頻譜中每個音頻幀對應(yīng)的一噪聲功率譜;
計算單元,獲取采集頻譜中的噪聲功率譜的增益,并根據(jù)增益對采集頻譜進行傅里葉變換計算,形成一計算結(jié)果輸出;
處理單元,連接計算單元,用以接受計算單元輸出的計算結(jié)果,對計算結(jié)果進行傅里葉逆變換處理,去除音頻中的噪聲以獲取有效音頻信號。
應(yīng)用接口,將獲取的有效音頻信號發(fā)送給上層應(yīng)用。
如圖1所示,針對上述系統(tǒng)的應(yīng)用,還涉及一種環(huán)噪消除的計算方法:
步驟S1,家庭智能機器人通過音頻設(shè)備采集聲音信號,獲取與聲音信號相匹配的音頻數(shù)據(jù),然后根據(jù)音頻數(shù)據(jù)的能量檢測該采集到的音頻數(shù)據(jù)是否為有效語音起始幀,如果檢測的結(jié)果顯示為無效的語音數(shù)據(jù),則統(tǒng)計一下平均的噪聲方差作為噪聲功率譜的初始值,如果檢測到的結(jié)果顯示為有效語音,則繼續(xù)進行下一步。
其中,在步驟S1中,家庭智能機器人通過對采集到的音頻數(shù)據(jù)進行離散傅里葉變換來得到被采集的音頻數(shù)據(jù)的頻譜,離散傅里葉變換是通過把信號從時間域變換到頻率域,進而研究信號的頻譜結(jié)構(gòu)和變化規(guī)律。
步驟S2,根據(jù)步驟S1中的統(tǒng)計的噪聲功率譜的估計來判斷采集到音頻數(shù)據(jù)是否為噪聲,如果是噪聲,則將該噪聲的功率譜和之前統(tǒng)計的噪聲功率譜做平滑處理,在進行完平滑處理后更新噪聲功率譜的估計,如果檢測到的不是噪聲,而是正常的命令語音,則進行下一步。
步驟S3,更新被采集到音頻數(shù)據(jù)的語音幀頻譜中每個點的噪聲功率譜,然后計算該音頻數(shù)據(jù)的純凈音傅里葉變化估值,在本發(fā)明中,通過使用最小均方誤差判別法計算該語音幀的純凈音傅里葉變化估值。
步驟S4,獲取采集頻譜中的噪聲功率增益,并根據(jù)增益對所采集頻譜進行傅里葉變換計算,形成一計算結(jié)果輸出。
步驟S5,去除被采集到音頻數(shù)據(jù)中的環(huán)境音,以獲得純凈音,這樣只能機器人就能很清楚的得到命令內(nèi)容,在本發(fā)明中,通過離散傅里葉逆變換去除音頻數(shù)據(jù)中的環(huán)境音。
所以在一個基于安卓嵌入式智能操作系統(tǒng)的基于語音交互的家庭智能機器人中,需要機器人在語音采集后進行環(huán)境噪音消除以提高語音識別正確率。
綜上所述,本發(fā)明設(shè)計的一種環(huán)噪消除系統(tǒng)及其應(yīng)用方法是應(yīng)用于以語音交互作為交互基礎(chǔ)的家庭智能機器人的環(huán)境噪音消除的完整軟件技術(shù)方案,解決傳統(tǒng)環(huán)境噪音消除對變化范圍較大的非穩(wěn)定噪聲效果不好的問題。
通過說明和附圖,給出了具體實施方式的特定結(jié)構(gòu)的典型實施例,基于本發(fā)明精神,還可作其他的轉(zhuǎn)換。盡管上述發(fā)明提出了現(xiàn)有的較佳實施例,然而,這些內(nèi)容并不作為局限。
對于本領(lǐng)域的技術(shù)人員而言,閱讀上述說明后,各種變化和修正無疑將顯而易見。因此,所附的權(quán)利要求書應(yīng)看作是涵蓋本發(fā)明的真實意圖和范圍的全部變化和修正。在權(quán)利要求書范圍內(nèi)任何和所有等價的范圍與內(nèi)容,都應(yīng)認為仍屬本發(fā)明的意圖和范圍內(nèi)。