麥克風(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)該選用怎樣的方案。
什么是麥克風(fēng)陣列技術(shù)?
學(xué)術(shù)上有個概念是“傳聲器陣列”,主要由一定數(shù)目的聲學(xué)傳感器組成,用來對聲場的空間特性進(jìn)行采樣并處理的系統(tǒng)。而這篇文章講到的麥克風(fēng)陣列是其中一個狹義概念,特指應(yīng)用于語音處理的按一定規(guī)則排列的多個麥克風(fēng)系統(tǒng),也可以簡單理解為2個以上麥克風(fēng)組成的錄音系統(tǒng)。
麥克風(fēng)陣列一般來說有線形、環(huán)形和球形之分,嚴(yán)謹(jǐn)?shù)膽?yīng)該說成一字、十字、平面、螺旋、球形及無規(guī)則陣列等。至于麥克風(fēng)陣列的陣元數(shù)量,也就是麥克風(fēng)數(shù)量,可以從2個到上千個不等。這樣說來,麥克風(fēng)陣列真的好復(fù)雜,別擔(dān)心,復(fù)雜的麥克風(fēng)陣列主要應(yīng)用于工業(yè)和國防領(lǐng)域,消費(fèi)領(lǐng)域考慮到成本會簡化很多。
為什么需要麥克風(fēng)陣列?
消費(fèi)級麥克風(fēng)陣列的興起得益于語音交互的市場火熱,主要解決遠(yuǎn)距離語音識別的問題,以保證真實(shí)場景下的語音識別率。這涉及了語音交互用戶場景的變化,當(dāng)用戶從手機(jī)切換到類似Echo智能音箱或者機(jī)器人的時(shí)候,實(shí)際上麥克風(fēng)面臨的環(huán)境就完全變了,這就如同兩個人竊竊私語和大聲嘶喊的區(qū)別。
前幾年,語音交互應(yīng)用最為普遍的就是以Siri為代表的智能手機(jī),這個場景一般都是采用單麥克風(fēng)系統(tǒng)。單麥克風(fēng)系統(tǒng)可以在低噪聲、無混響、距離聲源很近的情況下獲得符合語音識別需求的聲音信號。但是,若聲源距離麥克風(fēng)距離較遠(yuǎn),并且真實(shí)環(huán)境存在大量的噪聲、多徑反射和混響,導(dǎo)致拾取信號的質(zhì)量下降,這會嚴(yán)重影響語音識別率。而且,單麥克風(fēng)接收的信號,是由多個聲源和環(huán)境噪聲疊加的,很難實(shí)現(xiàn)各個聲源的分離。這樣就無法實(shí)現(xiàn)聲源定位和分離,這很重要,因?yàn)檫€有一類聲音的疊加并非噪聲,但是在語音識別中也要抑制,就是人聲的干擾,語音識別顯然不能同時(shí)識別兩個以上的聲音。
顯然,當(dāng)語音交互的場景過渡到以Echo、機(jī)器人或者汽車為主要場景的時(shí)候,單麥克風(fēng)的局限就凸顯出來。為了解決單麥克風(fēng)的這些局限性,利用麥克風(fēng)陣列進(jìn)行語音處理的方法應(yīng)時(shí)而生。麥克風(fēng)陣列由一組按一定幾何結(jié)構(gòu)(常用線形、環(huán)形)擺放的麥克風(fēng)組成,對采集的不同空間方向的聲音信號進(jìn)行空時(shí)處理,實(shí)現(xiàn)噪聲抑制、混響去除、人聲干擾抑制、聲源測向、聲源跟蹤、陣列增益等功能,進(jìn)而提高語音信號處理質(zhì)量,以提高真實(shí)環(huán)境下的語音識別率。
事實(shí)上,僅靠麥克風(fēng)陣列也很難保證語音識別率的指標(biāo)。麥克風(fēng)陣列還僅是物理入口,只是完成了物理世界的聲音信號處理,得到了語音識別想要的聲音,但是語音識別率卻是在云端測試得到的結(jié)果,因此這兩個系統(tǒng)必須匹配在一起才能得到最好的效果。不僅如此,麥克風(fēng)陣列處理信號的質(zhì)量還無法定義標(biāo)準(zhǔn)。因?yàn)楫?dāng)前的語音識別基本都是深度學(xué)習(xí)訓(xùn)練的結(jié)果,而深度學(xué)習(xí)有個局限就是嚴(yán)重依賴于輸入訓(xùn)練的樣本庫,若處理后的聲音與樣本庫不匹配則識別效果也不會太好。從這個角度應(yīng)該非常容易理解,物理世界的信號處理也并非越是純凈越好,而是越接近于訓(xùn)練樣本庫的特征越好,即便這個樣本庫的訓(xùn)練信號很差。顯然,這是一個非常難于實(shí)現(xiàn)的過程,至少要聲學(xué)處理和深度學(xué)習(xí)的兩個團(tuán)隊(duì)配合才能做好這個事情,另外聲學(xué)信號處理這個層次輸出的信號特征對語義理解也非常重要。看來,小小的麥克風(fēng)陣列還真的不是那么簡單,為了更好地顯示這種差別,我們測試了某語音識別引擎在單麥克風(fēng)和四麥克風(fēng)環(huán)形陣列的識別率對比。另外也要提醒,語音識別率并非只有一個WER指標(biāo),還有個重要的虛警率指標(biāo),稍微有點(diǎn)聲音就亂識別也不行,另外還要考慮閾值的影響,這都是麥克風(fēng)陣列技術(shù)中的陷阱。
麥克風(fēng)陣列的關(guān)鍵技術(shù)
消費(fèi)級的麥克風(fēng)陣列主要面臨環(huán)境噪聲、房間混響、人聲疊加、模型噪聲、陣列結(jié)構(gòu)等問題,若使用到語音識別場景,還要考慮針對語音識別的優(yōu)化和匹配等問題。為了解決上述問題,特別是在消費(fèi)領(lǐng)域的垂直場景應(yīng)用環(huán)境中,關(guān)鍵技術(shù)就顯得尤為重要。
噪聲抑制:語音識別倒不需要完全去除噪聲,相對來說通話系統(tǒng)中需要的技術(shù)則是噪聲去除。這里說的噪聲一般指環(huán)境噪聲,比如空調(diào)噪聲,這類噪聲通常不具有空間指向性,能量也不是特別大,不會掩蓋正常的語音,只是影響了語音的清晰度和可懂度。這種方法不適合強(qiáng)噪聲環(huán)境下的處理,但是應(yīng)付日常場景的語音交互足夠了。
混響消除:混響在語音識別中是個蠻討厭的因素,混響去除的效果很大程度影響了語音識別的效果。我們知道,當(dāng)聲源停止發(fā)聲后,聲波在房間內(nèi)要經(jīng)過多次反射和吸收,似乎若干個聲波混合持續(xù)一段時(shí)間,這種現(xiàn)象叫做混響。混響會嚴(yán)重影響語音信號處理,比如互相關(guān)函數(shù)或者波束主瓣,降低測向精度。
回聲抵消:嚴(yán)格來說,這里不應(yīng)該叫回聲,應(yīng)該叫“自噪聲”。回聲是混響的延伸概念,這兩者的區(qū)別就是回聲的時(shí)延更長。一般來說,超過100毫秒時(shí)延的混響,人類能夠明顯區(qū)分出,似乎一個聲音同時(shí)出現(xiàn)了兩次,我們就叫做回聲,比如天壇著名的回聲壁。實(shí)際上,這里所指的是語音交互設(shè)備自己發(fā)出的聲音,比如Echo音箱,當(dāng)播放歌曲的時(shí)候若叫Alexa,這時(shí)候麥克風(fēng)陣列實(shí)際上采集了正在播放的音樂和用戶所叫的Alexa聲音,顯然語音識別無法識別這兩類聲音?;芈暤窒褪且サ羝渲械囊魳沸畔⒍槐A粲脩舻娜寺?,之所以叫回聲抵消,只是延續(xù)大家的習(xí)慣而已,其實(shí)是不恰當(dāng)?shù)?。[!--empirenews.page--]
聲源測向:這里沒有用聲源定位,測向和定位是不太一樣的,而消費(fèi)級麥克風(fēng)陣列做到測向就可以了,沒必要在這方面投入太多成本。聲源測向的主要作用就是偵測到與之對話人類的聲音以便后續(xù)的波束形成。聲源測向可以基于能量方法,也可以基于譜估計(jì),陣列也常用TDOA技術(shù)。聲源測向一般在語音喚醒階段實(shí)現(xiàn),VAD技術(shù)其實(shí)就可以包含到這個范疇,也是未來功耗降低的關(guān)鍵研究內(nèi)容。
波束形成:波束形成是通用的信號處理方法,這里是指將一定幾何結(jié)構(gòu)排列的麥克風(fēng)陣列的各麥克風(fēng)輸出信號經(jīng)過處理(例如加權(quán)、時(shí)延、求和等)形成空間指向性的方法。波束形成主要是抑制主瓣以外的聲音干擾,這里也包括人聲,比如幾個人圍繞Echo談話的時(shí)候,Echo只會識別其中一個人的聲音。
陣列增益:這個比較容易理解,主要是解決拾音距離的問題,若信號較小,語音識別同樣不能保證,通過陣列處理可以適當(dāng)加大語音信號的能量。
模型匹配:這個主要是和語音識別以及語義理解進(jìn)行匹配,語音交互是一個完整的信號鏈,從麥克風(fēng)陣列開始的語音流不可能割裂的存在,必然需要模型匹配在一起。實(shí)際上,效果較好的語音交互專用麥克風(fēng)陣列,通常是兩套算法,一套內(nèi)嵌于硬件實(shí)時(shí)處理,另外一套服務(wù)于云端匹配語音處理。
麥克風(fēng)陣列的技術(shù)趨勢
語音信號其實(shí)是不好處理的,我們知道信號處理大多基于平穩(wěn)信號的假設(shè),但是語音信號的特征參數(shù)均是隨時(shí)間而變化的,是典型的非平穩(wěn)態(tài)過程。幸運(yùn)的是語音信號在一個較短時(shí)間內(nèi)的特性相對穩(wěn)定(語音分幀),因而可以將其看作是一個準(zhǔn)穩(wěn)態(tài)過程,也就是說語音信號具有短時(shí)平穩(wěn)的特性,這才能用主流信號處理方法對其處理。從這點(diǎn)來看,麥克風(fēng)陣列的基本原理和模型方面就存在較大的局限,也包括聲學(xué)的非線性處理(現(xiàn)在基本忽略非線性效應(yīng)),因此基礎(chǔ)研究的突破才是未來的根本。希望能有更多熱愛人工智能的學(xué)生關(guān)注聲學(xué),報(bào)考我們中科院聲學(xué)所。
另外一個趨勢就是麥克風(fēng)陣列的小型化,麥克風(fēng)陣列受制于半波長理論的限制,現(xiàn)在的口徑還是較大,聲智科技現(xiàn)在可以做到2cm-8cm的間距,但是結(jié)構(gòu)布局仍然還是限制了ID設(shè)計(jì)的自由性。很多產(chǎn)品采用2個麥克風(fēng)其實(shí)并非成本問題,而是ID設(shè)計(jì)的考慮。實(shí)際上,借鑒雷達(dá)領(lǐng)域的合成孔徑方法,麥克風(fēng)陣列可以做的更小,而且這種方法已經(jīng)在軍工領(lǐng)域成熟驗(yàn)證,移植到消費(fèi)領(lǐng)域只是時(shí)間問題。
還有一個趨勢是麥克風(fēng)陣列的低成本化,當(dāng)前無論是2個麥克風(fēng)還是4、6個麥克風(fēng)陣列,成本都是比較高的,這影響了麥克風(fēng)陣列的普及。低成本化不是簡單的更換芯片器件,而是整個結(jié)構(gòu)的重新設(shè)計(jì),包括器件、芯片、算法和云端。這里要強(qiáng)調(diào)一下,并非2個麥克風(fēng)的陣列成本就便宜,實(shí)際上2個和4個麥克風(fēng)陣列的相差不大,2個麥克風(fēng)陣列的成本也要在60元左右,但是這還不包含進(jìn)行回聲抵消的硬件成本,若綜合比較,實(shí)際上成本相差不大。特別是今年由于新技術(shù)的應(yīng)用,多麥克風(fēng)陣列