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