目前業(yè)界正在使用MEMS麥克風(fēng)陣列子系統(tǒng)開(kāi)發(fā)嵌入式音頻定位、自動(dòng)語(yǔ)音識(shí)別和自動(dòng)說(shuō)話人識(shí)別解決方案,聲音識(shí)別定位是我們識(shí)別確認(rèn)他人身份的基本功能,當(dāng)我們聽(tīng)到有人講話時(shí),會(huì)將頭轉(zhuǎn)向說(shuō)話人,查看說(shuō)話人。
音源定位是自動(dòng)語(yǔ)音識(shí)別和自動(dòng)說(shuō)話人識(shí)別系統(tǒng)的一個(gè)重要環(huán)節(jié),對(duì)于提高語(yǔ)音識(shí)別系統(tǒng)的性能至關(guān)重要。麥克風(fēng)陣列可捕捉從不同方向傳來(lái)的聲音,通過(guò)算法運(yùn)算使麥克風(fēng)指向某一個(gè)特定方向,放大從該方向捕捉到的音頻信號(hào),同時(shí)衰減從其它方向捕捉的音頻信號(hào),整個(gè)動(dòng)作就像一個(gè)智能麥克風(fēng)。
系統(tǒng)框架
整個(gè)系統(tǒng)由以下幾個(gè)子系統(tǒng)組成:音源方向測(cè)定、數(shù)據(jù)融合、自動(dòng)語(yǔ)音識(shí)別和自動(dòng)說(shuō)話人確認(rèn)。其中,音頻方向測(cè)定子系統(tǒng)基于麥克風(fēng)陣列,運(yùn)行三個(gè)不同的音頻方向估算算法;數(shù)據(jù)融合子系統(tǒng)負(fù)責(zé)推斷方向,自動(dòng)語(yǔ)音識(shí)別子系統(tǒng)利用傳入的音頻信號(hào)增強(qiáng)主音源信號(hào)強(qiáng)度,衰減主音源周圍的其它音頻信號(hào)。最后,自動(dòng)說(shuō)話人確認(rèn)子系統(tǒng)識(shí)別某些關(guān)鍵詞匯,再利用相關(guān)特征與說(shuō)話人匹配。
如果語(yǔ)音識(shí)別任務(wù)沒(méi)有成功,則反饋給數(shù)據(jù)融合系統(tǒng),估算新方向傳入的語(yǔ)音,然后驅(qū)動(dòng)麥克風(fēng)陣列指向該方向。
[page]
語(yǔ)音識(shí)別和說(shuō)話人識(shí)別
語(yǔ)音特征提取(27 LPC-倒普系數(shù))需要確定語(yǔ)音的端點(diǎn),將語(yǔ)音分成數(shù)個(gè)短禎(每禎20 ms),通過(guò)一個(gè)DTW模式對(duì)準(zhǔn)算法與一組參考語(yǔ)音(模板)匹配。然后,應(yīng)用歐氏距離測(cè)量法進(jìn)行相似性評(píng)估。
說(shuō)話人身份評(píng)分采用的是動(dòng)態(tài)時(shí)間規(guī)整近鄰(DTW-KNN)算法的距離測(cè)量方法,即動(dòng)態(tài)時(shí)間規(guī)整測(cè)量算法與近鄰決策算法的合并算法。這個(gè)算法需要使用均方根、過(guò)零率、自動(dòng)相關(guān)和倒普線性預(yù)測(cè)系數(shù)。使用歐氏距離算法計(jì)算成本函數(shù),使用KNN 算法計(jì)算最小距離匹配度 k。
MEMS麥克風(fēng)陣列
我們采用STM32F4微控制器和MEMS麥克風(fēng)開(kāi)發(fā)一個(gè)硬件音頻信號(hào)同步采集處理子系統(tǒng),其信號(hào)捕捉能力相當(dāng)于8個(gè)采樣率高達(dá)48 KHz的麥克風(fēng) 。
MEMS技術(shù)
MEMS技術(shù)的主要特性是在能夠同一芯片表面集成微電子和微機(jī)械單元,在同一封裝內(nèi)整合不同的功能。這樣,過(guò)去分別由傳感器、執(zhí)行器(例如,射流管理或機(jī)械交互)和邏輯、控制單元完成的不同功能,今天可以整合在同一個(gè)封裝內(nèi)。從生化分析,到慣性系統(tǒng),從機(jī)械傳感器,到音頻和聲波傳感器, MEMS產(chǎn)品覆蓋很多應(yīng)用領(lǐng)域。
MEMS麥克風(fēng)和音頻編碼
MEMS麥克風(fēng)尺寸雖然比其它技術(shù)麥克風(fēng)小,但是,從物理和機(jī)械角度看,卻具備標(biāo)準(zhǔn)駐極體麥克風(fēng)的全部功能,其核心部件是一個(gè)振膜,振膜和固定框架共同組成一個(gè)可變電容器。當(dāng)聲波引起振膜變形時(shí),電容會(huì)發(fā)生變化,從而導(dǎo)致電壓變化。
被捕捉到的信號(hào)的后期處理,即功率放大和模數(shù)轉(zhuǎn)換過(guò)程,都是在同一芯片上完成,因此,麥克風(fēng)輸出是高頻PDM信號(hào)。在脈沖密度調(diào)制過(guò)程,邏輯1對(duì)應(yīng)一個(gè)正 (+A)脈沖,而邏輯0對(duì)應(yīng)一個(gè)負(fù)(-A)脈沖。因此,假設(shè)輸入一個(gè)周期的正弦音頻,當(dāng)輸入電壓在最大正振幅時(shí),輸出為一個(gè)由“1”組成的脈沖序列;當(dāng)輸入電壓在最大負(fù)振幅時(shí),輸出則是一個(gè)由“0”組成的序列。當(dāng)穿過(guò)0振幅時(shí),聲波在1和0序列之間快速變化。如果方法正確,PDM可通過(guò)數(shù)字方法給高品質(zhì)音頻編碼,而且實(shí)現(xiàn)方法簡(jiǎn)易,成本低廉。因此,PDM比特流是MEMS麥克風(fēng)常用的數(shù)據(jù)輸出格式。
另一方面,PCM是一個(gè)非常著名的音頻編碼標(biāo)準(zhǔn),以相同的間隔對(duì)信號(hào)振幅定期采樣,在數(shù)字步進(jìn)范圍內(nèi),每個(gè)采樣被量化至最接近值。決定比特流是否忠實(shí)原模擬信號(hào)的是PCM比特流的兩個(gè)基本屬性:采樣率,即每秒采樣次數(shù);位寬,即每個(gè)采樣包含的二進(jìn)制數(shù)個(gè)數(shù);通過(guò)降低采樣率(降低十分之一)和提高字長(zhǎng),可以將PDM編碼信號(hào)轉(zhuǎn)成PCM信號(hào),PDM數(shù)據(jù)速率與降低十分之一的PCM采樣率的比值被稱為降采樣率。因此,對(duì)于N:1降采樣率,只要每N個(gè)間隔采樣一次(不考慮剩余的N-1),即可完成降低十分之一的采樣過(guò)程。
麥克風(fēng)陣列
從硬件角度看,這款產(chǎn)品基于STM32F407VGT6高性能微控制器,能夠通過(guò)8個(gè)MEMS麥克風(fēng)采集信號(hào)。STM32F4微控制器基于工作頻率最高168 MHz的高性能ARM Cortex-M4 32 RISC處理器內(nèi)核,集成高速嵌入式存儲(chǔ)器(閃存容量最高1 MB, SRAM容量最高192KB)以及標(biāo)準(zhǔn)和先進(jìn)的通信接口,例如,I2S全雙工接口、SPI、 USB FS/HS和以太網(wǎng)。
麥克風(fēng)陣列通過(guò)RJ45以太風(fēng)接口或USB OTG FS接口連接其它器件,與其它器件交互是通過(guò)可控制基本板設(shè)置的DIP開(kāi)關(guān)實(shí)現(xiàn)。
如下圖所示,每個(gè)MEMS麥克風(fēng)都是由同一個(gè)時(shí)鐘源觸發(fā),時(shí)鐘源由專用振蕩器驅(qū)動(dòng),對(duì)每個(gè)GPIO端口的一個(gè)引腳輸出1位PDM 高頻信號(hào)。輸出PDM數(shù)據(jù)頻率與輸入時(shí)鐘同步,因此,DMA控制器以同一頻率即音頻捕捉頻率對(duì)GPIO端口進(jìn)行讀操作,然后將1 ms音頻數(shù)據(jù)(每次)保存在存儲(chǔ)器緩沖電路。這時(shí),該緩沖器包含麥克風(fēng)交叉信號(hào),然后軟件利用優(yōu)化的快速解碼函數(shù)對(duì)數(shù)據(jù)進(jìn)行解復(fù)用處理。最后,PDM 數(shù)據(jù)通過(guò)數(shù)字信號(hào)處理環(huán)節(jié),再進(jìn)行PDM轉(zhuǎn)PCM處理。
麥克風(fēng)傳來(lái)的PDM信號(hào)經(jīng)過(guò)過(guò)濾和十分之一降采樣率處理,以取得所需頻率和分辨率的信號(hào)。麥克風(fēng)輸出的PDM數(shù)據(jù)頻率(麥克風(fēng)的輸入時(shí)鐘)必須是系統(tǒng)最終音頻輸出的倍數(shù),濾波器管道輸出是一個(gè)16位值,我們將 [-32768, 32767]視為一個(gè)單位增益(0 dB)的輸出范圍。
原先濾波管道產(chǎn)生的數(shù)字音頻信號(hào)在信號(hào)調(diào)理前被進(jìn)一步處理。管道第一級(jí)是一個(gè)高通濾波器,主要用于除掉信號(hào)DC失調(diào)。為保護(hù)信號(hào)質(zhì)量,該濾波級(jí)是使用一個(gè)截止頻率不在可聽(tīng)頻率范圍內(nèi)的 IIR濾波器,管道第二級(jí)是一個(gè)基于IIR濾波器的低通濾波器。兩個(gè)濾波器有啟用和禁用以及配置功能;可通過(guò)外部整數(shù)變量控制增益。
如上文所述,數(shù)據(jù)采集有兩個(gè)比特流解決方案,通過(guò)DP開(kāi)關(guān)選擇用哪一個(gè)方案。當(dāng)選用 USB且在主機(jī)USB插入麥克風(fēng)陣列時(shí),主機(jī)將STM32_MEMS_Microphones視為一個(gè)標(biāo)準(zhǔn)的USB音頻設(shè)備。因此,主機(jī)系統(tǒng)無(wú)需安裝驅(qū)動(dòng)軟件。例如, STM32_MEMS_Microphones可直接連接第三方PC音頻采集軟件。當(dāng)選用以太網(wǎng)時(shí),STM32_MEMS_Microphones發(fā)送RTP數(shù)據(jù)包。在網(wǎng)絡(luò)服務(wù)器的以太網(wǎng)設(shè)置頁(yè)對(duì)目的地IP、設(shè)備單播地址和采集參數(shù)進(jìn)行配置。
結(jié)語(yǔ)
音源定位識(shí)別是語(yǔ)音識(shí)別技術(shù)中的一個(gè)重要的語(yǔ)音預(yù)處理環(huán)節(jié),對(duì)提高音頻應(yīng)用和聲控應(yīng)用性能具有重要意義。音源定位主要用于自動(dòng)語(yǔ)音識(shí)別、音頻模式識(shí)別、說(shuō)話人發(fā)現(xiàn)及識(shí)別。MEMS技術(shù)的問(wèn)世讓麥克風(fēng)陣列能夠嵌入在上述應(yīng)用設(shè)計(jì)中,執(zhí)行音頻信號(hào)預(yù)處理過(guò)程,為應(yīng)用級(jí)提供最好的信息。
該嵌入式單個(gè)說(shuō)話人及其語(yǔ)音定位識(shí)別方案基于一個(gè)集成ARM處理器和一組MEMS麥克風(fēng)的原型板。初步測(cè)試結(jié)果證明了這一集成方案的可行性,且系統(tǒng)級(jí)模塊可以做語(yǔ)音、音頻識(shí)別目標(biāo)板,滿足人機(jī)、人與周圍環(huán)境的自然用戶界面的功能要求。
相關(guān)閱讀:
通透了解MEMS硅晶振,只需一篇文章即可
MEMS慣性傳感器在工業(yè)控制的未來(lái)之路
技術(shù)圖解MEMS壓力傳感器的原理與應(yīng)用