陶夢(mèng)春 毛躍輝 汪進(jìn) 文皓
珠海格力電器股份有限公司 廣東珠海 519070
語(yǔ)音空調(diào)在識(shí)別控制時(shí),需要先喚醒設(shè)備的語(yǔ)音功能,然后再進(jìn)行下一步語(yǔ)音識(shí)別,目前,帶語(yǔ)音功能的產(chǎn)品在市場(chǎng)上越來(lái)越多,且同一品牌語(yǔ)音產(chǎn)品更是出現(xiàn)系列化銷(xiāo)售,如家居成套家電語(yǔ)音空調(diào)、語(yǔ)音吸油煙機(jī)、語(yǔ)音電飯煲等。為有效管控語(yǔ)音模塊的通用化,降低用戶使用系列化語(yǔ)音產(chǎn)品的學(xué)習(xí)成本,一般都會(huì)采用一個(gè)品牌選用同一個(gè)喚醒詞方式來(lái)覆蓋語(yǔ)音產(chǎn)品(如我司喚醒詞“格力空調(diào)”),同時(shí)也便于語(yǔ)音產(chǎn)品語(yǔ)音功能宣傳一致性,提升產(chǎn)品認(rèn)知度。
當(dāng)前市場(chǎng)盛行同品牌成套場(chǎng)景化語(yǔ)音產(chǎn)品銷(xiāo)售,當(dāng)用戶購(gòu)買(mǎi)成套語(yǔ)音家電后,分別安置于不同應(yīng)用場(chǎng)所場(chǎng)景中,如客廳場(chǎng)景、臥室場(chǎng)景、廚房場(chǎng)景、餐廳場(chǎng)景等,用同一個(gè)喚醒詞喚醒,就會(huì)帶來(lái)不必要的使用麻煩,有可能出現(xiàn)所有帶語(yǔ)音功能且為該喚醒詞的語(yǔ)音產(chǎn)品(同類(lèi)產(chǎn)品或不同類(lèi)產(chǎn)品)在同一時(shí)間被同時(shí)喚醒應(yīng)答(不同空間語(yǔ)音產(chǎn)品,只要被采集到正確的喚醒詞就會(huì)被喚醒),出現(xiàn)“一呼百應(yīng)”的現(xiàn)象;倘若用戶采用自定義不同喚醒詞設(shè)置區(qū)分對(duì)待,用戶將需要刻意去記憶每個(gè)語(yǔ)音產(chǎn)品的喚醒詞,設(shè)備一多就會(huì)顯得累贅、繁瑣,如此增加用戶使用成本,降低用戶使用效率,造成語(yǔ)音功能體驗(yàn)和舒適性差的情況發(fā)生。
為解決上述同一喚醒詞“一呼百應(yīng)”現(xiàn)象,本文提出基于本地Wi-Fi局域網(wǎng)通信,引入自適應(yīng)濾波降噪算法,針對(duì)就近語(yǔ)音喚醒及識(shí)別關(guān)鍵技術(shù)開(kāi)展綜合研究,并在空調(diào)上進(jìn)行應(yīng)用驗(yàn)證,從而解決設(shè)備空間就近喚醒與識(shí)別的工程應(yīng)用問(wèn)題,以下以成套語(yǔ)音空調(diào)進(jìn)行示例分析。
基于自適應(yīng)濾波語(yǔ)音降噪系統(tǒng)以自適應(yīng)噪聲消除方法為基礎(chǔ)[1],基本原理如圖1所示。該降噪模型有4個(gè)輸入端(4個(gè)麥克風(fēng)采集)或者2個(gè)輸入端[2](2個(gè)麥克風(fēng)采集),本文主要研究4個(gè)麥克風(fēng)陣元(按序形成mic1、mic2、mic3、mic4)組成的麥克風(fēng)陣列,mic1和mic3作為主輸入通道,即含背景噪音的語(yǔ)音信號(hào)(用戶聲音疊加環(huán)境噪音),mic2和mic4輸入信號(hào)作為自適應(yīng)濾波器的參考信號(hào)。由于mic1、mic3與mic2、mic4中的噪聲信號(hào)是同一噪聲信號(hào)產(chǎn)生的,因此,mic1、mic3與mic2、mic4中的噪聲信號(hào)是相關(guān)的,且噪聲信號(hào)與語(yǔ)音信號(hào)不相關(guān)[1]。使用自適應(yīng)濾波算法調(diào)整濾波器參數(shù),使得濾波器輸出信號(hào)接近于mic1和mic3中噪聲信號(hào),相減后得到純凈語(yǔ)音信號(hào)。
圖1 語(yǔ)音降噪系統(tǒng)的基本原理
定義一個(gè)基于P范數(shù)[3]的代價(jià)函數(shù):
式中:e(i)=d(i)-wT(n)x(i);d(i)為期望信號(hào);x(i)為輸入信號(hào);e(i)為后驗(yàn)誤差信號(hào);wT(n)為自適應(yīng)濾波器抽頭系數(shù)向量;λ為遺忘因子,其最佳取值范圍為[0.99,1][1],圖2為聲源音頻(模擬用戶聲源)文件的波形圖,混合室內(nèi)以及空調(diào)內(nèi)部結(jié)構(gòu)混響噪音得到,圖3為麥克風(fēng)讀取拾音聲源(模擬用戶聲音和環(huán)境噪音的混合聲音)波形圖,通過(guò)上述自適應(yīng)降噪系統(tǒng)最終得到圖4的波形圖。原音頻文件波形圖如圖2所示,麥克風(fēng)讀取拾音原波形圖如圖3所示,經(jīng)過(guò)自適應(yīng)降噪算法處理后麥克風(fēng)讀取拾音過(guò)后的波形圖如圖4所示。
圖2 聲源音頻文件原始波形圖
圖3 麥克風(fēng)(mic1和mic3)拾音聲源和噪音混合波形圖
圖4 自適應(yīng)降噪算法處理后的波形圖
圖3中麥克風(fēng)拾音聲源經(jīng)自適應(yīng)降噪算法處理得到圖4波形,且圖2與圖4波形對(duì)比可知,波形幅值大概一致。通過(guò)自適應(yīng)降噪算法消除室內(nèi)噪音和空調(diào)內(nèi)部混響,提取聲源本身能量值來(lái)觸發(fā)目標(biāo)空調(diào)被喚醒,同時(shí)能夠有效提高就近喚醒的喚醒率。
通信方式:局域網(wǎng)廣播通信,單向發(fā)送接收延時(shí)100 ms以內(nèi)。
網(wǎng)絡(luò)中的節(jié)點(diǎn)分為master節(jié)點(diǎn)和slave節(jié)點(diǎn),master節(jié)點(diǎn)只有一個(gè),每個(gè)節(jié)點(diǎn)都會(huì)維護(hù)網(wǎng)絡(luò)中所有節(jié)點(diǎn)的信息,并標(biāo)記出哪一個(gè)是master節(jié)點(diǎn),見(jiàn)圖5 master選舉流程圖。
圖5 master選舉流程圖
(1)網(wǎng)絡(luò)創(chuàng)建:節(jié)點(diǎn)啟動(dòng)后,在規(guī)定時(shí)間內(nèi)沒(méi)有接收到master信令,則主動(dòng)變更為master節(jié)點(diǎn),并開(kāi)始廣播組網(wǎng)信令,此時(shí)網(wǎng)絡(luò)創(chuàng)建成功。
(2)節(jié)點(diǎn)加入:節(jié)點(diǎn)啟動(dòng)后,在規(guī)定時(shí)間內(nèi)接收到了master信令,則保持slave節(jié)點(diǎn)的角色,記錄master節(jié)點(diǎn)的信息,并開(kāi)始廣播組網(wǎng)信令;網(wǎng)內(nèi)其它設(shè)備接收到新節(jié)點(diǎn)的組網(wǎng)信令,將新節(jié)點(diǎn)加入到自己的節(jié)點(diǎn)列表中。
(3)節(jié)點(diǎn)離開(kāi):設(shè)備遍歷自己的列表中各個(gè)節(jié)點(diǎn),并檢查最后一次接收到此節(jié)點(diǎn)的信令距離當(dāng)前經(jīng)歷多長(zhǎng)時(shí)間,如果超過(guò)規(guī)定時(shí)間,則認(rèn)為心跳過(guò)期,則將此節(jié)點(diǎn)從列表中移除。
仲裁協(xié)議[4]通信方式:局域網(wǎng)單播通信,單向發(fā)送接收延時(shí)100 ms以內(nèi)。
仲裁信令:
(1)請(qǐng)求信令:slave節(jié)點(diǎn)向master節(jié)點(diǎn)發(fā)送仲裁請(qǐng)求;
(2)響應(yīng)信令:master節(jié)點(diǎn)向slave節(jié)點(diǎn)發(fā)送請(qǐng)求信令的響應(yīng);
(3)等待超時(shí):response等待超時(shí)slave節(jié)點(diǎn)上生效。slave節(jié)點(diǎn)發(fā)送request之后,等待500 ms未接收到response,則觸發(fā)等待超時(shí),超時(shí)后放棄本次喚醒交互。request等待超時(shí)master節(jié)點(diǎn)[4]上生效,master節(jié)點(diǎn)在接收到第一個(gè)request時(shí)開(kāi)始計(jì)時(shí),若在300 ms內(nèi)接收到所有slave節(jié)點(diǎn)的請(qǐng)求,則停止等待,并執(zhí)行仲裁算法[5],后續(xù)到來(lái)的request被丟棄,具體流程見(jiàn)圖6仲裁方案流程圖。
圖6 仲裁方案流程圖
仲裁算法包括兩部分:slave節(jié)點(diǎn)負(fù)責(zé)收集喚醒相關(guān)的信息并計(jì)算距離值[6],也叫距離算法,用于推算聲源與節(jié)點(diǎn)設(shè)備之間的距離。master節(jié)點(diǎn)負(fù)責(zé)交互節(jié)點(diǎn)選舉的判決,主要是比較各slave節(jié)點(diǎn)的距離遠(yuǎn)近,距離說(shuō)話人最近的設(shè)備無(wú)論在原始信息完整程度上還是與說(shuō)話人的交互效果上往往都被認(rèn)為是最佳的。因此,多語(yǔ)音產(chǎn)品系統(tǒng)中,檢測(cè)出離用戶最近產(chǎn)品是很有必要的。能量檢測(cè)引擎(Distribute Microphone Array Distance Detector,DMA-DD,簡(jiǎn)稱DD)致力于解決這個(gè)問(wèn)題,DD引擎的有效性基于兩個(gè)依據(jù):①語(yǔ)音從聲源發(fā)出,隨著傳播距離的增加其能量大小逐漸衰減;②頻率越高能量衰減越快。
DD引擎目的是為了解決就近喚醒語(yǔ)音系統(tǒng)中的相對(duì)距離問(wèn)題,但是引擎本身只具有距離度量估計(jì)功能,因此,每個(gè)設(shè)備上都需要運(yùn)行DD引擎,每個(gè)設(shè)備中反饋的度量值需要在SDK層進(jìn)行比較(當(dāng)前版本引擎取距離度量值的最大值對(duì)應(yīng)設(shè)備為最近設(shè)備)。圖7為仲裁算法流程圖。
圖7 仲裁算法流程圖
試驗(yàn)環(huán)境是模擬家居場(chǎng)景進(jìn)行布局,試驗(yàn)中設(shè)備A、設(shè)備B、設(shè)備C都為同一喚醒詞的語(yǔ)音空調(diào),識(shí)別聲源為高保真音響發(fā)聲模擬,利用高保真音響發(fā)聲代替用戶識(shí)別是為了確保聲音大小的一致性和可復(fù)現(xiàn)性,根據(jù)喚醒得分值大小,通過(guò)master仲裁決策,最終得出組網(wǎng)下目標(biāo)空調(diào)被喚醒效果。如圖8、圖10、圖12得分曲線圖中縱坐標(biāo)為空調(diào)被喚醒的分?jǐn)?shù)值,橫坐標(biāo)為試驗(yàn)次數(shù),master仲裁目標(biāo)空調(diào)被喚醒依據(jù)每個(gè)設(shè)備喚醒的分?jǐn)?shù)值大小作出判斷。
圖8 安靜環(huán)境下空調(diào)喚醒得分曲線
圖9房間設(shè)備布置示意圖顯示用戶(聲源)靠近設(shè)備C,圖8為安靜環(huán)境下空調(diào)喚醒得分曲線,分析試驗(yàn)數(shù)據(jù)可知設(shè)備C的喚醒率達(dá)到95%,設(shè)備C是相對(duì)用戶最合適的語(yǔ)音設(shè)備被喚醒,分析結(jié)果與房間實(shí)際設(shè)備布局圖9示意的用戶期望喚醒設(shè)備C一致,說(shuō)明本文試驗(yàn)的組網(wǎng)方式和仲裁算法出力性能滿足就近喚醒識(shí)別要求。
圖9 安靜環(huán)境下房間設(shè)備布局分布圖
圖10和圖12分別表示噪音環(huán)境下,帶自適應(yīng)降噪空調(diào)喚醒得分曲線和無(wú)自適應(yīng)降噪空調(diào)喚醒得分曲線,有自適應(yīng)降噪算法和無(wú)自適應(yīng)降噪算法試驗(yàn)均在同一環(huán)境下試驗(yàn),相應(yīng)的設(shè)備在房間中的布局示意如圖11和圖13。通過(guò)對(duì)兩組試驗(yàn)數(shù)據(jù)分析,圖10表示帶自適應(yīng)降噪空調(diào)喚醒得分曲線,從圖11知設(shè)備C靠近聲源,試驗(yàn)統(tǒng)計(jì)空調(diào)C的喚醒率為85.14%;圖12表示無(wú)自適應(yīng)降噪空調(diào)喚醒得分曲線,從圖13知設(shè)備C靠近聲源,統(tǒng)計(jì)空調(diào)C的喚醒率為20.22%。圖10和圖12數(shù)據(jù)說(shuō)明自適應(yīng)降噪算法對(duì)語(yǔ)音就近喚醒降噪效果明顯。通過(guò)上述試驗(yàn)數(shù)據(jù)分析,語(yǔ)音預(yù)處理通過(guò)自適應(yīng)降噪算法過(guò)濾掉室內(nèi)噪音和空調(diào)內(nèi)機(jī)回聲[7]對(duì)就近喚醒性能提高有顯著效果。
圖10 帶自適應(yīng)降噪空調(diào)喚醒得分曲線
圖11 帶自適應(yīng)降噪設(shè)備布局分布圖
圖12 無(wú)自適應(yīng)降噪空調(diào)喚醒得分曲線
圖13 無(wú)自適應(yīng)降噪設(shè)備布局分布圖
(1)通過(guò)語(yǔ)音空調(diào)前端自適應(yīng)降噪算法應(yīng)用,把家居內(nèi)的環(huán)境噪音和空調(diào)內(nèi)部的混響進(jìn)行有效過(guò)濾,保證了后續(xù)能通過(guò)語(yǔ)音能量值進(jìn)行仲裁,并喚醒就近目標(biāo)空調(diào)設(shè)備;
(2)局域網(wǎng)下語(yǔ)音空調(diào)自組網(wǎng)成功,通過(guò)master進(jìn)行仲裁,使得語(yǔ)音能量值高的語(yǔ)音空調(diào)被喚醒[7],其它語(yǔ)音空調(diào)處于靜默狀態(tài),避免產(chǎn)生“一呼百應(yīng)”的現(xiàn)象;
(3)下一步將針對(duì)不同陣列數(shù)量、不同機(jī)型,進(jìn)行跨路由仲裁和跨產(chǎn)品之間的控制應(yīng)用研究。