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