孫衛(wèi)國(guó)1,夏秀渝1,喬立能1,葉于林2
?。?.四川大學(xué) 電子信息學(xué)院,四川 成都 610064;2.中國(guó)人民解放軍78438部隊(duì),四川 成都 610066)
摘要:解決大規(guī)模音頻數(shù)據(jù)庫(kù)快速檢索的有效手段之一是建立合適的音頻索引,其中音頻分割和標(biāo)注是建立音頻索引的基礎(chǔ)。文中采用了一種基于短時(shí)能量和改進(jìn)度量距離的兩步音頻分割算法,使得分割后的音頻片段具有段間特征差異大、段內(nèi)特征方差小的特點(diǎn)。在音頻分割的基礎(chǔ)上進(jìn)行了音頻數(shù)據(jù)庫(kù)中音頻流的標(biāo)注;分別基于BP神經(jīng)網(wǎng)絡(luò)算法和Philips音頻指紋算法對(duì)音頻進(jìn)行了音頻類別和音頻內(nèi)容的標(biāo)注,為后續(xù)建立音頻索引表做準(zhǔn)備。實(shí)驗(yàn)結(jié)果表明,兩步分割算法能較好地分割任意音頻流,音頻標(biāo)注算法能有效進(jìn)行基于音頻類別和音頻內(nèi)容的標(biāo)注,算法同時(shí)具有良好的魯棒性。
關(guān)鍵詞:音頻分割;短時(shí)能量;度量距離;音頻標(biāo)注;BP神經(jīng)網(wǎng)絡(luò);音頻指紋
中圖分類號(hào):TN912.3文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.1674-7720.2017.05.013
引用格式:孫衛(wèi)國(guó),夏秀渝,喬立能,等.面向音頻檢索的音頻分割和標(biāo)注研究[J].微型機(jī)與應(yīng)用,2017,36(5):38-41.
0引言
隨著信息技術(shù)的高速發(fā)展,多媒體信息呈爆炸式增長(zhǎng),人們開(kāi)始步入大數(shù)據(jù)時(shí)代,對(duì)音頻檢索的要求也在不斷增長(zhǎng)[1]。如何從海量信息中快速、準(zhǔn)確地檢索到最渴望的音頻信號(hào)成為了當(dāng)前研究的一大熱點(diǎn)[2]?,F(xiàn)有檢索方法大都采用遍歷的方式,通過(guò)計(jì)算、比較查詢音頻和待檢音頻之間的距離來(lái)達(dá)到檢索目的,此類方法需要龐大的計(jì)算量,檢索的效率較低。對(duì)于大規(guī)模音頻庫(kù)的快速檢索問(wèn)題,建立索引是解決該問(wèn)題的有效手段。張雪源等提出利用倒排索引對(duì)音頻進(jìn)行檢索[3],在很大程度上減少了檢索中的計(jì)算量。
在文本檢索中,分詞是基礎(chǔ)的歩驟,與之類似,音頻的分割和標(biāo)注也是音頻檢索中的基礎(chǔ)步驟。音頻分割是指把連續(xù)的音頻流分割成一系列相對(duì)獨(dú)立并具有穩(wěn)定特征的音頻片段。目前音頻分割算法主要有基于距離度量的算法、基于貝葉斯信息準(zhǔn)則分割算法、基于模型的算法等[4]。本文采用一種分層次兩步分割算法,將音頻流分割為段間差異大、段內(nèi)差異小的音頻單元。音頻標(biāo)注可以理解為基于音頻內(nèi)容為音頻段寫摘要,是為快速建立音頻索引表做準(zhǔn)備的,以提高音頻檢索效率為根本目的。標(biāo)注的核心是音頻識(shí)別,目前音頻識(shí)別的算法有動(dòng)態(tài)時(shí)間規(guī)劃算法、隱馬爾可夫模算法、反向傳播算法[5 6]等。在音頻分割完成的基礎(chǔ)上,本文分別采用了反向傳播(BP神經(jīng)網(wǎng)絡(luò))算法[7 8]和經(jīng)典的Philips音頻指紋算法[9 10]對(duì)音頻流進(jìn)行標(biāo)注。
1音頻分割
音頻分割是指將連續(xù)的音頻流信號(hào)切分為一系列相對(duì)獨(dú)立和穩(wěn)定的基本單元。分割的目的是使分割后的音頻片段具有段間距離大且段內(nèi)方差?。ɑ蚨伍g獨(dú)立而段內(nèi)穩(wěn)定)的特點(diǎn)。本文采用了一種分層分割算法以期達(dá)到兼顧運(yùn)算速度和分割精度的要求。第一層,利用能量對(duì)音頻進(jìn)行有聲、無(wú)聲音頻段分割;第二層,利用改進(jìn)的度量距離對(duì)有聲段進(jìn)行分割,從而將任意長(zhǎng)度的連續(xù)音頻流準(zhǔn)確而有效地分割為音頻特征數(shù)值波動(dòng)較小的短時(shí)段落,即音頻段基元。
1.1基于能量的音頻分割
音頻流經(jīng)過(guò)預(yù)處理后,提取各幀的短時(shí)能量作為音頻的基本特征,利用短時(shí)能量能有效對(duì)音頻流進(jìn)行有聲、無(wú)聲的分割。具體做法是:首先對(duì)音頻進(jìn)行分幀,計(jì)算每一幀的能量,而后通過(guò)計(jì)算連續(xù)若干幀能量之和,并與門限值進(jìn)行比較,從而判斷是否為有聲和靜音的分割點(diǎn)。設(shè)Emax、Emin、Emean分別表示音頻流短時(shí)幀能量的最大值、最小值和均值;用Eoff表示能量的浮動(dòng)范圍,最終能量門限應(yīng)該處于Emin和Emin+Eoff之間,選擇合適的靜音因子β(0≤β≤1),計(jì)算能量門限E[3]th:
β的取值由實(shí)驗(yàn)確定,實(shí)驗(yàn)結(jié)果顯示β取 0.1 時(shí)分割效果最好。當(dāng)超過(guò)連續(xù)10幀的音頻短時(shí)幀能量小于能量門限則認(rèn)為該音頻片段為靜音段,否則為有聲段。
1.2基于改進(jìn)度量距離的音頻分割
對(duì)有聲段進(jìn)行進(jìn)一步的分割,目標(biāo)是將其分割成為段間差異大、段內(nèi)差異小的短時(shí)段落,以利于后續(xù)基于音頻內(nèi)容的索引建立。本文采用基于度量距離的分割算法?;籼亓纸y(tǒng)計(jì)量[3](簡(jiǎn)記為T2),常用于度量?jī)蓚€(gè)具有未知但相同方差的正態(tài)分布均值是否相等的問(wèn)題,其計(jì)算公式如下:
其中N為分析窗口的總長(zhǎng)度,b為左側(cè)數(shù)據(jù)窗的長(zhǎng)度,均以幀數(shù)為單位。μ1和μ2是左右兩個(gè)數(shù)據(jù)窗口的特征向量均值,∑為整個(gè)分析窗的協(xié)方差矩陣。T2值越小,表示左右兩段音頻越相似,反之,兩段音頻差異越大。式(2)主要反映了音頻段間均值的差異,沒(méi)有很好地反映段內(nèi)方差的情況,所以本文提出一種綜合考慮音頻段間均值和段內(nèi)方差的距離測(cè)度,簡(jiǎn)記為DIS:
式(3)分子表示左右兩段音頻特征均值的差異,分母反映左右兩段音頻各自方差的平均值,當(dāng)兩段音頻段間距離大、段內(nèi)方差小時(shí)DIS可獲較大值。。
特征參數(shù)選用了24維Mel頻率倒譜系數(shù),使用固定窗長(zhǎng)的分窗方法計(jì)算相鄰音頻的度量距離,考慮到計(jì)算量,將左右兩邊的數(shù)據(jù)窗長(zhǎng)取為等長(zhǎng),這樣處理之后的距離測(cè)度公式簡(jiǎn)化為:
依次逐幀滑動(dòng),取出所得距離值曲線上的局部極大值點(diǎn),并利用閾值判斷其是否為分割點(diǎn)。具體做法是:當(dāng)DIS極大值點(diǎn)的值超過(guò)預(yù)設(shè)門限T-DIS時(shí),判斷為分割點(diǎn),否則暫時(shí)舍去;接著計(jì)算當(dāng)前分割點(diǎn)和前一分割點(diǎn)之間音頻特征的方差,若小于預(yù)設(shè)門限TVAR則確認(rèn)該分割點(diǎn),并繼續(xù)下一分割點(diǎn)判斷,否則取當(dāng)前分割點(diǎn)和前一分割點(diǎn)之間的中間點(diǎn)為新的分割點(diǎn),確保段落內(nèi)方差滿足條件為止。用該方式繼續(xù)搜尋下一分割點(diǎn),直至數(shù)據(jù)段的結(jié)束。
經(jīng)過(guò)上述兩層分割,可以將任意長(zhǎng)度的音頻流準(zhǔn)確而有效地分割為音頻特征數(shù)值波動(dòng)幅度較小的短時(shí)段落。由于第1層采用能量極小值點(diǎn)進(jìn)行分割,第2 階段才依賴均值和方差的統(tǒng)計(jì),因此,當(dāng)音頻數(shù)據(jù)起點(diǎn)略有偏移時(shí),最終分割偏差累積主要存在于音頻的起始和結(jié)尾部分,而對(duì)音頻中間主體部分的分割影響較小,因此該分割方法具有起點(diǎn)魯棒性。
2音頻標(biāo)注
音頻標(biāo)注這里指給出一段音頻的特征編碼。本文音頻標(biāo)注工作是為音頻檢索做準(zhǔn)備,主要進(jìn)行了基于BP神經(jīng)網(wǎng)絡(luò)的音頻類別標(biāo)注和基于音頻指紋的音頻內(nèi)容標(biāo)注。對(duì)音頻文件進(jìn)行分段,以段而不是以音頻文件為單位建立索引,能有效地提高它們之間的區(qū)分度。本文音頻類別標(biāo)注實(shí)驗(yàn)中段長(zhǎng)取為1 min,即將所有音頻文件都按1 min分成等時(shí)長(zhǎng)的段,然后針對(duì)每段進(jìn)行音頻標(biāo)注。
2.1基于BP神經(jīng)網(wǎng)絡(luò)的音頻類別標(biāo)注
音頻類別識(shí)別指通過(guò)對(duì)音頻信號(hào)進(jìn)行分析,確定音頻的具體類別屬性(如人聲、樂(lè)器聲、自然聲還是噪聲等)。本文針對(duì)電臺(tái)廣播節(jié)目搜索問(wèn)題,音頻類別暫時(shí)分為:男聲、女聲、樂(lè)聲、歌聲、球賽聲等。
音頻類別識(shí)別的算法有很多,如矢量量化(VQ)、隱馬爾科夫模型(HMM)、高斯混合模型(GMM)等[5]。本文采用BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)[78]實(shí)現(xiàn)音頻類別的識(shí)別。
BP網(wǎng)絡(luò)是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。它是一種多層前饋網(wǎng)絡(luò),學(xué)習(xí)規(guī)則使用最速下降法,通過(guò)反向傳播算法調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值。BP神經(jīng)網(wǎng)絡(luò)模型分為兩個(gè)階段:一是模型訓(xùn)練階段,將大量已做標(biāo)注的音頻信號(hào)作為訓(xùn)練樣本訓(xùn)練網(wǎng)絡(luò),首先進(jìn)行音頻預(yù)處理提取訓(xùn)練樣本的特征參數(shù),每幀音頻提取24維MFCC參數(shù),然后將這些特征參數(shù)作為輸入送入神經(jīng)網(wǎng)絡(luò),同時(shí)給出期望輸出,通過(guò)BP算法對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,最終學(xué)習(xí)得到網(wǎng)絡(luò)的一組連接權(quán)值和閾值;二是模型識(shí)別階段,將待識(shí)別音頻信號(hào)進(jìn)行同樣的預(yù)處理和特征參數(shù)提取,輸入到訓(xùn)練好的網(wǎng)絡(luò)中,利用訓(xùn)練好的連接權(quán)值和閾值計(jì)算網(wǎng)絡(luò)輸出,并與預(yù)先設(shè)置的閾值比較以確定音頻類別。對(duì)段長(zhǎng)為1 min的音頻進(jìn)行標(biāo)注時(shí),只需統(tǒng)計(jì)各類音頻出現(xiàn)幀數(shù),記錄幀數(shù)超過(guò)預(yù)設(shè)閾值的音頻類別編號(hào)即完成此1 min的音頻標(biāo)注。
2.2基于Philips音頻指紋的音頻標(biāo)注
為了進(jìn)行基于內(nèi)容的音頻檢索,本文還進(jìn)行了基于音頻指紋[9]的音頻標(biāo)注。
音頻指紋作為內(nèi)容自動(dòng)識(shí)別技術(shù)的核心算法,已廣泛應(yīng)用于音樂(lè)識(shí)別、版權(quán)內(nèi)容監(jiān)播、內(nèi)容庫(kù)去重等領(lǐng)域。本文采用Philips魯棒音頻指紋模型[10]。對(duì)段長(zhǎng)為1 min的音頻進(jìn)行標(biāo)注時(shí),進(jìn)行了如下改進(jìn)以壓縮數(shù)據(jù)和提高抗干擾性。首先每個(gè)音頻指紋不是針對(duì)音頻幀,而是針對(duì)分割好的音頻段基元進(jìn)行的,因此可以用特征均值代替音頻片段以減少數(shù)據(jù)冗余。將每個(gè)段基元所有幀的子帶能量譜進(jìn)行平均,然后提取音頻指紋。假定第n幀的第m子帶的能量為E(n,m),其對(duì)應(yīng)的二進(jìn)制指紋比特為F(n,m),為提高音頻指紋的抗噪能力,則音頻指紋的每個(gè)比特定義可改進(jìn)為:
F(n,m)=
1ifE(n,m-1)-E(n,m)-(E(n,m)-E(n,m+1))>T
0ifE(n,m-1)-E(n,m)-(E(n,m)-E(n,m+1))≤T (5)
式(5)中門限T的取值以各段基元子帶能量均值為基準(zhǔn),并乘以一定比例系數(shù)動(dòng)態(tài)選取。對(duì)段長(zhǎng)為1 min的音頻進(jìn)行標(biāo)注時(shí),記錄出現(xiàn)的段基元音頻指紋即可。
3實(shí)驗(yàn)分析
本文實(shí)驗(yàn)所用數(shù)據(jù)采集于廣播電臺(tái),包括新聞、音樂(lè)、廣播劇、廣告等,數(shù)據(jù)總時(shí)為20 h,均為單聲道,采樣率為 8 kHz。在數(shù)據(jù)預(yù)處理過(guò)程時(shí)將音頻均做幅度歸一化處理;在提取聲學(xué)特征參數(shù)時(shí),幀長(zhǎng)為 0.064 s,幀移為0.032 s。
3.1音頻分割實(shí)驗(yàn)
采用兩層音頻分割進(jìn)行音頻分割,經(jīng)過(guò)實(shí)驗(yàn),選取β=0.1時(shí)有最好的分割效果;在第二層的分割實(shí)驗(yàn)中, TDIS取DIS的均值,TVAR=0.01,N=6時(shí)有最好的分割效果。實(shí)驗(yàn)結(jié)果如圖1、2所示。
從圖1可以看出,音頻有聲段和無(wú)聲段被有效分割開(kāi)。在圖2中,有聲段被進(jìn)一步分割成聲學(xué)特征變化小的短時(shí)段落。
根據(jù)實(shí)際音頻庫(kù)的數(shù)據(jù)來(lái)源不同,對(duì)可能出現(xiàn)的音頻幅度和信噪比的變化等也進(jìn)行了相關(guān)實(shí)驗(yàn)和分析。因?yàn)樵谝纛l預(yù)處理中對(duì)音頻進(jìn)行了幅度歸一化處理,所以在此不考察信號(hào)幅度變化對(duì)音頻分割的影響,僅僅考察信噪比的影響。設(shè)x(t)為原始音頻,y(t)為信噪比改變后的音頻。對(duì)x(t)和y(t)分別進(jìn)行分割,并以x(t)的分割點(diǎn)為基準(zhǔn),統(tǒng)計(jì)y(t)分割的準(zhǔn)確率:
P=NXYNX×100%(6)
NX表示x(t)分割點(diǎn)的總數(shù),NXY表示x(t)和y(t)分割點(diǎn)一致的數(shù)目(兩個(gè)分割點(diǎn)相距1幀,也認(rèn)為一致)。從數(shù)據(jù)庫(kù)中隨機(jī)選取了10 min長(zhǎng)的音頻,分別疊加不同信噪比的高斯白噪聲生成帶噪音頻數(shù)據(jù),統(tǒng)計(jì)了不同信噪比下帶噪音頻與無(wú)噪音頻的分割準(zhǔn)確率,實(shí)驗(yàn)結(jié)果如表1所示。
實(shí)驗(yàn)結(jié)果顯示,信噪比降低對(duì)音頻分割準(zhǔn)確率有一定影響,但總體看該分割算法具有一定的抗噪性。
3.2音頻標(biāo)注實(shí)驗(yàn)
3.2.1音頻類別標(biāo)注
BP神經(jīng)網(wǎng)絡(luò)設(shè)置為3層,其中輸入層節(jié)點(diǎn)24個(gè),對(duì)應(yīng)24維MFCC參數(shù);輸出節(jié)點(diǎn)10個(gè),對(duì)應(yīng)10個(gè)不同音頻類型并分別用數(shù)字依次標(biāo)記;隱層節(jié)點(diǎn)設(shè)置為25個(gè)。本實(shí)驗(yàn)訓(xùn)練時(shí)參數(shù)設(shè)置為:反向傳播算法最大循環(huán)次數(shù)為3 000,學(xué)習(xí)系數(shù)為0.000 1,誤差閾值為0.000 01。模型識(shí)別實(shí)驗(yàn)結(jié)果如表2所示。
表2是BP網(wǎng)絡(luò)訓(xùn)練10類音頻的預(yù)測(cè)正確率,統(tǒng)計(jì)實(shí)驗(yàn)結(jié)果顯示網(wǎng)絡(luò)的平均識(shí)別正確率達(dá)97%。音頻類別標(biāo)注實(shí)驗(yàn)中,每1 min音頻數(shù)據(jù)送入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),在輸出端通過(guò)預(yù)測(cè)門限給出每幀的音頻類別編號(hào),然后統(tǒng)計(jì)該段各編號(hào)出現(xiàn)次數(shù)并統(tǒng)計(jì)為直方圖。將大于200幀的編號(hào)都記錄下來(lái),以此作為該段進(jìn)行標(biāo)注有效的音頻類別。圖3是在眾多切分成1 min的音頻片段中某一片段的統(tǒng)計(jì)直方圖。
從圖3可以看出,該時(shí)間段標(biāo)記為1、3、7、9四類,表示這1 min的音頻片段里有此四類有效音頻。
3.2.2音頻指紋標(biāo)注
音頻指紋標(biāo)注同樣針對(duì)1 min音頻段進(jìn)行。將該段音頻中大于3幀的段基元各幀子帶能量譜進(jìn)行平均,然后提取音頻指紋,記錄該段音頻中出現(xiàn)過(guò)的所有音頻指紋。圖4為某1 min音頻段共270個(gè)段基元生成的指紋圖。不難發(fā)現(xiàn),以段基元產(chǎn)生的指紋比按幀產(chǎn)生的指紋數(shù)據(jù)量大大減少,這樣使后續(xù)建立音頻索引表進(jìn)行音頻檢索更簡(jiǎn)潔、高效。
4結(jié)束語(yǔ)
本文以建立音頻檢索的索引表為目標(biāo),研究了音頻分割與標(biāo)注問(wèn)題?;谀芰亢投攘烤嚯x將音頻流分割成有聲段和無(wú)聲段,有聲段進(jìn)一步分割成一系列段間差異大,而段內(nèi)差異小的段基元。然后將音頻流以段長(zhǎng)1 min為單位標(biāo)注,完成了基于BP神經(jīng)網(wǎng)絡(luò)的音頻類別標(biāo)注和基于音頻指紋的音頻內(nèi)容標(biāo)注。仿真實(shí)驗(yàn)表明,文中音頻分割和標(biāo)注算法是有效的,而且具有一定的魯棒性。這為后續(xù)建立合適的音頻索引打下了良好基礎(chǔ),下一步將深入研究基于內(nèi)容的音頻檢索。
參考文獻(xiàn)
?。?] 劉巍.基于內(nèi)容的同源音頻和視頻檢索[D].北京:北京郵電大學(xué), 2011.
?。?] 張衛(wèi)強(qiáng),劉加.網(wǎng)絡(luò)音頻數(shù)據(jù)庫(kù)檢索技術(shù)[J].通信學(xué)報(bào), 2007,28(12):152-155.
?。?] 張雪源,賀前華,李艷雄,等.一種基于倒排索引的音頻檢索方法[J].電子與信息學(xué)報(bào),2012,34(11):2561-2567.
?。?] 吳宇,錢旭,周劍鳴.基于相對(duì)熵和貝葉斯信息判據(jù)的在線分割算法[J].電聲技術(shù),2013,37(3):49-53.
?。?] 王歡.語(yǔ)音發(fā)現(xiàn)與跟蹤技術(shù)的研究及應(yīng)用[D].北京:北京郵電大學(xué),2014.
?。?] 張衛(wèi)清.語(yǔ)音識(shí)別算法的研究[D].南京:南京理工大學(xué),2004.
[7] 陳仁林,郭中華,朱兆偉.基于BP神經(jīng)網(wǎng)絡(luò)的說(shuō)話人識(shí)別技術(shù)的實(shí)現(xiàn)[J].智能計(jì)算機(jī)與應(yīng)用,2012,2(2):47-49.
?。?] 楊景花,王雙喜,周思方,等.基于神經(jīng)網(wǎng)絡(luò)的智能語(yǔ)音識(shí)別研究[J].微型機(jī)與應(yīng)用,2016,35(17):52-54.
?。?] 周亦敏,牟同鑫.采用復(fù)倒譜和子串匹配的音頻指紋算法研究[J].上海理工大學(xué)學(xué)報(bào),2010,32(3):277-280.
?。?0] 魯明明,張暉,沈慶宏. 基于功率譜特征的音頻指紋實(shí)現(xiàn)[J].電子測(cè)量技術(shù),2016,39(9):69-72.