謝麗萍,盧熾華,劉志恩,朱亞偉,劉 愷,孫 唯,呂之品
(1.武漢理工大學(xué),現(xiàn)代汽車零部件技術(shù)湖北省重點(diǎn)實(shí)驗(yàn)室,武漢430070;2.東風(fēng)汽車集團(tuán)股份有限公司,武漢430070)
汽車聲品質(zhì)對乘客的舒適度起著至關(guān)重要的作用,決定著用戶對產(chǎn)品的購買欲望[1-3]。過去各大汽車研究所與主機(jī)廠依據(jù)噪聲法規(guī)降低聲壓級(jí)的方式受到了嚴(yán)峻挑戰(zhàn),用戶更加注重汽車整體的聲品質(zhì),這對汽車的NVH提出了日益苛刻的要求,突出體現(xiàn)為“從靜音到聲品質(zhì)”的變革[4]。
隨著主動(dòng)發(fā)聲(active sound generate,ASG)技術(shù)的應(yīng)用,汽車可以根據(jù)用戶群體的需求設(shè)計(jì)滿足目標(biāo)要求的車內(nèi)聲音,使汽車原本單一乏味、千篇一律的聲音有了辨識(shí)度。通過ASG技術(shù)改善車內(nèi)聲音聲品質(zhì)不僅提高了駕駛員的駕駛樂趣,而且能塑造汽車品牌標(biāo)識(shí)。Scheuren等[5]提出了汽車的主動(dòng)聲音設(shè)計(jì)和主動(dòng)發(fā)聲的概念,以發(fā)動(dòng)機(jī)的階次聲為模擬對象,探究不同階次聲匹配對聲音特性的影響,并以此為依據(jù)設(shè)計(jì)聲音樣本。Park等[6]開發(fā)了一種個(gè)性化發(fā)動(dòng)機(jī)聲音系統(tǒng)(PESS),可通過選擇和調(diào)整發(fā)動(dòng)機(jī)聲音類型、音量、音調(diào)和油門踏板靈敏度來創(chuàng)建各種發(fā)動(dòng)機(jī)聲音。Hutchinson公司的Audrain[7]對汽車聲音主動(dòng)控制技術(shù)進(jìn)行了研究,設(shè)計(jì)了一款基于電子激振器的主動(dòng)發(fā)聲控制系統(tǒng),并成功運(yùn)用于電動(dòng)汽車和混合動(dòng)力汽車上,實(shí)現(xiàn)根據(jù)車輛不同的行駛工況給駕駛者或者行人聲音上的反饋,保證駕駛激情和安全性。德國Neosonic公司的Bodden等[8]構(gòu)建了elvis3系統(tǒng),該系統(tǒng)實(shí)現(xiàn)電動(dòng)汽車產(chǎn)生車外行人警示聲音和重建車內(nèi)“發(fā)動(dòng)機(jī)聲音”的反饋,為主動(dòng)聲音設(shè)計(jì)從實(shí)驗(yàn)室開發(fā)到整車實(shí)施提供了相同的平臺(tái)與便利。
車內(nèi)ASG技術(shù)能夠靈活實(shí)現(xiàn)滿足不同用戶群體期望的車內(nèi)聲音設(shè)計(jì),汽車聲音合成算法是技術(shù)實(shí)現(xiàn)的核心。聲音粒子合成算法是ASG技術(shù)中常用的汽車聲音合成算法之一,主要是將設(shè)計(jì)好的聲音樣本分割成細(xì)小的聲音粒子,存儲(chǔ)在控制器的內(nèi)存卡中。根據(jù)汽車的行駛工況輸入讀取內(nèi)存卡中的聲音粒子,并進(jìn)行拼接從而合成目標(biāo)聲音樣本。2012年Jagla等[9]提出了一種基于基音同步疊加的內(nèi)燃機(jī)噪聲合成方法,通過主諧波定位的方式分割音頻片段并循環(huán)播放以獲得合成音頻,合成所需計(jì)算量小且真實(shí)度較高。Baldan等[10]基于對四沖程發(fā)動(dòng)機(jī)工作原理分析,引入了一種內(nèi)燃機(jī)聲音合成的計(jì)算模型。胡達(dá)遠(yuǎn)[11]參考分析發(fā)動(dòng)機(jī)轉(zhuǎn)速在整個(gè)轉(zhuǎn)速范圍內(nèi)連續(xù)變化時(shí)對應(yīng)的發(fā)動(dòng)機(jī)聲音錄音,建立聲音樣本庫,并通過該樣本庫實(shí)時(shí)模擬任一轉(zhuǎn)速下發(fā)動(dòng)機(jī)聲音。
以往聲音粒子合成算法都是將錄制好的聲音先切割成小的聲音樣本,然后存儲(chǔ)為聲音樣本庫,再根據(jù)工況輸入讀取對應(yīng)樣本后進(jìn)行聲音拼接,從而播放出隨工況變化的聲音。本文突破常規(guī),提出一種基于發(fā)動(dòng)機(jī)缸壓信號(hào)的聲音合成新方法:通過錄制滿足偏好性要求車型的聲音樣本,直接存儲(chǔ)完整的音頻信號(hào);然后,基于缸壓信號(hào)的周期特性構(gòu)建聲音粒子檢索表;其次,設(shè)定檢索轉(zhuǎn)速的時(shí)間步長匹配索引矩陣中對應(yīng)的轉(zhuǎn)速區(qū)間范圍,計(jì)算提升倍數(shù);最后,以變速不變調(diào)的算法進(jìn)行汽車聲音的模擬。此外,本文中利用MATLAB軟件編寫SS?BCPS算法的可視化GUI程序界面,通過試驗(yàn)測試的發(fā)動(dòng)機(jī)聲音與缸壓信號(hào)在GUI界面上合成目標(biāo)聲音,并組織主觀評(píng)價(jià)試驗(yàn),對比合成音與原始音頻的真實(shí)性驗(yàn)證提出的SS?BCPS算法的有效性。
參考聲音粒子合成算法的機(jī)理[9],針對算法中聲音粒子切割難度大,且聲音粒子拼接容易出現(xiàn)爆音的問題,本文中提出了一種基于缸壓信號(hào)的汽車聲音合成算法(SS?BCPS),算法原理圖如圖1所示。
圖1 SS?BCPS算法原理圖
發(fā)動(dòng)機(jī)噪聲主要成分的本質(zhì)是每個(gè)氣缸的燃燒室發(fā)生連續(xù)點(diǎn)火產(chǎn)生的階次聲,典型四沖程發(fā)動(dòng)機(jī)的氣缸壓力波形如圖2所示。其中,A點(diǎn)為氣缸壓力的波峰,TDC代表壓縮上止點(diǎn),BDC代表下止點(diǎn)。相鄰兩個(gè)波峰之間代表一個(gè)完整的發(fā)動(dòng)機(jī)循環(huán),活塞從上止點(diǎn)TDC到下止點(diǎn)BDC再到TDC,包括膨脹、排氣、進(jìn)氣和壓縮行程,其中曲軸轉(zhuǎn)動(dòng)2圈[12]。單位時(shí)間內(nèi)氣缸壓力波形的變化能夠通過時(shí)間軸的方式反應(yīng),基于發(fā)動(dòng)機(jī)缸壓信號(hào)的周期特性,本文中將相鄰兩個(gè)缸壓波峰之間的時(shí)間長度定義為一個(gè)聲音粒子的時(shí)長。
圖2 四沖程發(fā)動(dòng)機(jī)缸壓曲線
方波是一種非正弦曲線的波形,通常會(huì)于電子和訊號(hào)處理時(shí)出現(xiàn),理想方波只有“高”和“低”這兩個(gè)值。為了避免信號(hào)采集中出現(xiàn)非相關(guān)因素的干擾,將缸壓信號(hào)曲線以峰值數(shù)值的80%為臨界點(diǎn)轉(zhuǎn)換為方波曲線。將缸壓信號(hào)大于峰值最大點(diǎn)數(shù)值80%的曲線取值為1,否則取值都設(shè)為0,以此轉(zhuǎn)換為方波曲線,轉(zhuǎn)換后的方波曲線如圖3所示。定義相鄰兩個(gè)方波高電平的中點(diǎn)之間的距離為一個(gè)聲音粒子的時(shí)長,前一個(gè)方波的中點(diǎn)為一個(gè)聲音粒子片段的起點(diǎn),后一個(gè)方波的中點(diǎn)為終點(diǎn)。其中,定義的聲音粒子片段是在短時(shí)間范圍內(nèi)的,因此認(rèn)為每個(gè)聲音粒子片段都是穩(wěn)態(tài)的、時(shí)不變的信號(hào)。
圖3 方波曲線示意圖
構(gòu)建聲音粒子索引矩陣,主要包括聲音粒子的定位和轉(zhuǎn)速的計(jì)算。一個(gè)完整的發(fā)動(dòng)機(jī)循環(huán)等同于一個(gè)聲音粒子的區(qū)間,曲軸轉(zhuǎn)2圈。利用方波曲線定位出每個(gè)聲音粒子片段的起點(diǎn)與終點(diǎn)位置,并計(jì)算每個(gè)聲音粒子片段對應(yīng)的轉(zhuǎn)速:
式中:Ni為第i個(gè)聲音粒子片段對應(yīng)的轉(zhuǎn)速;Si為第i個(gè)聲音粒子片段的起點(diǎn);Ei為第i個(gè)聲音粒子片段的終點(diǎn);fs為原始聲音樣本的采樣頻率。
根據(jù)所述的每個(gè)聲音粒子片段對應(yīng)的轉(zhuǎn)速信息、起點(diǎn)和終點(diǎn)位置,構(gòu)建維度為n×3聲音粒子索引矩陣。其中,n為聲音粒子的個(gè)數(shù),第1列存儲(chǔ)每個(gè)聲音粒子片段對應(yīng)的轉(zhuǎn)速Ni,第2列為每個(gè)聲音粒子片段的起始位置Si,第3列為每個(gè)聲音粒子片段的終止位置Ei。
音頻信號(hào)的變速不變調(diào)即將一段聲音的持續(xù)時(shí)間拉長或者縮短,而聲音的音調(diào)不發(fā)生變化[13]。本文中主要對聲音信號(hào)進(jìn)行變速不變調(diào)處理,以構(gòu)建的聲音粒子索引矩陣進(jìn)行轉(zhuǎn)速區(qū)間的定位,在時(shí)域內(nèi)對索引的聲音粒子片段進(jìn)行刪除,同時(shí)保證聲音信號(hào)的采樣頻率、基頻和共振峰等都沒有發(fā)生變化,從而實(shí)現(xiàn)合成音變速不變調(diào)的放音效果[14]。
根據(jù)車況轉(zhuǎn)速輸入信息,與聲音粒子索引矩陣中第1列對應(yīng)的轉(zhuǎn)速做差值計(jì)算,定位最小差值數(shù)對應(yīng)的行數(shù),匹配聲音粒子索引矩陣對應(yīng)的轉(zhuǎn)速區(qū)間范圍。計(jì)算轉(zhuǎn)速區(qū)間范圍內(nèi)對應(yīng)的聲音信號(hào)時(shí)長為
其中,根據(jù)轉(zhuǎn)速區(qū)間上限值Ni與轉(zhuǎn)速區(qū)間下限值Ni+k,分別定位索引矩陣中第i個(gè)聲音粒子片段的起點(diǎn)位置Si與第i+k個(gè)聲音粒子片段的終點(diǎn)位置Ei+k。轉(zhuǎn)速區(qū)間范圍內(nèi)共k+1個(gè)聲音粒子。
進(jìn)一步地,設(shè)定檢索轉(zhuǎn)速時(shí)間步長P,計(jì)算轉(zhuǎn)速區(qū)間范圍內(nèi)對應(yīng)的聲音信號(hào)時(shí)長Tk+1提升倍速為
式中fix為取整函數(shù),設(shè)定提升倍數(shù)向上取整,不足的由0取代。
根據(jù)提升倍數(shù)μ,提取k+1個(gè)聲音粒子中的M個(gè)聲音粒子片段,提取聲音粒子的間隔為D,其中,M與D的計(jì)算表達(dá)式分別為
將提取的M個(gè)聲音粒子在時(shí)域內(nèi)依次拼接合成,模擬出與駕駛員行為匹配的汽車聲音。值得注意的是,本文中提出的聲音合成算法不僅僅針對發(fā)動(dòng)機(jī)聲音,還包括其他與發(fā)動(dòng)機(jī)缸壓信號(hào)強(qiáng)相關(guān)的聲音,如車內(nèi)聲音、進(jìn)排氣聲音等。
以模擬發(fā)動(dòng)機(jī)聲音為例,利用本文提出的SS?BCPS算法合成目標(biāo)聲音。首先,需要同步采集目標(biāo)發(fā)動(dòng)機(jī)聲音樣本與其對應(yīng)的缸壓信號(hào),在發(fā)動(dòng)機(jī)半消實(shí)驗(yàn)室內(nèi)進(jìn)行測試,試驗(yàn)場景如圖4所示。
圖4 發(fā)動(dòng)機(jī)聲音與缸壓信號(hào)采集示意圖
在發(fā)動(dòng)機(jī)頂部和左右兩側(cè)各布置一個(gè)聲壓傳感器。為保證缸壓信號(hào)采集的準(zhǔn)確性,在四沖程發(fā)動(dòng)機(jī)的氣缸內(nèi)各布置一個(gè)缸壓傳感器。試驗(yàn)中須注意:在發(fā)動(dòng)機(jī)第1缸上止點(diǎn)附近貼1個(gè)加速度傳感器,用于判斷是否發(fā)生敲缸,同時(shí)檢查4個(gè)缸壓信號(hào)是否一致。運(yùn)行發(fā)動(dòng)機(jī),使其轉(zhuǎn)速從怠速緩慢加速到發(fā)動(dòng)機(jī)能達(dá)到的最高轉(zhuǎn)速,利用SIEMENS生產(chǎn)的40通道SCM2E05數(shù)據(jù)采集系統(tǒng)采集信號(hào)同步采集聲音樣本與缸壓信號(hào),共采集3組數(shù)據(jù),對比前后采集數(shù)據(jù)的一致性,選擇最優(yōu)數(shù)據(jù)作為SS?BCPS算法所需的原始聲音與缸壓信號(hào)。并對信號(hào)進(jìn)行降噪、濾波等處理,以剔除不相干噪聲的影響。試驗(yàn)設(shè)備如表1所示。
表1 試驗(yàn)設(shè)備
圖5 (a)為采集的發(fā)動(dòng)機(jī)聲音信號(hào)的頻譜圖。由圖可知,發(fā)動(dòng)機(jī)聲音的2階成分在全轉(zhuǎn)速范圍內(nèi)能量均突出,4、6、8階的成分占比明顯,符合傳統(tǒng)四缸機(jī)的聲學(xué)特性。其中,除主階次外,本次采集的發(fā)動(dòng)機(jī)聲音包括奇數(shù)階、半階成分在中高轉(zhuǎn)速范圍的能量明顯高于低轉(zhuǎn)速范圍內(nèi)的,400-500 Hz的能量突出。主觀感受上,采集的發(fā)動(dòng)機(jī)聲音強(qiáng)且清晰,富有力量,聲音成分和諧飽滿,加速連貫。圖5(b)為采集的發(fā)動(dòng)機(jī)缸壓信號(hào),如2.1節(jié)所述,缸壓信號(hào)呈現(xiàn)周期性變化,兩個(gè)相鄰的波峰代表一個(gè)完整的發(fā)動(dòng)機(jī)循環(huán)。
圖5 試驗(yàn)采集的信號(hào)
編寫MATLAB程序復(fù)現(xiàn)第1節(jié)所介紹的SS?BCPS算法,以實(shí)現(xiàn)不同工況下的汽車聲音模擬。編寫的SS?BCPS算法計(jì)算GUI程序界面與算法流程如圖6和圖7所示,軟件窗口界面主要分為信號(hào)導(dǎo)入模塊、參數(shù)控制模塊、聲音合成模塊和界面顯示模塊。
圖6 軟件界面
圖7 SS?BCPS算法軟件流程圖
信號(hào)導(dǎo)入模塊由“缸壓導(dǎo)入”、“聲音導(dǎo)入”兩按鈕組成。可依次導(dǎo)入缸壓-時(shí)間序列和原始聲音(wav.格式)信號(hào)。界面顯示模塊中的兩個(gè)繪圖界面均會(huì)自動(dòng)顯示出原始聲音樣本的頻譜圖。
參數(shù)控制模塊可選擇要模擬的轉(zhuǎn)速區(qū)間、轉(zhuǎn)速間隔與檢索時(shí)間步長。點(diǎn)擊“索引矩陣生成”模塊可根據(jù)輸入的缸壓與聲音信號(hào),自動(dòng)存儲(chǔ)與導(dǎo)入聲音與缸壓信號(hào)匹配的聲音粒子索引矩陣。起始轉(zhuǎn)速、終止轉(zhuǎn)速文本、轉(zhuǎn)速間隔、檢索時(shí)間步長文本框用以輸入SS?BCPS算法所需的控制參數(shù)。
點(diǎn)擊聲音合成模塊中的“聲音合成”按鈕,即實(shí)現(xiàn)基于SS?BCPS算法的聲音模擬,且在界面顯示模塊中下方繪圖界面自動(dòng)顯示出合成音的頻譜圖。點(diǎn)擊“播放”按鈕可播放合成音樣本以便試聽,分辨合成音前后的差異。點(diǎn)擊“導(dǎo)出”按鈕可在指定文件位置導(dǎo)出合成音。
本文中基于2.1節(jié)所采集的發(fā)動(dòng)機(jī)聲音與缸壓信號(hào),利用編寫的SS?BCPS算法GUI程序?qū)崿F(xiàn)對發(fā)動(dòng)機(jī)聲音的模擬。為了進(jìn)一步驗(yàn)證合成音的效果,合成提升倍數(shù)分別為原始音頻的4倍、3倍、2倍、1.5倍的發(fā)動(dòng)機(jī)聲音樣本,分別標(biāo)記為S1、S2、S3、S4。并在發(fā)動(dòng)機(jī)臺(tái)架上錄制與4組合成音對比的發(fā)動(dòng)機(jī)聲音,分別標(biāo)記為R1、R2、R3、R4。形成4組聲音樣本對,分別標(biāo)記為Group1、Group2、Group3、Group4。
從駕駛經(jīng)驗(yàn)、教育水平、年齡、性別以及有無聲學(xué)知識(shí)等方面選取共計(jì)22名評(píng)價(jià)者[15],評(píng)價(jià)者由汽車相關(guān)專業(yè)研究生、高校教師和汽車行業(yè)NVH專家工程師組成。其中,男性18人,女性4人,均為右利手,視力正常,具有相關(guān)的聲品質(zhì)評(píng)價(jià)經(jīng)驗(yàn)。利用成對比較法對4組聲音樣本進(jìn)行主觀試聽,兩兩比較,選出聲品質(zhì)真實(shí)性較高的聲音樣本,并填入表格,試驗(yàn)結(jié)果如表2所示。
表2 主觀評(píng)價(jià)結(jié)果
由表2可知,利用成對評(píng)價(jià)法對比合成音與錄制音頻的真實(shí)性,其中針對真實(shí)性主觀感受,選擇合成音的評(píng)價(jià)者最高占比為55%,最低占比為45%,總體選擇合成音的占比為51.25%,超過50%的選擇率。說明合成音能夠保留原始音頻的主要特征,評(píng)價(jià)者對原始音與合成音的辨識(shí)度不高。進(jìn)一步證明,本文中提出的SS?BCPS算法合成的發(fā)動(dòng)機(jī)聲音已經(jīng)可以達(dá)到“以假亂真”的效果,證明提出算法的有效性,能夠合成逼真的發(fā)動(dòng)機(jī)聲音。
針對ASG系統(tǒng)中所用到的聲音合成算法,基于發(fā)動(dòng)機(jī)缸壓信號(hào)的周期特性,提出了一種SS?BCPS算法。并利用MATLAB軟件編寫SS?BCPS算法的可視化GUI程序界面,以實(shí)現(xiàn)不同工況下汽車聲音的模擬,得出以下結(jié)論。
(1)引入缸壓信號(hào)作為聲音粒子切割的基準(zhǔn),直接存儲(chǔ)完整的音頻信號(hào)。根據(jù)實(shí)時(shí)轉(zhuǎn)速的輸入索引聲音粒子,降低了傳統(tǒng)聲音粒子算法的切割難度,提高合成音的連貫性和自然度。
(2)利用“變速不變調(diào)算法”計(jì)算提升倍速,選擇刪減轉(zhuǎn)速區(qū)間范圍內(nèi)的聲音粒子片段,并將剩余聲音粒子片段拼接合成。該方法不僅提高了合成音與駕駛員行為的匹配性,而且可通過修正的提升倍數(shù),獲得不同速率的合成音。
(3)組織主觀評(píng)價(jià),對比合成音與原始音之間的真實(shí)性。結(jié)果表明,提出的SS?BCPS算法能夠保留原始音頻的主要特征,且音調(diào)依舊滿足實(shí)現(xiàn)用戶所選擇的偏好性。進(jìn)一步驗(yàn)證了SS?BCPS算法的有效性,可用于ASG系統(tǒng)實(shí)時(shí)工程的開發(fā)與應(yīng)用。
本文中僅在軟件層面驗(yàn)證了SS?BCPS算法的可靠性,后續(xù)將進(jìn)一步結(jié)合ASG硬件系統(tǒng)的開發(fā),從聲音合成算法優(yōu)化的角度實(shí)現(xiàn)主動(dòng)聲音設(shè)計(jì)技術(shù)的突破。