,,
(華南理工大學機械與汽車工程學院,廣東 廣州 510640)
隨著汽車電子技術在整車的廣泛運用,車載信息娛樂系統得到了極大的升級,而且國內汽車品牌近年來所推出的汽車,尤其是智能網聯汽車,多在信息娛樂系統上搭載了語音功能[1],用來控制多媒體主機的部分功能或者通過語料識別后由車載主機來實現部分與車身節點CAN交互的功能控制[2]。但車輛在運行過程中,常碰到高車速或高噪音的路況,行車過程中碰到的環境復雜,不僅有車內外的自然雜音,同時還有中控系統自身的音樂聲、TTS(text to speak)語音播報、藍牙電話等聲音。這些非使用人員輸入的混合聲共同構成了混合回聲,會影響語音系統對人聲下發指令的識別,所以需要對回聲作消除處理[3]。通常,車內的麥克風(MIC)在錄音之后,會經過一個信號轉換和信號放大的過程,然后輸入給語音系統的載體,即信息娛樂系統,再由信息系娛樂系統處理這些信號,最終識別后再進行動作。但是由于中控系統產生的回聲,如不對其進行特殊處理,那么在用戶輸入車載語音命令的時候,就會被MIC一起收集,當人聲和回聲的信號被無差別地送入車機系統級芯片(SoC)時,就容易造成誤識別或者無法識別的情況。另外,為了更好地采集到人聲和提升用戶體驗,在MIC的選擇和布置上需要另外考慮MIC的參數,選擇適合車載語音使用的MIC[4]。
本文所設計的語音回聲消除硬件方案選擇訊飛的XF6020SYE芯片,該芯片需要配合信息娛樂系統主機一起使用,由主機進行供電。XF6020SYE在工作中主要有2個作用:一是允許4路的MIC模擬信號輸入,經模擬數字轉換器(ADC),將聲音轉化為數字信號,送入XF6020SYE做回聲消除;二是主機內部自己的聲音數字信號,稱為參考數字信號,可支持4路參考信號(FL/FR/RL/RR),經過主機的數字信號處理(DSP)芯片處理之后,輸入進XF6020SYE,接著XF6020SYE對該參考信號進行回聲消除處理后,再把處理后的數字信號傳送給主機DSP,最后經DAC重新轉換成模擬信號后輸出,這就構成了中控主機自己內部的回聲消除過程。需要注意的是,這2種聲音信號的處理過程在一個錄音循環工作過程中是都會進行的。利用TDM[5](time-division multiplexing)技術可讓多種信號按一定時序在一個通信線路上進行傳輸,以上就是按照TDM8的格式完成主機和XF6020SYE的信號傳輸。XF6020SYE進行回聲消除的系統架構如圖1所示。

圖1 回聲消除模塊硬件框架
由于XF6020SYE是主機SoC音頻接口的從動設備,要求MIC信號的音頻采樣率必須與參考信號的采樣率一致,另外需要車機為XF6020SYE提供音頻時鐘,車機主控芯片集成XF6020SYE時需要確保輸入的MIC數字信號、車機參考數字信號以及輸出的處理結果數字信號是同源時鐘的。音頻時鐘設置情況如圖2所示。

圖2 音頻時鐘示意
XF6020SYE屬于四音區的降噪、回聲消除模塊,支持前排和后排左右共4個音區交互,允許輸入4路的MIC信號。目前市面上有2種常見的MIC類型,即模擬MIC和數字MIC,但XF6020SYE只能處理數字信號,且XF6020SYE是從屬于車載信息娛樂主機SoC的,而SoC同樣只能處理數字信號[6],因此要想完成回聲消除的全過程,無論選用哪種類型的MIC,都必須將聲音信號以數字信號的形式輸入。
MIC參數會影響XF6020SYE模塊回聲消除的功能效果,因此有必要對影響較大的幾個參數做重點說明。
MIC在車內的布置通常是成對出現的,這種在一定空間里按一定距離排列成組的有限個MIC稱之為MIC陣列[7]。當任意一側的乘客對MIC輸入聲音時,聲音被陣列中的不同MIC收集到時是存在一定時差的,由于聲音是一種波,因此需要考慮聲波的疊加和抵消作用。目前,市場上支持車載語音的汽車往往采用至少雙麥克的布置方式,因此有必要考慮MIC之間的相位差。左右2個MIC相位相同的波形如圖3所示,當2個麥克通道處于同步相位時,會輸入相同的振幅,因此也會轉化成相同的數字信號輸入進XF6020SYE,當左右2個MIC處于如圖4所示的反向相位,即相位差為180°時,則MIC信號會相互抵消[8],可能導致無信號輸入XF6020SYE。

圖3 左右MIC相位相同波形

