吳 昊,張 瑩,楊嘉樂,楊元元
(上海大學(xué)上海電影學(xué)院,上海 200072)
在影視聲音領(lǐng)域,商用音效庫中的素材包含的內(nèi)容繁多。常規(guī)的素材包括帶有旋律性的音效、帶有人聲的音效、環(huán)境音效以及軟件合成的非自然音效。在影視聲音后期制作流程中,音效剪輯師需要對音效素材庫中的海量素材進(jìn)行篩選,選出合適的素材,然后在音頻工作站中進(jìn)行后期的加工處理。第一步是先根據(jù)畫面羅列所需要的音效,在音效庫中將帶有相應(yīng)標(biāo)注的音效素材聽一遍,篩選出與畫面貼合的素材。雖然商業(yè)音效庫會有商家根據(jù)音效內(nèi)容進(jìn)行詳細(xì)的文本標(biāo)注信息,但是音效庫中素材會達(dá)到成百上千的級別。在這個篩選環(huán)節(jié),完全依靠人耳進(jìn)行聽辨標(biāo)注內(nèi)容,消耗了剪輯師大量精力,且長時間的工作會導(dǎo)致聽覺疲勞而出現(xiàn)判斷失誤。因此,迫切需要研究探索復(fù)雜音效素材的自動分類,以提高“聽辨”環(huán)節(jié)的工作效率。
計算機(jī)聽覺也可稱為機(jī)器聽覺,是一個面向數(shù)字音頻和音樂,研究用計算機(jī)軟件(主要是信號處理及機(jī)器學(xué)習(xí))來分析和理解海量數(shù)字音頻內(nèi)容的算法和系統(tǒng)的學(xué)科。在計算機(jī)聽覺中,識別一段音頻內(nèi)所發(fā)生的事件的種類被稱為音頻事件識別。孫陳影等人針對復(fù)雜的城市場景聲源識別,提出了基于梅爾倒譜系數(shù)與卷積神經(jīng)網(wǎng)絡(luò)的識別模型,取得特征圖后由卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練、測試獲得卷積神經(jīng)網(wǎng)絡(luò)特征,最后由支持向量機(jī)(Support Vector Machine,SVM)分類器識別分類,并將其與常見的音頻識別方法進(jìn)行對比分析,發(fā)現(xiàn)其在識別速度和識別率上均有所優(yōu)化[1]。李玲俐等人提出了一種基于梅爾倒譜系數(shù)和支持向量機(jī)(SVM)的方法,使用特征表示和學(xué)習(xí)優(yōu)化共同來實(shí)現(xiàn)辦公室10 種環(huán)境音的分類,通過改變梅爾倒譜系數(shù)參數(shù)的個數(shù),更充分地表達(dá)聲音的特征,結(jié)果表明優(yōu)于傳統(tǒng)的識別方法[2]。Ma 等人針對日常生活中的音頻事件,提出了一個基于梅爾頻率倒譜系數(shù)特征和隱馬爾可夫分類模型的識別系統(tǒng),識別準(zhǔn)確率達(dá)到92%。用低帶寬通信對分類器進(jìn)行優(yōu)化后,識別的準(zhǔn)確率可以達(dá)到96%[3]。目前,專門應(yīng)用于影視商用音效素材分類系統(tǒng)的研究內(nèi)容甚少。張辛等人將機(jī)器學(xué)習(xí)的方法在廣播電視行業(yè)進(jìn)行應(yīng)用,對4 000 多條音效素材提取梅爾倒譜系數(shù)、短時能量以及短時過零率建立聲學(xué)特征集,實(shí)驗研究了不同算法對聲學(xué)特征集的識別準(zhǔn)確率,提出了基于反向傳播神經(jīng)網(wǎng)絡(luò)的音效分類原型系統(tǒng)[4]。
根據(jù)在實(shí)際工作中的經(jīng)驗,可以將音效大致分類成4 類——與人類行為相關(guān)的聲音、機(jī)械運(yùn)動相關(guān)的聲音、自然界中的聲音以及是否有能夠清晰識別旋律的音樂存在。由于音效事件的多樣性和復(fù)雜性,常規(guī)用于音樂和語音信號的機(jī)器學(xué)習(xí)的分類算法并不適用于音效分類。因為在不同環(huán)境的素材下會存在多個音效事件,且多種事件還會相互疊加、影響。因此,采用有效的特征提取方式以及建立高效、實(shí)用的機(jī)器學(xué)習(xí)算法,是實(shí)現(xiàn)音效素材自動分類的兩個核心。本文主要針對音效類別中的環(huán)境音,提出了將機(jī)器學(xué)習(xí)應(yīng)用于影視聲音后期制作流程,采用梅爾頻率倒譜系數(shù)及其差分短時能量和短時過零率3 類特征參數(shù),將長短時記憶網(wǎng)絡(luò)作為識別的分類模型,在有監(jiān)督學(xué)習(xí)下訓(xùn)練出分類模型,從而為影視環(huán)境音素材識別分類系統(tǒng)的建立提供新思路。
從實(shí)際應(yīng)用的角度出發(fā),一個完整的分類識別系統(tǒng)至少需要包括以下部分。第一部分是音頻信號的采集,其中最常用的是麥克風(fēng)的輸入。第二部分是信號的預(yù)處理,通過麥克風(fēng)采集到的數(shù)據(jù)經(jīng)常是多個聲源混雜在一起或是有多余噪聲,需要進(jìn)行預(yù)處理消除部分噪聲,增強(qiáng)有用信號。第三部分是根據(jù)具體的識別需求提取音頻信號的聲學(xué)特征,最后將音頻特征輸入已經(jīng)訓(xùn)練好的識別模型中輸出分類的標(biāo)簽[5]。機(jī)器學(xué)習(xí)模型通常采用有監(jiān)督學(xué)習(xí),需要事先用標(biāo)注好的已知數(shù)據(jù)進(jìn)行訓(xùn)練。
基于上述要點(diǎn),本文設(shè)計整個實(shí)驗的分類系統(tǒng)框架圖如圖1 所示。由于本文使用的實(shí)驗數(shù)據(jù)已經(jīng)采集好,故實(shí)驗首先輸入預(yù)先標(biāo)注好的訓(xùn)練集,然后提取數(shù)據(jù)集的聲學(xué)特征。本文選取了梅爾倒譜系數(shù)與其差分參數(shù)、短時能量以及短時平均過零率作為聲學(xué)特征,且在特征提取的過程中已經(jīng)對聲音信號進(jìn)行了預(yù)處理。將特征輸入到長短時記憶網(wǎng)絡(luò)模型中進(jìn)行訓(xùn)練,最后進(jìn)行識別模型精度的驗證。
1.1.1 梅爾頻率倒譜系數(shù)
特征提取過程對音頻識別系統(tǒng)中的音頻訓(xùn)練和識別有很大影響。梅爾倒譜系數(shù)是一種性能穩(wěn)定和識別率高的典型聲學(xué)特征。大量研究發(fā)現(xiàn):當(dāng)聲波頻率小于1 000 Hz 時,人耳的感知能力和頻率成線性關(guān)系;當(dāng)聲波頻率高于1 000 Hz 時,感知能力則與頻率成對數(shù)關(guān)系。為了描述人耳這種對不同頻率聲音的感知特性,Davies 和Mermelstein 提出梅爾倒譜的概念[6]。梅爾頻率倒譜系數(shù)是基于梅爾頻率的概念所提出的,結(jié)合了人耳聽覺仿生學(xué)原理和倒譜相關(guān)特性的梅爾頻率倒譜系數(shù),同時可以補(bǔ)償卷積性信道的失真情況優(yōu)化特征。梅爾倒譜系數(shù)的這些優(yōu)點(diǎn)及眾多的語音識別成功案例,使得梅爾頻率倒譜系數(shù)成為目前常用的最有效的特征參數(shù)描述之一[7]。
梅爾倒譜系數(shù)的提取過程如下:先讓音頻素材通過一個高通濾波器進(jìn)行預(yù)加重、補(bǔ)償高頻成分;對加重后的素材進(jìn)行分幀,一般取10~20 ms 為一幀,并將每一幀代入加窗函數(shù),以平滑單個信號幀兩端的不連續(xù)性;對加窗后的幀經(jīng)過快速傅里葉變換求出每幀的頻譜參數(shù);將得到的每幀的頻譜參數(shù)通過梅爾濾波器組,對每個頻帶的輸出取對數(shù)、做逆變換得到梅爾倒譜系數(shù)。這個參數(shù)就是這幀音頻信號的特征。
大量的實(shí)驗數(shù)據(jù)表明,在常規(guī)的梅爾倒譜系數(shù)特征中加入反映音頻信號動態(tài)特性的差分參數(shù),能夠有效提高系統(tǒng)的識別性能。
差分參數(shù)的計算為:
式中:dt表示第t個一階差分;Ct表示第t個倒譜系數(shù);Q表示倒譜系數(shù)的階數(shù);K表示一階導(dǎo)數(shù)的時間差,可取1 或2。將相關(guān)結(jié)果再代入式(1),就可以得到二階差分的參數(shù)。
1.1.2 短時能量
假設(shè)聲音音效素材的時域信號為x(n),加入窗函數(shù)w(n)進(jìn)行分幀處理后得到的第i幀信號為yi(n),則yi(n)滿足:
式中,n=1,2,…,L,i=1,2,…,fn,fn為分幀后的總幀數(shù),L為幀長,inc為幀移長度。
1.1.3 短時平均過零率
給定聲音素材的波形時域信號為x(n),加窗函數(shù)w(n)經(jīng)過分幀處理后得到的第i幀信號為yi(n),幀長為L,則短時平均過零率z(i)為:
與常見的神經(jīng)網(wǎng)絡(luò)不同,循環(huán)神經(jīng)網(wǎng)絡(luò)具有獨(dú)特的結(jié)構(gòu),即隱藏層的輸出將作為輸入反復(fù)迭代,這意味著隱藏層在一段時間內(nèi)與其自身具有自連接特性。因此,循環(huán)神經(jīng)網(wǎng)絡(luò)在處理時序相關(guān)數(shù)據(jù)方面具有很強(qiáng)的能力。然而,由于在模型訓(xùn)練期間網(wǎng)絡(luò)層數(shù)的增多會產(chǎn)生梯度消失或梯度爆炸等問題。長短時記憶網(wǎng)絡(luò)模型就是為了解決循環(huán)神經(jīng)網(wǎng)絡(luò)模型梯度彌散的問題而提出的。由于獨(dú)特的設(shè)計結(jié)構(gòu),長短時記憶網(wǎng)絡(luò)特別適合于處理時序間隔和延遲非常長的任務(wù)。因為在時序數(shù)據(jù)中的重要事件之間可能存在持續(xù)時間的滯后,而長短時記憶網(wǎng)絡(luò)對間隙長度的相對不敏感性,可以很好地獲取到時序數(shù)據(jù)中的信息特征。
長短時記憶網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu)如圖2 所示。長短時記憶網(wǎng)絡(luò)的神經(jīng)元通過取代傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)的隱藏神經(jīng)元來構(gòu)建隱藏層。長短時記憶網(wǎng)絡(luò)由4 部分組成的,即單元狀態(tài)和用于控制和保護(hù)單元狀態(tài)3 個門函數(shù)——輸入門、遺忘門以及輸出門。在單元狀態(tài)中,通過當(dāng)前輸入、上一個隱藏層信息、上一個單元信息以及3 個門函數(shù)來共同控制信息的增減。門是一種有選擇性地讓信息傳遞下去的方式,由一個Sigmoid 函數(shù)和一個點(diǎn)乘法的計算組成。這種結(jié)構(gòu)確保長短時記憶網(wǎng)絡(luò)的神經(jīng)元具有發(fā)現(xiàn)和記憶長期依賴性的能力。
具體來說,假設(shè)隱藏單元個數(shù)為h,給定時間t的小批量輸入Xt∈Rn×d(樣本數(shù)為n,輸入個數(shù)為d)和上一時間步隱藏狀態(tài)Ht-1∈Rn×h。時間t的輸入門It∈Rn×h、遺忘門Ft∈Rn×h和輸出門Ot∈Rn×h分別計算如下:
本文選取的實(shí)驗數(shù)據(jù)是取自Google 在IEEE ICASSP 2017 大會上公開發(fā)布的Audioset 數(shù)據(jù)集[8]。AudioSet 包含了632 類的音頻類別和2 084 320 條人工標(biāo)記的每段10 s 長度的聲音剪輯片段。該數(shù)據(jù)集覆蓋了大范圍的人類與動物聲音、樂器與音樂流派聲音以及日常的環(huán)境聲音。本文主要使用其中的人群歡呼聲、交通聲、風(fēng)聲、海浪聲以及鳥叫聲作為實(shí)驗數(shù)據(jù)集,每個類別的數(shù)據(jù)分別為200 條。在Audioset 中的數(shù)字id 分別為/m/03qtwd、/m/0btq2、/m/05kq4、/m/03mdz 以及/m/020bb7。該數(shù)據(jù)集包括了在影視聲音制作流程中使用率較高的音頻事件。在數(shù)據(jù)集中,每個種類中的音頻片段并不是單獨(dú)的音頻事件,可能包含多個音頻事件的標(biāo)簽。
在大數(shù)據(jù)量的情況下,考慮到實(shí)驗環(huán)境的硬件設(shè)備條件有限,進(jìn)行一次完整的訓(xùn)練需要耗費(fèi)大量時間,因為對所有會影響模型的參數(shù)組合進(jìn)行枚舉一一評估是不現(xiàn)實(shí)的。因此,長短時記憶網(wǎng)絡(luò)需要權(quán)衡模型中的重要參數(shù)(如隱藏層數(shù)、神經(jīng)元數(shù)量、dropout),以平衡各方面的訓(xùn)練效果。
實(shí)驗開始前,隨機(jī)拆分輸入的實(shí)驗集,將實(shí)驗集分為訓(xùn)練集(90%的數(shù)據(jù))和測試集(10%的數(shù)據(jù)),確保訓(xùn)練集和測試集沒有重疊。通過Matlab分別提取訓(xùn)練集和測試集的梅爾倒譜系數(shù)及其差分、短時過零率和短時能量的特征向量,單個音頻片段的波形、短時能量以及短時平均過零率如圖3所示。
隱藏層是對輸入特征的多層次抽象。為了更好地劃分特征數(shù)據(jù)的類型,隱藏層的數(shù)量選擇主要是從識別準(zhǔn)確率、損失函數(shù)以及完整訓(xùn)練時間3 方面進(jìn)行考慮。在保持其他參數(shù)不變的情況下更改隱含層數(shù)量,可驗證模型在訓(xùn)練時間上基本沒有差別。在隱藏層數(shù)量為2 時,識別準(zhǔn)確率和損失函數(shù)的結(jié)果最理想。
進(jìn)一步的優(yōu)化是確立隱藏層中的神經(jīng)元數(shù)量。神經(jīng)元節(jié)點(diǎn)太多會大幅增加訓(xùn)練時間,還可能會出現(xiàn)過擬合現(xiàn)象。通過對比驗證后,確定設(shè)置本實(shí)驗中的神經(jīng)元數(shù)為200。
dropout 是指在訓(xùn)練過程中會按照一定的概率將神經(jīng)元單位暫時從網(wǎng)絡(luò)中丟棄,因為每一次訓(xùn)練都是在訓(xùn)練新的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),所以可以有效防止訓(xùn)練中出現(xiàn)過擬合現(xiàn)象。經(jīng)過對比試驗,不同的dropout 參數(shù)的選取對訓(xùn)練時間的影響意義不大。在dropout 為50%時,識別準(zhǔn)確率和損失函數(shù)的結(jié)果最理想。
經(jīng)過分析對比,本文設(shè)計的識別網(wǎng)絡(luò)主要參數(shù)如下:輸入特征集的向量維度為40 維,其中梅爾倒譜系數(shù)及其差分占38 維,短時能量和短時過零率各占1 維;輸出維度5;網(wǎng)絡(luò)結(jié)構(gòu)第1 層為特征向量輸入層;第2、3層為長短時記憶網(wǎng)絡(luò)結(jié)構(gòu)的隱藏層,每個隱藏層包含有200 個神經(jīng)元單位,dropout 為50%;最后一層為全連接輸出層,與softmax 結(jié)合輸出分類結(jié)果。
本文主要的目的是通過機(jī)器學(xué)習(xí)實(shí)現(xiàn)對影視聲音制作中常用的環(huán)境聲素材的識別。實(shí)驗在Matlab 2020a 中運(yùn)行,實(shí)驗的訓(xùn)練和測試結(jié)果曲線如圖4 所示。
從圖4 的訓(xùn)練曲線可以看出:經(jīng)過多輪迭代訓(xùn)練后,訓(xùn)練集的識別率達(dá)到了93.2%,而測試集的識別率為81.3%,訓(xùn)練集的損失率在不斷降低,測試集的損失率在減少到一定程度后開始提高,最后在1 附近波動。雖然從最后的識別率上看,該識別模型可以達(dá)到初步的要求,但綜合訓(xùn)練曲線和損失曲線的走向分析,產(chǎn)生了訓(xùn)練網(wǎng)絡(luò)的過擬合現(xiàn)象。綜合訓(xùn)練集和識別模型分析,原因在于選取的Audioset 數(shù)據(jù)集是源于YouTube 上的真實(shí)音頻片段,音頻片段之間的差別十分明顯。但是,這個情況與實(shí)際中的應(yīng)用場景是相類似的。因此,解決的辦法是進(jìn)一步優(yōu)化提取到的音頻特征參數(shù),使其能夠更好地表達(dá)標(biāo)簽特征。此外,增大實(shí)驗的數(shù)據(jù)量也可以解決過擬合現(xiàn)象。整個訓(xùn)練和測試過程耗時超過5 min,參照對比目前已經(jīng)被廣泛運(yùn)用的語音識別系統(tǒng)的實(shí)時率,需要更進(jìn)一步優(yōu)化訓(xùn)練網(wǎng)絡(luò)的結(jié)構(gòu),在確保高識別率的情況下,縮短訓(xùn)練時間。
本文選取的是影視環(huán)境聲素材中最常用到的5類事件,然而在實(shí)際工作中所使用音頻素材的標(biāo)簽遠(yuǎn)不止于這5 類,因此在未來的實(shí)驗優(yōu)化中需要加入更多的音頻標(biāo)簽訓(xùn)練集,以涵蓋實(shí)際工作中絕大多數(shù)音頻素材為目的。在環(huán)境聲的音效素材中往往包含多個標(biāo)簽,建立多標(biāo)簽的識別系統(tǒng)可以更好地匹配工作中的使用需求。本文將機(jī)器學(xué)習(xí)的分類模型運(yùn)用于影視聲音制作,通過提取音頻素材的梅爾倒譜系數(shù)、短時能量和短時過零率的特征參數(shù),經(jīng)過訓(xùn)練后的長短時記憶網(wǎng)絡(luò)模型準(zhǔn)確率達(dá)到了81.3%,可為以后建立音效分類識別系統(tǒng)提供思路。但是,本文搭建的識別模型仍然還有局限性與不足,以后還需要持續(xù)改進(jìn)或者結(jié)合其他識別網(wǎng)絡(luò)如將卷積神經(jīng)網(wǎng)絡(luò)與長短時記憶網(wǎng)絡(luò)結(jié)合[9]進(jìn)行優(yōu)化。