本發(fā)明涉及音頻控制領(lǐng)域,尤其涉及音頻信號(hào)的自動(dòng)增益控制方法、音頻信號(hào)的自動(dòng)增益控制裝置。
背景技術(shù):
現(xiàn)有技術(shù)中,自動(dòng)增益控制(automaticgaincontrol,agc)的方法有很多種,在其工作過程中,增益控制模塊根據(jù)系統(tǒng)中反饋回路的幅度、閾值,采用一定的agc算法,對(duì)增益值進(jìn)行調(diào)整。這種方法實(shí)現(xiàn)了增益的自動(dòng)控制,但噪聲信號(hào)會(huì)和有用信號(hào)一起放大,不利于降噪處理。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種音頻信號(hào)的自動(dòng)增益控制的技術(shù)方案,以在自動(dòng)增益控制過程中降低噪聲的不利影響。
根據(jù)本發(fā)明的第一方面,提供了一種音頻信號(hào)的自動(dòng)增益控制方法,包括以下步驟:檢測(cè)麥克風(fēng)陣列拾取的音頻信號(hào)是否為語音信號(hào);當(dāng)音頻信號(hào)為語音信號(hào)時(shí),檢測(cè)音頻信號(hào)的聲源方向;如果音頻信號(hào)為語音信號(hào)并且音頻信號(hào)的聲源方向?yàn)轭A(yù)設(shè)方向,則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié);否則,音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲。
根據(jù)本發(fā)明的第二方面,提供了一種音頻信號(hào)的自動(dòng)增益控制方法,包括以下步驟:檢測(cè)麥克風(fēng)系統(tǒng)拾取的音頻信號(hào)是否為語音信號(hào);如果音頻信號(hào)不是語音信號(hào),則音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲;確定麥克風(fēng)系統(tǒng)是單麥克風(fēng)還是麥克風(fēng)陣列;如果音頻信號(hào)為語音信號(hào)并且麥克風(fēng)系統(tǒng)是單麥克風(fēng),則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié);如果音頻信號(hào)為語音信號(hào)并且麥克風(fēng)系統(tǒng)是麥克風(fēng)陣列,則檢測(cè)音頻信號(hào)的聲源方向是否為預(yù)設(shè)方向,如果是預(yù)設(shè)方向,則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié),否則,音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲。
可選地,所述方法應(yīng)用于語音交互過程中。
可選地,所述自動(dòng)增益控制程序包括以下步驟:比較音頻信號(hào)的輸出增益和目標(biāo)增益;如果音頻信號(hào)的輸出增益等于目標(biāo)增益,則保持音頻信號(hào)的輸出增益不變;如果音頻信號(hào)的輸出增益大于目標(biāo)增益,則執(zhí)行以下操作:將第一計(jì)數(shù)器的數(shù)值增加一并將第二計(jì)數(shù)器的數(shù)值清零;判斷是否滿足增益調(diào)低條件中的任何一個(gè),如果滿足,則將音頻信號(hào)的輸出增益調(diào)低一級(jí),否則保持音頻信號(hào)的輸出增益不變;所述增益調(diào)低條件為:音頻信號(hào)的輸出增益與目標(biāo)增益的差值絕對(duì)值大于第一閾值,或者,第一計(jì)數(shù)器的數(shù)值大于第二閾值;如果音頻信號(hào)的輸出增益小于目標(biāo)增益,則執(zhí)行以下操作:將第一計(jì)數(shù)器的數(shù)值清零并將第二計(jì)數(shù)器的數(shù)值增加一;判斷是否滿足增益調(diào)高條件中的任何一個(gè),如果滿足,則將音頻信號(hào)的輸出增益調(diào)高一級(jí),否則保持音頻信號(hào)的輸出增益不變;所述增益調(diào)高條件為:音頻信號(hào)的輸出增益與目標(biāo)增益的差值絕對(duì)值大于第三閾值,或者,第二計(jì)數(shù)器的數(shù)值大于第四閾值。
可選地,如果音頻信號(hào)的輸出增益等于目標(biāo)增益,則將第一計(jì)數(shù)器和第二計(jì)數(shù)器的數(shù)值清零。
根據(jù)本發(fā)明的第三方面,提供了一種音頻信號(hào)的自動(dòng)增益控制裝置,包括語音檢測(cè)模塊、聲源方向檢測(cè)模塊、以及增益調(diào)節(jié)模塊;所述語音檢測(cè)模塊,被配置為檢測(cè)麥克風(fēng)陣列拾取的音頻信號(hào)是否為語音信號(hào);所述聲源方向檢測(cè)模塊,被配置為當(dāng)音頻信號(hào)為語音信號(hào)時(shí),檢測(cè)音頻信號(hào)的聲源方向;所述增益調(diào)節(jié)模塊,被配置為如果音頻信號(hào)為語音信號(hào)并且音頻信號(hào)的聲源方向?yàn)轭A(yù)設(shè)方向,則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié);否則,音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲。
根據(jù)本發(fā)明的第四方面,提供了一種音頻信號(hào)的自動(dòng)增益控制裝置,所述裝置包括語音檢測(cè)模塊、聲源方向檢測(cè)模塊、以及增益調(diào)節(jié)模塊;所述語音檢測(cè)模塊,被配置為檢測(cè)麥克風(fēng)系統(tǒng)拾取的音頻信號(hào)是否為語音信號(hào);所述聲源方向檢測(cè)模塊,被配置為在麥克風(fēng)系統(tǒng)是麥克風(fēng)陣列的情況下,如果音頻信號(hào)為語音信號(hào),則檢測(cè)音頻信號(hào)的聲源方向;所述增益調(diào)節(jié)模塊,被配置為:在麥克風(fēng)系統(tǒng)是單麥克風(fēng)的情況下,如果音頻信號(hào)為語音信號(hào),則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié);否則,音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲;在麥克風(fēng)系統(tǒng)是麥克風(fēng)陣列的情況下,如果音頻信號(hào)為語音信號(hào)并且音頻信號(hào)的聲源方向?yàn)轭A(yù)設(shè)方向,則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié);否則,音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲。
可選地,所述裝置還包括第一計(jì)數(shù)器和第二計(jì)數(shù)器;所述增益調(diào)節(jié)模塊執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié),包括:比較音頻信號(hào)的輸出增益和目標(biāo)增益;如果音頻信號(hào)的輸出增益等于目標(biāo)增益,則保持音頻信號(hào)的輸出增益不變;如果音頻信號(hào)的輸出增益大于目標(biāo)增益,則執(zhí)行以下操作:將第一計(jì)數(shù)器的數(shù)值增加一并將第二計(jì)數(shù)器的數(shù)值清零;判斷是否滿足增益調(diào)低條件中的任何一個(gè),如果滿足,則將音頻信號(hào)的輸出增益調(diào)低一級(jí),否則保持音頻信號(hào)的輸出增益不變;所述增益調(diào)低條件為:音頻信號(hào)的輸出增益與目標(biāo)增益的差值絕對(duì)值大于第一閾值,或者,第一計(jì)數(shù)器的數(shù)值大于第二閾值;如果音頻信號(hào)的輸出增益小于目標(biāo)增益,則執(zhí)行以下操作:將第一計(jì)數(shù)器的數(shù)值清零并將第二計(jì)數(shù)器的數(shù)值增加一;判斷是否滿足增益調(diào)高條件中的任何一個(gè),如果滿足,則將音頻信號(hào)的輸出增益調(diào)高一級(jí),否則保持音頻信號(hào)的輸出增益不變;所述增益調(diào)高條件為:音頻信號(hào)的輸出增益與目標(biāo)增益的差值絕對(duì)值大于第三閾值,或者,第二計(jì)數(shù)器的數(shù)值大于第四閾值。
可選地,所述增益調(diào)節(jié)模塊執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié),還包括:如果音頻信號(hào)的輸出增益等于目標(biāo)增益,則將第一計(jì)數(shù)器和第二計(jì)數(shù)器的數(shù)值清零。
根據(jù)本發(fā)明的第五方面,提供了一種語音交互裝置,設(shè)有根據(jù)前述任一項(xiàng)所述的自動(dòng)增益控制裝置。
本發(fā)明通過語音檢測(cè)識(shí)別麥克風(fēng)陣列拾取的音頻信號(hào)是否為語音信號(hào),當(dāng)音頻信號(hào)為語音信號(hào)并且其聲源方向?yàn)轭A(yù)設(shè)方向時(shí),對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié),否則將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲。本發(fā)明實(shí)現(xiàn)了對(duì)音頻信號(hào)增益的智能控制。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹。應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì)范圍的限定。對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1示出了本發(fā)明第一實(shí)施例提供的音頻信號(hào)的自動(dòng)增益控制方法的流程示意圖。
圖2示出了本發(fā)明第二實(shí)施例提供的音頻信號(hào)的自動(dòng)增益控制方法的流程示意圖。
圖3示出了本發(fā)明第三實(shí)施例提供的音頻信號(hào)的自動(dòng)增益控制方法的流程示意圖。
圖4示出了本發(fā)明第一實(shí)施例提供的音頻信號(hào)的自動(dòng)增益控制裝置的框圖。
圖5示出了本發(fā)明第二實(shí)施例提供的音頻信號(hào)的自動(dòng)增益控制裝置的框圖。
圖6示出了本發(fā)明第三實(shí)施例提供的音頻信號(hào)的自動(dòng)增益控制裝置的框圖。
圖7示出了本發(fā)明第四實(shí)施例提供的音頻信號(hào)的自動(dòng)增益控制裝置的框圖。
圖8示出了本發(fā)明實(shí)施例提供的語音通信裝置的硬件配置的框圖。
具體實(shí)施方式
現(xiàn)在將參照附圖來詳細(xì)描述本發(fā)明的各種示例性實(shí)施例。應(yīng)注意到:除非另外具體說明,否則在這些實(shí)施例中闡述的部件和步驟的相對(duì)布置、數(shù)字表達(dá)式和數(shù)值不限制本發(fā)明的范圍。
以下對(duì)至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說明性的,決不作為對(duì)本發(fā)明及其應(yīng)用或使用的任何限制。
對(duì)于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為說明書的一部分。
在這里示出和討論的所有例子中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實(shí)施例的其它例子可以具有不同的值。
應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步討論。
本發(fā)明實(shí)施例提供的音頻信號(hào)的自動(dòng)增益控制方法和裝置可以應(yīng)用于語音采集設(shè)備、或語音交互設(shè)備、或語音通信設(shè)備中,例如手機(jī)、助聽器、話筒、錄音機(jī)、語音交互機(jī)器人等設(shè)備,對(duì)設(shè)備的麥克風(fēng)系統(tǒng)采集的音頻信號(hào)進(jìn)行增益控制。本發(fā)明實(shí)施例所指的語音通信裝置可以例如為手機(jī)、固定電話、搭載有微信等具有語音傳輸功能的應(yīng)用的智能設(shè)備等。
參考圖1說明本發(fā)明第一實(shí)施例提供的音頻信號(hào)的自動(dòng)增益控制方法,適用于具有麥克風(fēng)陣列的語音采集設(shè)備,包括以下步驟:
101、檢測(cè)麥克風(fēng)陣列拾取的音頻信號(hào)是否為語音信號(hào)。
步驟101中,使用語音檢測(cè)技術(shù)(voiceactivedetector,vad)檢測(cè)麥克風(fēng)陣列拾取的音頻信號(hào)是否為語音信號(hào)。在語音檢測(cè)之前,可以先對(duì)音頻信號(hào)進(jìn)行分幀,例如,如果麥克風(fēng)陣列的采樣頻率為8000hz,則一幀10ms數(shù)據(jù)長(zhǎng)度為80個(gè)采樣點(diǎn),如果麥克風(fēng)陣列的采樣頻率為16000hz,則一幀10ms數(shù)據(jù)長(zhǎng)度為160個(gè)采樣點(diǎn)。按幀進(jìn)行語音檢測(cè)。語音檢測(cè)的方法有很多種,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際應(yīng)用需求進(jìn)行選擇。
102、當(dāng)音頻信號(hào)為語音信號(hào)時(shí),檢測(cè)音頻信號(hào)的聲源方向。
步驟102中,可以使用波束形成算法檢測(cè)音頻信號(hào)的聲源方向,即檢測(cè)語音是從哪個(gè)方向發(fā)出的。
103、如果音頻信號(hào)為語音信號(hào)并且音頻信號(hào)的聲源方向?yàn)轭A(yù)設(shè)方向,則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié);否則,音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲。
如果語音采集設(shè)備為手機(jī),麥克風(fēng)陣列的作用在于采集用戶發(fā)出的語音,則預(yù)設(shè)方向可以設(shè)置為用戶發(fā)聲方向。如果語音采集設(shè)備為助聽器,麥克風(fēng)陣列的作用在于使得用戶可以聽到與其交談的對(duì)象的發(fā)出的語音,則預(yù)設(shè)方向可以設(shè)置為用戶前方一定距離內(nèi)的發(fā)聲方向。也就是說,本領(lǐng)域技術(shù)人員可以考慮語音采集設(shè)備的用途、用戶使用方式等因素來設(shè)定所述預(yù)設(shè)方向,在語音采集設(shè)備出廠時(shí),預(yù)設(shè)方向可以已經(jīng)被設(shè)置在語音采集設(shè)備中,直接從設(shè)備中讀取預(yù)設(shè)方向即可。
經(jīng)過步驟102的聲源方向檢測(cè),如果音頻信號(hào)的聲源方向?yàn)轭A(yù)設(shè)方向,則認(rèn)為音頻信號(hào)是用戶想要采集的語音,執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié)。
除上一種情況之外,如果步驟101的檢測(cè)結(jié)果為音頻信號(hào)不是語音信號(hào),則音頻信號(hào)是用戶不想要的噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲;如果步驟101的檢測(cè)結(jié)果為音頻信號(hào)是語音信號(hào),但是音頻信號(hào)的聲源方向不是預(yù)設(shè)方向,說明用戶可能處于一個(gè)嘈雜的環(huán)境中,音頻信號(hào)不是用戶想要采集的語音,音頻信號(hào)屬于噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲。
本發(fā)明實(shí)施例提供的自動(dòng)增益控制方法,結(jié)合語音檢測(cè)技術(shù)和聲源方向檢測(cè)技術(shù),只有在確定音頻信號(hào)是用戶想要采集的語音的情況下,才對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié),否則將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲,避免錯(cuò)誤地將噪聲放大。
參考圖2說明本發(fā)明第二實(shí)施例提供的音頻信號(hào)的自動(dòng)增益控制方法,適用于具有單麥克風(fēng)或麥克風(fēng)陣列的語音采集設(shè)備,包括以下步驟:
201、檢測(cè)麥克風(fēng)系統(tǒng)拾取的音頻信號(hào)是否為語音信號(hào)。步驟201和步驟101有些類似,這里不再重復(fù)說明。
202、確定麥克風(fēng)系統(tǒng)是單麥克風(fēng)還是麥克風(fēng)陣列。
麥克風(fēng)系統(tǒng)是單麥克風(fēng)還是麥克風(fēng)陣列,是語音采集設(shè)備自身的特性,可以直接得到確認(rèn)。也可以根據(jù)麥克風(fēng)系統(tǒng)拾取的音頻信號(hào)來判斷麥克風(fēng)系統(tǒng)是單麥克風(fēng)或麥克風(fēng)陣列,本領(lǐng)域技術(shù)人員可以有多種方法進(jìn)行判斷,這里不再說明。步驟202也可以在步驟201的語音檢測(cè)步驟之前執(zhí)行。
203、如果音頻信號(hào)為語音信號(hào)并且麥克風(fēng)系統(tǒng)是單麥克風(fēng),則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié)。如果音頻信號(hào)為語音信號(hào)并且麥克風(fēng)系統(tǒng)是麥克風(fēng)陣列,則檢測(cè)音頻信號(hào)的聲源方向是否為預(yù)設(shè)方向,如果是預(yù)設(shè)方向,則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié),否則,音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲。
也就是說,對(duì)于麥克風(fēng)系統(tǒng)是單麥克風(fēng)的情況:如果音頻信號(hào)為語音信號(hào),則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié),否則,音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲。
對(duì)于麥克風(fēng)系統(tǒng)是麥克風(fēng)陣列的情況,與第一實(shí)施例類似:只有在音頻信號(hào)為語音信號(hào)并且音頻信號(hào)的聲源方向是預(yù)設(shè)方向的情況下,才認(rèn)為音頻信號(hào)是用戶想要采集的語音,執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié),否則,認(rèn)為音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲。具體可以參見第一實(shí)施例,這里不再多做說明。
本發(fā)明實(shí)施例提供的自動(dòng)增益控制方法,結(jié)合語音檢測(cè)技術(shù)和聲源方向檢測(cè)技術(shù),只有在確定音頻信號(hào)是用戶想要采集的語音的情況下,才對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié),否則將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲,避免錯(cuò)誤地將噪聲放大。這一實(shí)施例通用性更強(qiáng),適用于具有單麥克風(fēng)或麥克風(fēng)陣列的語音采集設(shè)備。
參考圖3說明本發(fā)明第三實(shí)施例提供的音頻信號(hào)的自動(dòng)增益控制方法,適用于具有單麥克風(fēng)或麥克風(fēng)陣列的語音采集設(shè)備,包括以下步驟:
301、對(duì)于麥克風(fēng)系統(tǒng)拾取的音頻信號(hào)進(jìn)行語音檢測(cè),執(zhí)行步驟302。
302、根據(jù)檢測(cè)結(jié)果判斷音頻信號(hào)是否為語音信號(hào),如果不是,則認(rèn)為音頻信號(hào)是噪聲,執(zhí)行步驟303,否則執(zhí)行步驟304。
步驟303、將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲。
步驟304、確認(rèn)麥克風(fēng)系統(tǒng)是單麥克風(fēng)還是麥克風(fēng)陣列,如果麥克風(fēng)系統(tǒng)是單麥克風(fēng),則執(zhí)行步驟307;如果麥克風(fēng)系統(tǒng)是麥克風(fēng)陣列,則執(zhí)行步驟305。
步驟305、檢測(cè)音頻信號(hào)的聲源方向,執(zhí)行步驟306。
步驟306、判斷聲源方向是否為預(yù)設(shè)方向,如果是,則執(zhí)行步驟307,否則認(rèn)為音頻信號(hào)是噪聲,執(zhí)行步驟303。
步驟307、比較當(dāng)前的輸出增益和目標(biāo)增益,如果當(dāng)前的輸出增益等于目標(biāo)增益,則執(zhí)行步驟308。如果當(dāng)前的輸出增益大于目標(biāo)增益,則執(zhí)行步驟309。如果當(dāng)前的輸出增益小于目標(biāo)增益,則執(zhí)行步驟312。
步驟309、將第一計(jì)數(shù)器的數(shù)值增加一,將第二計(jì)數(shù)器的數(shù)值清零,執(zhí)行步驟310。
步驟310,判斷是否滿足增益調(diào)低條件中的任何一個(gè),增益調(diào)低條件為音頻信號(hào)的輸出增益與目標(biāo)增益的差值絕對(duì)值大于第一閾值,或者,第一計(jì)數(shù)器的數(shù)值大于第二閾值。第一閾值大于0db,第二閾值大于1。
在一個(gè)實(shí)施例中,第一閾值為2db,第二閾值為3,從步驟307、309、310可知,在步驟310中:
如果音頻信號(hào)的輸出增益與目標(biāo)增益的差值絕對(duì)值大于2db,說明與目標(biāo)增益相比,音頻信號(hào)的輸出增益過大,滿足增益調(diào)低條件。
如果第一計(jì)數(shù)器的數(shù)值大于3,說明音頻信號(hào)的輸出增益至少連續(xù)4次大于目標(biāo)增益,滿足增益調(diào)低條件。
在其它實(shí)施例中,可以根據(jù)實(shí)際需求設(shè)定第一閾值和第二閾值。
如果滿足增益調(diào)低條件,則執(zhí)行步驟311,將輸出增益調(diào)低一級(jí),例如調(diào)低0.2db;如果不滿足增益調(diào)低條件,則執(zhí)行步驟308,保持當(dāng)前的輸出增益不變。然后執(zhí)行步驟315和步驟316,存儲(chǔ)輸出增益,按照輸出增益輸出音頻信號(hào)。也就是說,這一實(shí)施例中,只有在輸出增益連續(xù)大于目標(biāo)增益多次的情況下,或者在輸出增益超出目標(biāo)增益很多的情況下,才將輸出增益調(diào)低一級(jí)。
步驟312、將第一計(jì)數(shù)器的數(shù)值清零,將第二計(jì)數(shù)器的數(shù)值增加一,執(zhí)行步驟313。
步驟313、判斷是否滿足增益調(diào)高條件中的任何一個(gè),增益調(diào)高條件為音頻信號(hào)的輸出增益與目標(biāo)增益的差值絕對(duì)值大于第三閾值,或者,第二計(jì)數(shù)器的數(shù)值大于第四閾值。第三閾值大于0db,第四閾值大于1。
在一個(gè)實(shí)施例中,第三閾值為2db,第四閾值為3,從步驟307、312、313可知,在步驟313中:
如果音頻信號(hào)的輸出增益與目標(biāo)增益的差值絕對(duì)值大于2db,說明與目標(biāo)增益相比,音頻信號(hào)的輸出增益過小,滿足增益調(diào)高條件。
如果第二計(jì)數(shù)器的數(shù)值大于3,說明音頻信號(hào)的輸出增益至少連續(xù)4次小于目標(biāo)增益,滿足增益調(diào)高條件。
在其它實(shí)施例中,可以根據(jù)實(shí)際需求設(shè)定第三閾值和第四閾值。
如果滿足增益調(diào)高條件,則執(zhí)行步驟314,將輸出增益調(diào)高一級(jí),例如調(diào)高0.2db;如果不滿足增益調(diào)高條件,則執(zhí)行步驟308,保持當(dāng)前的輸出增益不變。然后執(zhí)行步驟315和步驟316,存儲(chǔ)輸出增益,按照輸出增益輸出音頻信號(hào)。也就是說,這一實(shí)施例中,只有在輸出增益連續(xù)小于目標(biāo)增益多次的情況下,或者在輸出增益小于目標(biāo)增益很多的情況下,才將輸出增益調(diào)高一級(jí)。
本發(fā)明實(shí)施例提供的自動(dòng)增益控制方法,結(jié)合語音檢測(cè)技術(shù)和聲源方向檢測(cè)技術(shù),只有在確定音頻信號(hào)是用戶想要采集的語音的情況下,才對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié),否則將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲,避免錯(cuò)誤地將噪聲放大。這一實(shí)施例通用性更強(qiáng),適用于具有單麥克風(fēng)或麥克風(fēng)陣列的語音采集設(shè)備。這一實(shí)施例提供了具體的自動(dòng)增益控制程序,對(duì)輸出增益進(jìn)行逐級(jí)調(diào)節(jié)使輸出增益逐漸靠攏目標(biāo)增益,避免輸出增益頻繁在目標(biāo)增益左右擺動(dòng)。
對(duì)于本領(lǐng)域技術(shù)人員來說,可以通過硬件方式、軟件方式或軟硬件結(jié)合的方式實(shí)現(xiàn)前述自動(dòng)增益控制方法。基于同一發(fā)明構(gòu)思,參考圖4-7介紹本發(fā)明實(shí)施例的音頻信號(hào)的自動(dòng)增益控制裝置,以執(zhí)行前述音頻信號(hào)的自動(dòng)增益控制方案。
圖4示出了本發(fā)明第一實(shí)施例提供的音頻信號(hào)的自動(dòng)增益控制裝置的框圖,包括語音檢測(cè)模塊11、聲源方向檢測(cè)模塊12、和增益調(diào)節(jié)模塊13。
語音檢測(cè)模塊11,被配置為檢測(cè)麥克風(fēng)陣列拾取的音頻信號(hào)是否為語音信號(hào)。
聲源方向檢測(cè)模塊12,被配置為當(dāng)音頻信號(hào)為語音信號(hào)時(shí),檢測(cè)音頻信號(hào)的聲源方向。
增益調(diào)節(jié)模塊13,被配置為如果音頻信號(hào)為語音信號(hào)并且音頻信號(hào)的聲源方向?yàn)轭A(yù)設(shè)方向,則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié);否則,音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲。
圖5示出了本發(fā)明第二實(shí)施例提供的音頻信號(hào)的自動(dòng)增益控制裝置的框圖,包括語音檢測(cè)模塊21、聲源方向檢測(cè)模塊22、增益調(diào)節(jié)模塊23、第一計(jì)數(shù)器24、和第二計(jì)數(shù)器25。
語音檢測(cè)模塊21,被配置為檢測(cè)麥克風(fēng)陣列拾取的音頻信號(hào)是否為語音信號(hào)。
聲源方向檢測(cè)模塊22,被配置為當(dāng)音頻信號(hào)為語音信號(hào)時(shí),檢測(cè)音頻信號(hào)的聲源方向。
增益調(diào)節(jié)模塊23,被配置為如果音頻信號(hào)為語音信號(hào)并且音頻信號(hào)的聲源方向?yàn)轭A(yù)設(shè)方向,則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié);否則,音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲。
增益調(diào)節(jié)模塊23執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié),包括:
比較音頻信號(hào)的輸出增益和目標(biāo)增益;
如果音頻信號(hào)的輸出增益等于目標(biāo)增益,則保持音頻信號(hào)的輸出增益不變;
如果音頻信號(hào)的輸出增益大于目標(biāo)增益,則執(zhí)行以下操作:將第一計(jì)數(shù)器24的數(shù)值增加一并將第二計(jì)數(shù)器25的數(shù)值清零;判斷是否滿足增益調(diào)低條件中的任何一個(gè),如果滿足,則將音頻信號(hào)的輸出增益調(diào)低一級(jí),否則保持音頻信號(hào)的輸出增益不變;所述增益調(diào)低條件為:音頻信號(hào)的輸出增益與目標(biāo)增益的差值絕對(duì)值大于第一閾值,或者,第一計(jì)數(shù)器24的數(shù)值大于第二閾值。第一閾值大于0db,第二閾值大于1。
如果音頻信號(hào)的輸出增益小于目標(biāo)增益,則執(zhí)行以下操作:將第一計(jì)數(shù)器24的數(shù)值清零并將第二計(jì)數(shù)器25的數(shù)值增加一;判斷是否滿足增益調(diào)高條件中的任何一個(gè),如果滿足,則將音頻信號(hào)的輸出增益調(diào)高一級(jí),否則保持音頻信號(hào)的輸出增益不變;所述增益調(diào)高條件為:音頻信號(hào)的輸出增益與目標(biāo)增益的差值絕對(duì)值大于第三閾值,或者,第二計(jì)數(shù)器25的數(shù)值大于第四閾值。第三閾值大于0db,第四閾值大于1。
圖6示出了本發(fā)明第三實(shí)施例提供的音頻信號(hào)的自動(dòng)增益控制裝置的框圖,包括語音檢測(cè)模塊31、聲源方向檢測(cè)模塊32、和增益調(diào)節(jié)模塊33。
語音檢測(cè)模塊31,被配置為檢測(cè)麥克風(fēng)系統(tǒng)拾取的音頻信號(hào)是否為語音信號(hào)。
聲源方向檢測(cè)模塊32,被配置為在麥克風(fēng)系統(tǒng)是麥克風(fēng)陣列的情況下,如果音頻信號(hào)為語音信號(hào),則檢測(cè)音頻信號(hào)的聲源方向。
增益調(diào)節(jié)模塊33,被配置為:
在麥克風(fēng)系統(tǒng)是單麥克風(fēng)的情況下,如果音頻信號(hào)為語音信號(hào),則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié);否則,音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲;
在麥克風(fēng)系統(tǒng)是麥克風(fēng)陣列的情況下,如果音頻信號(hào)為語音信號(hào)并且音頻信號(hào)的聲源方向?yàn)轭A(yù)設(shè)方向,則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié);否則,音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲。
圖7示出了本發(fā)明第四實(shí)施例提供的音頻信號(hào)的自動(dòng)增益控制裝置的框圖,包括語音檢測(cè)模塊41、聲源方向檢測(cè)模塊42、增益調(diào)節(jié)模塊43、第一計(jì)數(shù)器44、和第二計(jì)數(shù)器45。
語音檢測(cè)模塊41,被配置為檢測(cè)麥克風(fēng)系統(tǒng)拾取的音頻信號(hào)是否為語音信號(hào)。
聲源方向檢測(cè)模塊42,被配置為在麥克風(fēng)系統(tǒng)是麥克風(fēng)陣列的情況下,如果音頻信號(hào)為語音信號(hào),則檢測(cè)音頻信號(hào)的聲源方向。
增益調(diào)節(jié)模塊43,被配置為:
在麥克風(fēng)系統(tǒng)是單麥克風(fēng)的情況下,如果音頻信號(hào)為語音信號(hào),則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié);否則,音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲;
在麥克風(fēng)系統(tǒng)是麥克風(fēng)陣列的情況下,如果音頻信號(hào)為語音信號(hào)并且音頻信號(hào)的聲源方向?yàn)轭A(yù)設(shè)方向,則執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié);否則,音頻信號(hào)為噪聲,將音頻信號(hào)的輸出增益調(diào)整為預(yù)設(shè)值以抑制噪聲。
增益調(diào)節(jié)模塊43執(zhí)行自動(dòng)增益控制程序,對(duì)音頻信號(hào)的輸出增益進(jìn)行自動(dòng)調(diào)節(jié),包括:
比較音頻信號(hào)的輸出增益和目標(biāo)增益;
如果音頻信號(hào)的輸出增益等于目標(biāo)增益,則保持音頻信號(hào)的輸出增益不變;
如果音頻信號(hào)的輸出增益大于目標(biāo)增益,則執(zhí)行以下操作:將第一計(jì)數(shù)器44的數(shù)值增加一并將第二計(jì)數(shù)器45的數(shù)值清零;判斷是否滿足增益調(diào)低條件中的任何一個(gè),如果滿足,則將音頻信號(hào)的輸出增益調(diào)低一級(jí),否則保持音頻信號(hào)的輸出增益不變;所述增益調(diào)低條件為:音頻信號(hào)的輸出增益與目標(biāo)增益的差值絕對(duì)值大于第一閾值,或者,第一計(jì)數(shù)器44的數(shù)值大于第二閾值。第一閾值大于0db,第二閾值大于1。
如果音頻信號(hào)的輸出增益小于目標(biāo)增益,則執(zhí)行以下操作:將第一計(jì)數(shù)器44的數(shù)值清零并將第二計(jì)數(shù)器45的數(shù)值增加一;判斷是否滿足增益調(diào)高條件中的任何一個(gè),如果滿足,則將音頻信號(hào)的輸出增益調(diào)高一級(jí),否則保持音頻信號(hào)的輸出增益不變;所述增益調(diào)高條件為:音頻信號(hào)的輸出增益與目標(biāo)增益的差值絕對(duì)值大于第三閾值,或者,第二計(jì)數(shù)器45的數(shù)值大于第四閾值。第三閾值大于0db,第四閾值大于1。
圖8是顯示可用于實(shí)現(xiàn)本發(fā)明的實(shí)施例的語音通信裝置的硬件配置的例子的框圖。語音通信裝置3000包括處理器3010、存儲(chǔ)器3020、接口裝置3030、無線/有線通信模塊3040、顯示裝置3050、輸入裝置3060、揚(yáng)聲器3070、麥克風(fēng)3080、等等。
存儲(chǔ)器3020用于存儲(chǔ)指令,所述指令用于控制處理器3010進(jìn)行操作以執(zhí)行根據(jù)前述任一項(xiàng)所述的音頻信號(hào)的自動(dòng)增益控制方法。
處理器3010例如可以是中央處理器cpu、微處理器mcu等。存儲(chǔ)器3020例如包括rom(只讀存儲(chǔ)器)、ram(隨機(jī)存取存儲(chǔ)器)、諸如硬盤的非易失性存儲(chǔ)器等。接口裝置3030例如包括usb接口、耳機(jī)接口等。通無線/有線通信模塊3040例如能夠進(jìn)行有線或無線通信。顯示裝置3050例如是液晶顯示屏、觸摸顯示屏等。輸入裝置3060例如可以包括觸摸屏、鍵盤等。用戶可以通過揚(yáng)聲器3070和麥克風(fēng)3080輸入/輸出語音信息。
圖8所示的終端設(shè)備僅是解釋性的,并且決不是為了要限制本發(fā)明、其應(yīng)用或用途。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,盡管在圖8中示出了多個(gè)裝置,但是,本發(fā)明可以僅涉及其中的部分裝置。本領(lǐng)域技術(shù)人員可以根據(jù)本發(fā)明所公開方案設(shè)計(jì)指令,指令如何控制處理器進(jìn)行操作是本領(lǐng)域公知技術(shù),故在此不再詳細(xì)描述。
需要說明的是,本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)清楚的是,上述各實(shí)施例可以根據(jù)需要單獨(dú)使用或者相互結(jié)合使用。另外,對(duì)于裝置實(shí)施例而言,由于其是與方法實(shí)施例相對(duì)應(yīng),所以描述得比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的對(duì)應(yīng)部分的說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中作為分離部件說明的模塊可以是或者也可是不是物理上分開的。
另外,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的裝置、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的裝置來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
本發(fā)明實(shí)施例所提供的計(jì)算機(jī)程序產(chǎn)品,包括存儲(chǔ)了程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述程序代碼包括的指令可用于執(zhí)行前面方法實(shí)施例中所述的方法,具體實(shí)現(xiàn)可參見方法實(shí)施例,在此不再贅述。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的裝置、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,又例如,多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)裝置,或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。
雖然已經(jīng)通過例子對(duì)本發(fā)明的一些特定實(shí)施例進(jìn)行了詳細(xì)說明,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,以上例子僅是為了進(jìn)行說明,而不是為了限制本發(fā)明的范圍。本領(lǐng)域的技術(shù)人員應(yīng)該理解,可在不脫離本發(fā)明的范圍的情況下,對(duì)以上實(shí)施例進(jìn)行修改。本發(fā)明的范圍由所附權(quán)利要求來限定。