雷鋒網(wǎng)(公眾號:雷鋒網(wǎng))按:本文作者陳孝良,工學(xué)博士,聲智科技創(chuàng )始人。 。
亞馬遜Echo和谷歌Home爭奇斗艷,除了云端服務(wù),他們在硬件上到底有哪些差異?我們先將Echo和Home兩款音箱拆開(kāi)來(lái)看,區別最大的還是麥克風(fēng)陣列技術(shù)。Amazon Echo采用的是環(huán)形6+1麥克風(fēng)陣列,而Google Home(包括Surface Studio)只采用了2麥克風(fēng)陣列。這種差異我們在文章《對比Amazon Echo,Google Home為何只采用了2個(gè)麥克風(fēng)?》做了探討。但是好多朋友私信咨詢(xún),因此這里想稍微深入談?wù)匊溈孙L(fēng)陣列技術(shù),以及智能語(yǔ)音交互設備到底應該選用怎樣的方案。
什么是麥克風(fēng)陣列技術(shù)?
學(xué)術(shù)上有個(gè)概念是“傳聲器陣列”,主要由一定數目的聲學(xué)傳感器組成,用來(lái)對聲場(chǎng)的空間特性進(jìn)行采樣并處理的系統。而這篇文章講到的麥克風(fēng)陣列是其中一個(gè)狹義概念,特指應用于語(yǔ)音處理的按一定規則排列的多個(gè)麥克風(fēng)系統,也可以簡(jiǎn)單理解為2個(gè)以上麥克風(fēng)組成的錄音系統。
麥克風(fēng)陣列一般來(lái)說(shuō)有線(xiàn)形、環(huán)形和球形之分,嚴謹的應該說(shuō)成一字、十字、平面、螺旋、球形及無(wú)規則陣列等。至于麥克風(fēng)陣列的陣元數量,也就是麥克風(fēng)數量,可以從2個(gè)到上千個(gè)不等。這樣說(shuō)來(lái),麥克風(fēng)陣列真的好復雜,別擔心,復雜的麥克風(fēng)陣列主要應用于工業(yè)和國防領(lǐng)域,消費領(lǐng)域考慮到成本會(huì )簡(jiǎn)化很多。

為什么需要麥克風(fēng)陣列?
消費級麥克風(fēng)陣列的興起得益于語(yǔ)音交互的市場(chǎng)火熱,主要解決遠距離語(yǔ)音識別的問(wèn)題,以保證真實(shí)場(chǎng)景下的語(yǔ)音識別率。這涉及了語(yǔ)音交互用戶(hù)場(chǎng)景的變化,當用戶(hù)從手機切換到類(lèi)似Echo智能音箱或者機器人的時(shí)候,實(shí)際上麥克風(fēng)面臨的環(huán)境就完全變了,這就如同兩個(gè)人竊竊私語(yǔ)和大聲嘶喊的區別。
前幾年,語(yǔ)音交互應用最為普遍的就是以Siri為代表的智能手機,這個(gè)場(chǎng)景一般都是采用單麥克風(fēng)系統。單麥克風(fēng)系統可以在低噪聲、無(wú)混響、距離聲源很近的情況下獲得符合語(yǔ)音識別需求的聲音信號。但是,若聲源距離麥克風(fēng)距離較遠,并且真實(shí)環(huán)境存在大量的噪聲、多徑反射和混響,導致拾取信號的質(zhì)量下降,這會(huì )嚴重影響語(yǔ)音識別率。而且,單麥克風(fēng)接收的信號,是由多個(gè)聲源和環(huán)境噪聲疊加的,很難實(shí)現各個(gè)聲源的分離。這樣就無(wú)法實(shí)現聲源定位和分離,這很重要,因為還有一類(lèi)聲音的疊加并非噪聲,但是在語(yǔ)音識別中也要抑制,就是人聲的干擾,語(yǔ)音識別顯然不能同時(shí)識別兩個(gè)以上的聲音。
顯然,當語(yǔ)音交互的場(chǎng)景過(guò)渡到以Echo、機器人或者汽車(chē)為主要場(chǎng)景的時(shí)候,單麥克風(fēng)的局限就凸顯出來(lái)。為了解決單麥克風(fēng)的這些局限性,利用麥克風(fēng)陣列進(jìn)行語(yǔ)音處理的方法應時(shí)而生。麥克風(fēng)陣列由一組按一定幾何結構(常用線(xiàn)形、環(huán)形)擺放的麥克風(fēng)組成,對采集的不同空間方向的聲音信號進(jìn)行空時(shí)處理,實(shí)現噪聲抑制、混響去除、人聲干擾抑制、聲源測向、聲源跟蹤、陣列增益等功能,進(jìn)而提高語(yǔ)音信號處理質(zhì)量,以提高真實(shí)環(huán)境下的語(yǔ)音識別率。
事實(shí)上,僅靠麥克風(fēng)陣列也很難保證語(yǔ)音識別率的指標。麥克風(fēng)陣列還僅是物理入口,只是完成了物理世界的聲音信號處理,得到了語(yǔ)音識別想要的聲音,但是語(yǔ)音識別率卻是在云端測試得到的結果,因此這兩個(gè)系統必須匹配在一起才能得到最好的效果。不僅如此,麥克風(fēng)陣列處理信號的質(zhì)量還無(wú)法定義標準。因為當前的語(yǔ)音識別基本都是深度學(xué)習訓練的結果,而深度學(xué)習有個(gè)局限就是嚴重依賴(lài)于輸入訓練的樣本庫,若處理后的聲音與樣本庫不匹配則識別效果也不會(huì )太好。從這個(gè)角度應該非常容易理解,物理世界的信號處理也并非越是純凈越好,而是越接近于訓練樣本庫的特征越好,即便這個(gè)樣本庫的訓練信號很差。顯然,這是一個(gè)非常難于實(shí)現的過(guò)程,至少要聲學(xué)處理和深度學(xué)習的兩個(gè)團隊配合才能做好這個(gè)事情,另外聲學(xué)信號處理這個(gè)層次輸出的信號特征對語(yǔ)義理解也非常重要?磥(lái),小小的麥克風(fēng)陣列還真的不是那么簡(jiǎn)單,為了更好地顯示這種差別,我們測試了某語(yǔ)音識別引擎在單麥克風(fēng)和四麥克風(fēng)環(huán)形陣列的識別率對比。另外也要提醒,語(yǔ)音識別率并非只有一個(gè)WER指標,還有個(gè)重要的虛警率指標,稍微有點(diǎn)聲音就亂識別也不行,另外還要考慮閾值的影響,這都是麥克風(fēng)陣列技術(shù)中的陷阱。

