麥克風(fēng)陣列技術(shù)語音交互應(yīng)該選用怎樣的方案?
亞馬遜Echo和谷歌Home爭奇斗艷,除了云端服務(wù),他們在硬件上到底有哪些差異?我們先將Echo和Home兩款音箱拆開來看,區(qū)別最大的還是麥克風(fēng)陣列技術(shù)。Amazon Echo采用的是環(huán)形6+1麥克風(fēng)陣列,而Google Home(包括Surface Studio)只采用了2麥克風(fēng)陣列。這里想稍微深入談?wù)匊溈孙L(fēng)陣列技術(shù),以及智能語音交互設(shè)備到底應(yīng)該選用怎樣的方案。
本文引用地址:http://2s4d.com/article/201807/383792.htm什么是麥克風(fēng)陣列技術(shù)?
學(xué)術(shù)上有個概念是“傳聲器陣列”,主要由一定數(shù)目的聲學(xué)傳感器組成,用來對聲場的空間特性進行采樣并處理的系統(tǒng)。而這篇文章講到的麥克風(fēng)陣列是其中一個狹義概念,特指應(yīng)用于語音處理的按一定規(guī)則排列的多個麥克風(fēng)系統(tǒng),也可以簡單理解為2個以上麥克風(fēng)組成的錄音系統(tǒng)。
麥克風(fēng)陣列一般來說有線形、環(huán)形和球形之分,嚴謹?shù)膽?yīng)該說成一字、十字、平面、螺旋、球形及無規(guī)則陣列等。至于麥克風(fēng)陣列的陣元數(shù)量,也就是麥克風(fēng)數(shù)量,可以從2個到上千個不等。這樣說來,麥克風(fēng)陣列真的好復(fù)雜,別擔心,復(fù)雜的麥克風(fēng)陣列主要應(yīng)用于工業(yè)和國防領(lǐng)域,消費領(lǐng)域考慮到成本會簡化很多。
為什么需要麥克風(fēng)陣列?
消費級麥克風(fēng)陣列的興起得益于語音交互的市場火熱,主要解決遠距離語音識別的問題,以保證真實場景下的語音識別率。這涉及了語音交互用戶場景的變化,當用戶從手機切換到類似Echo智能音箱或者機器人的時候,實際上麥克風(fēng)面臨的環(huán)境就完全變了,這就如同兩個人竊竊私語和大聲嘶喊的區(qū)別。
前幾年,語音交互應(yīng)用最為普遍的就是以Siri為代表的智能手機,這個場景一般都是采用單麥克風(fēng)系統(tǒng)。單麥克風(fēng)系統(tǒng)可以在低噪聲、無混響、距離聲源很近的情況下獲得符合語音識別需求的聲音信號。但是,若聲源距離麥克風(fēng)距離較遠,并且真實環(huán)境存在大量的噪聲、多徑反射和混響,導(dǎo)致拾取信號的質(zhì)量下降,這會嚴重影響語音識別率。而且,單麥克風(fēng)接收的信號,是由多個聲源和環(huán)境噪聲疊加的,很難實現(xiàn)各個聲源的分離。這樣就無法實現(xiàn)聲源定位和分離,這很重要,因為還有一類聲音的疊加并非噪聲,但是在語音識別中也要抑制,就是人聲的干擾,語音識別顯然不能同時識別兩個以上的聲音。
顯然,當語音交互的場景過渡到以Echo、機器人或者汽車為主要場景的時候,單麥克風(fēng)的局限就凸顯出來。為了解決單麥克風(fēng)的這些局限性,利用麥克風(fēng)陣列進行語音處理的方法應(yīng)時而生。麥克風(fēng)陣列由一組按一定幾何結(jié)構(gòu)(常用線形、環(huán)形)擺放的麥克風(fēng)組成,對采集的不同空間方向的聲音信號進行空時處理,實現(xiàn)噪聲抑制、混響去除、人聲干擾抑制、聲源測向、聲源跟蹤、陣列增益等功能,進而提高語音信號處理質(zhì)量,以提高真實環(huán)境下的語音識別率。
事實上,僅靠麥克風(fēng)陣列也很難保證語音識別率的指標。麥克風(fēng)陣列還僅是物理入口,只是完成了物理世界的聲音信號處理,得到了語音識別想要的聲音,但是語音識別率卻是在云端測試得到的結(jié)果,因此這兩個系統(tǒng)必須匹配在一起才能得到最好的效果。不僅如此,麥克風(fēng)陣列處理信號的質(zhì)量還無法定義標準。因為當前的語音識別基本都是深度學(xué)習(xí)訓(xùn)練的結(jié)果,而深度學(xué)習(xí)有個局限就是嚴重依賴于輸入訓(xùn)練的樣本庫,若處理后的聲音與樣本庫不匹配則識別效果也不會太好。從這個角度應(yīng)該非常容易理解,物理世界的信號處理也并非越是純凈越好,而是越接近于訓(xùn)練樣本庫的特征越好,即便這個樣本庫的訓(xùn)練信號很差。顯然,這是一個非常難于實現(xiàn)的過程,至少要聲學(xué)處理和深度學(xué)習(xí)的兩個團隊配合才能做好這個事情,另外聲學(xué)信號處理這個層次輸出的信號特征對語義理解也非常重要??磥恚⌒〉柠溈孙L(fēng)陣列還真的不是那么簡單,為了更好地顯示這種差別,我們測試了某語音識別引擎在單麥克風(fēng)和四麥克風(fēng)環(huán)形陣列的識別率對比。另外也要提醒,語音識別率并非只有一個WER指標,還有個重要的虛警率指標,稍微有點聲音就亂識別也不行,另外還要考慮閾值的影響,這都是麥克風(fēng)陣列技術(shù)中的陷阱。
麥克風(fēng)陣列的關(guān)鍵技術(shù)
消費級的麥克風(fēng)陣列主要面臨環(huán)境噪聲、房間混響、人聲疊加、模型噪聲、陣列結(jié)構(gòu)等問題,若使用到語音識別場景,還要考慮針對語音識別的優(yōu)化和匹配等問題。為了解決上述問題,特別是在消費領(lǐng)域的垂直場景應(yīng)用環(huán)境中,關(guān)鍵技術(shù)就顯得尤為重要。
噪聲抑制:語音識別倒不需要完全去除噪聲,相對來說通話系統(tǒng)中需要的技術(shù)則是噪聲去除。這里說的噪聲一般指環(huán)境噪聲,比如空調(diào)噪聲,這類噪聲通常不具有空間指向性,能量也不是特別大,不會掩蓋正常的語音,只是影響了語音的清晰度和可懂度。這種方法不適合強噪聲環(huán)境下的處理,但是應(yīng)付日常場景的語音交互足夠了。
混響消除:混響在語音識別中是個蠻討厭的因素,混響去除的效果很大程度影響了語音識別的效果。我們知道,當聲源停止發(fā)聲后,聲波在房間內(nèi)要經(jīng)過多次反射和吸收,似乎若干個聲波混合持續(xù)一段時間,這種現(xiàn)象叫做混響。混響會嚴重影響語音信號處理,比如互相關(guān)函數(shù)或者波束主瓣,降低測向精度。
回聲抵消:嚴格來說,這里不應(yīng)該叫回聲,應(yīng)該叫“自噪聲”。回聲是混響的延伸概念,這兩者的區(qū)別就是回聲的時延更長。一般來說,超過100毫秒時延的混響,人類能夠明顯區(qū)分出,似乎一個聲音同時出現(xiàn)了兩次,我們就叫做回聲,比如天壇著名的回聲壁。實際上,這里所指的是語音交互設(shè)備自己發(fā)出的聲音,比如Echo音箱,當播放歌曲的時候若叫Alexa,這時候麥克風(fēng)陣列實際上采集了正在播放的音樂和用戶所叫的Alexa聲音,顯然語音識別無法識別這兩類聲音。回聲抵消就是要去掉其中的音樂信息而只保留用戶的人聲,之所以叫回聲抵消,只是延續(xù)大家的習(xí)慣而已,其實是不恰當?shù)摹?
評論