圖4 左右MIC相位相反波形
因為XF6020SYE支持多音區的音源定位,盡可能地減小MIC的相位有利于獲取完整的MIC信號,減少MIC信號損失[9],從而提高音源定位的效果。從測試的情況來看,若MIC之間的相位差超過5°,則音源定位準確率和語音識別率將下降至少5%。因此在人聲頻段范圍內,應使MIC的相位差盡可能≤5°。
XF6020SYE具有音源定位功能,且內置的陣列算法可以將指向性的波束形成窄波束,從而只響應音源位置的聲音并抑制該位置以外的雜音。因此XF6020SYE模塊針對MIC的指向性有具體的要求。MIC的指向性一般有全方位指向和單方位指向[10],其中全指向性的MIC能夠全方位360°接受聲音,優勢是當聲波從MIC的各種角度射入時,都有幾乎相同的收集靈敏度,因此可以減少在布置上的問題考慮,但缺點是容易將整個環境內的噪音也錄入。單指向性的MIC則只接收特定方向傳來的聲音,或者說僅在MIC收音器正前方的一定角度范圍內較靈敏,超出這個范圍時則靈敏度減弱,因此單指向的MIC只要結合環境設定好一定的指向性角度,可以最大程度地抑制噪音錄入,為后續的硬件降噪和回聲消除做了一步提前降噪。因此,本文為了試驗開展的便利性,直接選用全指向的MIC。
信噪比指的是最大不失真的聲音強度與同時發出的噪音強度之間的比率,常用S/N或者SNR表示,單位為分貝(dB)。信噪比的大小表征夾雜在聲音信號中的雜音大小,其數值越大,則說明聲音信號中的雜波越少,即聲音還原的質量就越高。通常在選擇MIC時,要求MIC的信噪比在60 dB以上。
MIC在工作過程中,其電路往往會產生振蕩,或者產生二次三次的諧波,諧波與原始輸入的信號經過疊加,再輸出的信號一般就和原始輸入信號有一定的偏差,其中就包含了諧波的成分,而諧波成分信號與原始輸入信號的比值,表示總諧波失真,通常用百分比來表示其大小[11]。總諧波失真一般難以避免,當總諧波失真<1%時,輸出信號和輸入信號的差距很小,人耳幾乎辨別不出,但若>10%則人耳就可以聽出明顯的失真,這對錄音系統來說是不能接受的。因此為了讓輸出的聲音更接近原始輸入聲音,要求MIC的總諧波失真<1%。
基于以上對MIC部分重要參數的敘述,本文選擇MSM381A3729H9BPC型號的硅麥克風作為試驗麥克風,來源于敏芯微,具有全指向性,其信噪比為65 dB,總諧波失真約0.1 %,在94 dBSPL下的頻響范圍為0~10 kHz。硅麥克風除了有全指向駐極體麥克風的優點之外,還有較好的一致性,表現在靈敏度一致性和相位一致性都較好,且可靠性高,溫濕度長期性能好,因此比較適合用于車輛環境。
MIC布置的位置一般由降噪芯片的算法決定[12]。通常實車MIC布置方式有2種可以采納。第1種是4個MIC前后分布,如圖5所示,分別布置在4個車窗上方安全把手位置附近,左右兩側對稱,且要求前排2個MIC的高度相同,后排2個MIC的高度相同,而前后排的MIC間距則沒有固定要求。

圖5 分布式MIC布置方式
第2種是前后雙麥克成組布置,如圖6所示,即2個麥克成1組,2組MIC以車身中軸線對稱分布,且要求同組MIC高度相同。

圖6 成組式MIC布置方式
為了減少布置MIC所占用的空間并確保高度一致,本文前排將采用嵌入頂燈的方式布置,如圖7所示,2個MIC之間的相對距離為8 cm。這種布置方式需要MIC嵌入頂燈的結構穩定,不易產生搖晃,而頂燈的布置方式只需要使MIC進聲孔對著乘客呈一定小角度即可。考慮到不同身高乘客說話時聲源高度不同,因此頂燈的MIC距離同向音源距離可考慮控制在30~50 cm。