麥克風(fēng)陣列的關(guān)鍵技術(shù)
消費級的麥克風(fēng)陣列主要面臨環(huán)境噪聲、房間混響、人聲疊加、模型噪聲、陣列結構等問(wèn)題,若使用到語(yǔ)音識別場(chǎng)景,還要考慮針對語(yǔ)音識別的優(yōu)化和匹配等問(wèn)題。為了解決上述問(wèn)題,特別是在消費領(lǐng)域的垂直場(chǎng)景應用環(huán)境中,關(guān)鍵技術(shù)就顯得尤為重要。
噪聲抑制:語(yǔ)音識別倒不需要完全去除噪聲,相對來(lái)說(shuō)通話(huà)系統中需要的技術(shù)則是噪聲去除。這里說(shuō)的噪聲一般指環(huán)境噪聲,比如空調噪聲,這類(lèi)噪聲通常不具有空間指向性,能量也不是特別大,不會(huì )掩蓋正常的語(yǔ)音,只是影響了語(yǔ)音的清晰度和可懂度。這種方法不適合強噪聲環(huán)境下的處理,但是應付日常場(chǎng)景的語(yǔ)音交互足夠了。
混響消除:混響在語(yǔ)音識別中是個(gè)蠻討厭的因素,混響去除的效果很大程度影響了語(yǔ)音識別的效果。我們知道,當聲源停止發(fā)聲后,聲波在房間內要經(jīng)過(guò)多次反射和吸收,似乎若干個(gè)聲波混合持續一段時(shí)間,這種現象叫做混響;祉憰(huì )嚴重影響語(yǔ)音信號處理,比如互相關(guān)函數或者波束主瓣,降低測向精度。