圖7 前排嵌入頂燈的MIC成組布置
相對于人的聲源所輸入的MIC信號,參考信號是信息娛樂主機系統的所有音源信號,其中包括主機播放的音樂、電臺、TTS語音播報以及藍牙電話聲音等。這些參考信號需要被送入XF6020SYE進行回聲消除處理,僅保留人的聲源信號,這樣就能實現在多噪音環境中的語音喚醒、語音通話和語音打斷功能。由于參考信號的質量取決于信息娛樂系統主機,因此在不同車型上XF6020SYE的回聲消除可能會有不同的表現。對于參考信號,一般要求其信號要干凈[13],避免高頻混疊失真,避免非線性的失真(經外置功放處理過的參考信號通常存在非線性處理導致的非線性失真,若經過非線性處理,則需要將非線性處理后的聲音作為參考信號),且主機的參考信號要盡可能和MIC信號同步送入XF6020SYE,兩者的同步性越好,則對回聲消除的效果就越好。
當信息娛樂系統內播放著音樂、電臺或者其他媒體聲音(統稱為參考音源),且環境存在一定噪音,和人聲音源共同視作人為音源,此時在使用語音時,回聲消除的主要處理過程如下:人為音源和車機自身參考音源,會同時被MIC錄入,此時2種信號都會被當做語音內容送入XF6020SYE模塊,同時車載主機會單獨將正在播放的媒體聲音采樣進而獲取到參考音源的信號,參考信號和MIC收集的信號會同時進入XF6020SYE模塊進行回聲消除處理,其內部處理過程由編譯的算法決定,但一般處理后只保留人聲音源信號[14],最后再將人聲信號送到主機的主控芯片用作喚醒語音引擎或打斷語音,這樣就完成了一輪回聲消除和使用語音的循環。其原理如圖8所示。

圖8 回聲消除的原理
為驗證XF6020SYE回聲消除和降噪的效果,選擇在實車上分別對有XF6020SYE和無XF6020SYE的錄音進行分析,使用音頻文件分析的軟件可以查看對應的聲波圖。圖9為無XF6020SYE時,主駕位置輸入語音喚醒詞語料,前排左右2個MIC的音軌,其中上下2行分別代表主、副駕MIC錄下的音軌。由圖9可以看出,沒有經過XF6020SYE處理時,主駕輸入聲音,主駕MIC錄下的聲波強度在一些幅值處甚至比副駕MIC錄下的弱,這些幅值代表了喚醒語音的關鍵詞,出現這種情況,是不符合音源定位要求的,也就是說此時主駕輸入喚醒詞,容易出現音源定位在副駕。

圖9 未經XF6020SYE處理過的主駕輸入音軌
圖10為有XF6020SYE時,主駕位置輸入語音語料,前排左右2個音軌,其中第1行代表主駕MIC錄下的音軌,第2行代表副駕MIC音軌。此時可以看出在聲波強度的波峰處,主駕音軌的強度明顯高于副駕,這是因為經過XF6020SYE處理后,對主駕的喚醒關鍵詞聲音信號進行了增益,且消除了噪音和回聲,同時對副駕的MIC信號進行了抑制,有利于主駕位置喚醒語音并且準確定位音源位置。

圖10 經XF6020SYE處理過的主駕輸入音軌
用同樣的方式,在副駕錄音測試,音軌分別如圖11和圖12所示,上下2行分別代表前排左右2個MIC的音軌。由圖11和圖12可以看出,沒有XF6020SYE時,在副駕輸入語音,雖然副駕處錄入的聲波強度更強,但相比于主駕并沒有特別顯著的差異。

圖11 未經XF6020SYE處理過的副駕輸入音軌

圖12 經XF6020SYE處理過的副駕輸入音軌
而經過XF6020SYE處理之后,可以看出副駕的喚醒關鍵詞聲音信號被做了增益和消噪消回聲處理,其信號強度明顯大于主駕側。
接著,在實車上分別對有XF6020SYE和無XF6020SYE的情況做語音喚醒率、定位準確率和文字識別率的測試,測試環境為空調3擋風速加播放多媒體音樂,此時車內靜態環境噪音約為54~69 dB,浮動原因歌聲本身有大有小。在主副駕分別進行喚醒操作,其中文字識別率的測試均在成功喚醒語音的前提下進行,音源定位準確率則是基于喚醒成功次數得出的。測試人發聲后,在MIC周圍測得此時音量大小約為77~79 dB,測試發現屏蔽了XF6020SYE后,喚醒率、音源定位準確率以及文字識別率均低于同等條件下有XF6020SYE的情況。尤其是識別率在進行信號降噪和回聲消除處理前顯著低于經過了處理之后,且副駕的音源定位準確率在無XF6020SYE時也明顯低于有XF6020SYE時。測試結果分別如表1和表2所示。

表1 主駕位置測試結果

表2 副駕位置測試結果
本文介紹了一種基于XF6020SYE芯片的信息娛樂系統主機語音回聲消除和降噪的方案。經過實車錄音分析對比,可證實XF6020SYE模塊具有對人聲信號增益以及抑制回聲和噪聲的作用。從實際語音喚醒測試和文字識別率測試的結果來看,該方案對車載語音的喚醒率、音源定位準確率以及文字識別率有較明顯的提升,從而提高用戶使用車載語言的體驗性,適合用于車輛環境。