回聲抵消:嚴格來(lái)說(shuō),這里不應該叫回聲,應該叫“自噪聲”;芈暿腔祉懙难由旄拍,這兩者的區別就是回聲的時(shí)延更長(cháng)。一般來(lái)說(shuō),超過(guò)100毫秒時(shí)延的混響,人類(lèi)能夠明顯區分出,似乎一個(gè)聲音同時(shí)出現了兩次,我們就叫做回聲,比如天壇著(zhù)名的回聲壁。實(shí)際上,這里所指的是語(yǔ)音交互設備自己發(fā)出的聲音,比如Echo音箱,當播放歌曲的時(shí)候若叫Alexa,這時(shí)候麥克風(fēng)陣列實(shí)際上采集了正在播放的音樂(lè )和用戶(hù)所叫的Alexa聲音,顯然語(yǔ)音識別無(wú)法識別這兩類(lèi)聲音;芈暤窒褪且サ羝渲械囊魳(lè )信息而只保留用戶(hù)的人聲,之所以叫回聲抵消,只是延續大家的習慣而已,其實(shí)是不恰當的。
聲源測向:這里沒(méi)有用聲源定位,測向和定位是不太一樣的,而消費級麥克風(fēng)陣列做到測向就可以了,沒(méi)必要在這方面投入太多成本。聲源測向的主要作用就是偵測到與之對話(huà)人類(lèi)的聲音以便后續的波束形成。聲源測向可以基于能量方法,也可以基于譜估計,陣列也常用TDOA技術(shù)。聲源測向一般在語(yǔ)音喚醒階段實(shí)現,VAD技術(shù)其實(shí)就可以包含到這個(gè)范疇,也是未來(lái)功耗降低的關(guān)鍵研究?jì)热荨?/span>
波束形成:波束形成是通用的信號處理方法,這里是指將一定幾何結構排列的麥克風(fēng)陣列的各麥克風(fēng)輸出信號經(jīng)過(guò)處理(例如加權、時(shí)延、求和等)形成空間指向性的方法。波束形成主要是抑制主瓣以外的聲音干擾,這里也包括人聲,比如幾個(gè)人圍繞Echo談話(huà)的時(shí)候,Echo只會(huì )識別其中一個(gè)人的聲音。
陣列增益:這個(gè)比較容易理解,主要是解決拾音距離的問(wèn)題,若信號較小,語(yǔ)音識別同樣不能保證,通過(guò)陣列處理可以適當加大語(yǔ)音信號的能量。
模型匹配:這個(gè)主要是和語(yǔ)音識別以及語(yǔ)義理解進(jìn)行匹配,語(yǔ)音交互是一個(gè)完整的信號鏈,從麥克風(fēng)陣列開(kāi)始的語(yǔ)音流不可能割裂的存在,必然需要模型匹配在一起。實(shí)際上,效果較好的語(yǔ)音交互專(zhuān)用麥克風(fēng)陣列,通常是兩套算法,一套內嵌于硬件實(shí)時(shí)處理,另外一套服務(wù)于云端匹配語(yǔ)音處理。
麥克風(fēng)陣列的技術(shù)趨勢
語(yǔ)音信號其實(shí)是不好處理的,我們知道信號處理大多基于平穩信號的假設,但是語(yǔ)音信號的特征參數均是隨時(shí)間而變化的,是典型的非平穩態(tài)過(guò)程。幸運的是語(yǔ)音信號在一個(gè)較短時(shí)間內的特性相對穩定(語(yǔ)音分幀),因而可以將其看作是一個(gè)準穩態(tài)過(guò)程,也就是說(shuō)語(yǔ)音信號具有短時(shí)平穩的特性,這才能用主流信號處理方法對其處理。從這點(diǎn)來(lái)看,麥克風(fēng)陣列的基本原理和模型方面就存在較大的局限,也包括聲學(xué)的非線(xiàn)性處理(現在基本忽略非線(xiàn)性效應),因此基礎研究的突破才是未來(lái)的根本。希望能有更多熱愛(ài)人工智能的學(xué)生關(guān)注聲學(xué),報考我們中科院聲學(xué)所。

另外一個(gè)趨勢就是麥克風(fēng)陣列的小型化,麥克風(fēng)陣列受制于半波長(cháng)理論的限制,現在的口徑還是較大,聲智科技現在可以做到2cm-8cm的間距,但是結構布局仍然還是限制了ID設計的自由性。很多產(chǎn)品采用2個(gè)麥克風(fēng)其實(shí)并非成本問(wèn)題,而是ID設計的考慮。實(shí)際上,借鑒雷達領(lǐng)域的合成孔徑方法,麥克風(fēng)陣列可以做的更小,而且這種方法已經(jīng)在軍工領(lǐng)域成熟驗證,移植到消費領(lǐng)域只是時(shí)間問(wèn)題。
還有一個(gè)趨勢是麥克風(fēng)陣列的低成本化,當前無(wú)論是2個(gè)麥克風(fēng)還是4、6個(gè)麥克風(fēng)陣列,成本都是比較高的,這影響了麥克風(fēng)陣列的普及。低成本化不是簡(jiǎn)單的更換芯片器件,而是整個(gè)結構的重新設計,包括器件、芯片、算法和云端。這里要強調一下,并非2個(gè)麥克風(fēng)的陣列成本就便宜,實(shí)際上2個(gè)和4個(gè)麥克風(fēng)陣列的相差不大,2個(gè)麥克風(fēng)陣列的成本也要在60元左右,但是這還不包含進(jìn)行回聲抵消的硬件成本,若綜合比較,實(shí)際上成本相差不大。特別是今年由于新技術(shù)的應用,多麥克風(fēng)陣列的成本下降非常明顯。
再多說(shuō)一個(gè)趨勢就是多人聲的處理和識別,其中典型的是雞尾酒會(huì )效應,人的耳朵可以在嘈雜的環(huán)境中分辨想要的聲音,并且能夠同時(shí)識別多人說(shuō)話(huà)的聲音。現在的麥克風(fēng)陣列和語(yǔ)音識別還都是單人識別模式,距離多人識別的目標還很遠。前面提到了現在的算法思想主要是“抑制”,而不是“利用”,這實(shí)際上就是人為故意簡(jiǎn)化了物理模型,說(shuō)白了就是先拿“軟柿子”下手,因此語(yǔ)音交互格局已定的說(shuō)法經(jīng)不起推敲,對語(yǔ)音交互的認識和探究應該說(shuō)才剛剛開(kāi)始,基礎世界的探究很可能還會(huì )出現諾獎級的成果。若展望的更遠一些,則是物理學(xué)的進(jìn)展和人工智能的進(jìn)展相結合,可能會(huì )顛覆當前的聲學(xué)信號處理以及語(yǔ)音識別方法。
如何選用麥克風(fēng)陣列?
當前成熟的麥克風(fēng)陣列的主要包括:訊飛的2麥、4麥和6麥方案,思必馳的6+1麥方案,云知聲(科勝訊)的2麥方案,以及聲智科技的單麥、2麥陣列、4(+1)麥陣列、6(+1)麥陣列和8(+1)麥陣列方案,其他家也有麥克風(fēng)陣列的硬件方案,但是缺乏前端算法和云端識別的優(yōu)化。由于各家算法原理的不同,有些陣列方案可以由用戶(hù)自主選用中間的麥克風(fēng),這樣更利于用戶(hù)進(jìn)行ID設計。其中,2個(gè)以上的麥克風(fēng)陣列又分為線(xiàn)形和環(huán)形兩種主流結構,而2麥的陣列則又有Broadside和Endfire兩種結構,限于篇幅我們以后的文章再展開(kāi)敘述。
如此眾多的組合,那么廠(chǎng)商該如何選擇這些方案呢?首先還是要看產(chǎn)品定位和用戶(hù)場(chǎng)景。若定位于追求性?xún)r(jià)比的產(chǎn)品,其實(shí)就不用考慮麥克風(fēng)陣列方案,就直接采用單麥方案,利用算法進(jìn)行優(yōu)化,也可實(shí)現噪聲抑制和回聲抵消,能夠保證近場(chǎng)環(huán)境下的語(yǔ)音識別率,而且成本絕對要低很多。至于單麥語(yǔ)音識別的效果,可以體驗下采用聲智科技單麥識別算法的360兒童機器人。
但是若想更好地去除部分噪聲,可以選用2麥方案,但是這種方案比較折衷,主要優(yōu)點(diǎn)就是ID設計簡(jiǎn)單,在通話(huà)模式(也就是給人聽(tīng))情況下可以去除某個(gè)范圍內的噪音。但是語(yǔ)音識別(也就是給機器聽(tīng))的效果和單麥的效果卻沒(méi)有實(shí)質(zhì)區別,成本相對也比較高,若再考慮語(yǔ)音交互終端必要的回聲抵消功能,成本還要上升不少。2麥方案最大的弊端還是聲源定位的能力太差,因此大多是用在手機和耳機等設備上實(shí)現通話(huà)降噪的效果。這種降噪效果可以采用一個(gè)指向性麥克風(fēng)(比如會(huì )議話(huà)筒)來(lái)模擬,這實(shí)際上就是2麥的Endfire結構,也就是1個(gè)麥克風(fēng)通過(guò)原理設計模擬了2個(gè)麥克風(fēng)的功能。指向性麥克風(fēng)的不方便之處就是ID設計需要前后兩個(gè)開(kāi)孔,這很麻煩,例如叮咚1代音箱采用的就是這種指向性麥克風(fēng)方案,因此采用了周邊一圈的懸空設計。
若希望產(chǎn)品能適應更多用戶(hù)場(chǎng)景,則可以類(lèi)似亞馬遜Echo一樣直接選用4麥以上的麥克風(fēng)陣列。這里簡(jiǎn)單給個(gè)參考,機器人一般4個(gè)麥克風(fēng)就夠了,音箱建議還是選用6個(gè)以上麥克風(fēng),至于汽車(chē)領(lǐng)域,最好是選用其他結構形式的麥克風(fēng)陣列,比如分布式陣列。
多個(gè)麥克風(fēng)陣列之間的成本差異現在正在變小,估計明年的成本就會(huì )相差不大。這是趨勢,新興的市場(chǎng)剛開(kāi)始成本必然偏高,但隨著(zhù)技術(shù)進(jìn)步和規模擴張,成本會(huì )快速走低,因此新興產(chǎn)品在研發(fā)階段倒是不需要太過(guò)糾結成本問(wèn)題,用戶(hù)體驗才是核心的關(guān)鍵。 |