劉雙君, 金小峰, 崔榮一
( 延邊大學(xué)工學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科 智能信息處理研究室, 吉林 延吉 133002 )
原始的音頻數(shù)據(jù)是一個(gè)非語義符號(hào)表示的無結(jié)構(gòu)化的數(shù)據(jù)流,缺乏內(nèi)容語義的描述和結(jié)構(gòu)化的組織,因而音頻分析受到極大的限制[1].相似性度量是基于內(nèi)容的多媒體檢索技術(shù)的關(guān)鍵步驟之一[2].對(duì)聲音相似性度量方法而言,其面臨的主要困難之一是呈現(xiàn)手段的匱乏,這與聲音的主觀性特點(diǎn)密切相關(guān);同時(shí),以幀為單位提取的單個(gè)特征向量也不能完全反映聲音片段之間的相似性關(guān)系[3].Subramanya等人[4]直接針對(duì)音頻樣本的二值圖像進(jìn)行了分割處理,這種方法雖然簡單直觀,但由于采樣率、量化位和時(shí)長等因素,并不具備實(shí)用性.Foote[5]利用可視化方法對(duì)音頻的時(shí)間結(jié)構(gòu)進(jìn)行了分析,以尋找音樂中的自相似特點(diǎn),如提取鼓點(diǎn)的節(jié)奏,發(fā)現(xiàn)旋律重復(fù)的特點(diǎn).研究[6]表明,音樂檢索中基頻作為語音旋律的一個(gè)重要特點(diǎn),將其按照上升、平穩(wěn)、下降的變化將語音轉(zhuǎn)化為一個(gè)三元化的音符序列,也有較好的表現(xiàn).
本文首先將語音分幀后提取MFCC參數(shù)[7],并將n段語音的MFCC參數(shù)進(jìn)行聚類,然后將其中每一段語音的每一幀進(jìn)行分類,并將其映射成一個(gè)相應(yīng)的字符;n段語音相應(yīng)轉(zhuǎn)化為n個(gè)字符串后,計(jì)算每兩段字符串的編輯距離,即每兩段語音之間的相異性,從而得出其相似性.
不同的人說的同一段話其信息是一樣的,因此可以假設(shè):相同內(nèi)容的語音信號(hào)應(yīng)該歸于同一類中,不同內(nèi)容的語音信號(hào)歸于不同的類中.進(jìn)一步可延伸為,相同內(nèi)容的語音信號(hào)映射為同一個(gè)賦予特定含義的抽象字符串,不同內(nèi)容的語音信號(hào)映射為不同的字符串,這樣每段語音信號(hào)就可以用一個(gè)字符串表示.
如果要將語音信號(hào)映射成一個(gè)字符串,首先應(yīng)該將語音信號(hào)分為m類,即映射后的字符串由m個(gè)基本字符構(gòu)成;因此,本文將提取的MFCC參數(shù)(符合人耳的聽覺特性)采用k均值聚類[8]的方法進(jìn)行聚類,得到m個(gè)互不重疊的類空間.聚類算法如下:
1) 指定簇?cái)?shù)目m,以及簇中心的初值和結(jié)束條件.簇中心的初值為樣本空間的前m個(gè)數(shù)據(jù),結(jié)束條件為迭代N(N=1 000)次內(nèi)兩次迭代的簇中心的差值不超過閾值T(T=0.01)或者迭代次數(shù)達(dá)到N;
2)采用歐氏距離計(jì)算相似性,計(jì)算樣本空間中各樣本與簇中心的距離,距離最小的樣本劃歸同類;
3)重新計(jì)算每個(gè)類的簇中心,得到m個(gè)新的簇中心;
4)判斷是否滿足步驟1)中的結(jié)束條件,若滿足條件則結(jié)束,得到m個(gè)簇中心,否則執(zhí)行步驟2).
得到m個(gè)簇中心后,采用KNN算法[9]對(duì)語音進(jìn)行分類,即將一段語音映射為一個(gè)字符串.首先,計(jì)算樣本空間中每個(gè)樣本與每個(gè)簇中心的距離(本文采用歐式距離);然后,找出樣本空間中每個(gè)樣本與m個(gè)簇中心距離的最小值,再將此樣本與此簇中心歸為同一類,并映射為同一個(gè)字符;最后,得到每一段語音所對(duì)應(yīng)的字符串.
用上述方法將每段語音映射成一個(gè)字符串后,語音文件之間的相似性度量就轉(zhuǎn)換為字符串之間的相似性度量.編輯距離則是字符串相似性度量的一個(gè)經(jīng)典算法,為了說明本文方法的有效性,將其與直接采用MFCC進(jìn)行語音相似性度量的方法進(jìn)行比較.
編輯距離(Levenshtein distance)[10]由Levenshtein于1966年提出,是指由字符串S變化到目標(biāo)字符串T所需要的最小編輯操作的次數(shù).這里所指的編輯操作是指對(duì)字符串的某一個(gè)位置的字符進(jìn)行刪除、插入、替換的操作,如字符串“kitten”與“sitting”的編輯距離為3,計(jì)算過程中發(fā)生了2次替換和1次插入操作.為了便于對(duì)比多對(duì)字符串之間的相似程度,本文將一對(duì)字符串的編輯距離與該字符串對(duì)中最長的字符串長度相除后的距離作為本文的編輯距離,如“kitten”與“sitting”之間的編輯距離為3/7.
圖1為2個(gè)人的8段語音信號(hào),其中(a)與(e)、(b)與(f)、(c)與(g)、(d)與(h)的語音內(nèi)容相同,(a)、(b)、(c)、(d)是第1個(gè)人的語音,(e)、(f)、(g)、(h)是第2個(gè)人的語音.將上述8段語音采用本文提出的幀語音符號(hào)化后,計(jì)算編輯距離得到的結(jié)果見表1.表1表明,相同內(nèi)容的語音段間的編輯距離較小,因此驗(yàn)證了本文所提出方法的可行性.
圖1 不同的語音信號(hào)
表1 語音間的編輯距離
經(jīng)典的語音相似性度量方法是直接采用符合人耳聽覺特性的MFCC參數(shù),但由于語音段長度的不同會(huì)導(dǎo)致提取到的MFCC參數(shù)的維度不同,因此需要采用DTW算法[11]度量它們之間的相似性.表2是圖1中各語音段間的MFCC參數(shù)之間的DTW距離.由表2可知,相同內(nèi)容語音間的差異較小,不同內(nèi)容語音間的差異較大.
表2 語音間的DTW距離
首先將語音中的靜音部分(此時(shí)無人說話)去除,分幀后提取MFCC參數(shù),并對(duì)n段語音的MFCC參數(shù)進(jìn)行聚類;然后將其中每一段語音的每一幀數(shù)據(jù)進(jìn)行分類,并將其映射成一個(gè)相應(yīng)的字符,n段語音相應(yīng)轉(zhuǎn)化為n個(gè)字符串;最后計(jì)算每兩個(gè)字符串的編輯距離,可得出每兩段語音之間的相似性.處理過程如圖2所示.
圖2 語音相似性分析流程圖
為驗(yàn)證本文方法的有效性,設(shè)計(jì)了3組實(shí)驗(yàn),實(shí)驗(yàn)的語音數(shù)據(jù)由SONY公司生產(chǎn)的PCM-D50線性錄音棒錄制,采樣頻率均為44.1 kHz.
在語音幀符號(hào)化前的聚類階段,初始的簇?cái)?shù)目將對(duì)后續(xù)的分類結(jié)果產(chǎn)生重要的影響,因?yàn)樗鼪Q定了一組音頻數(shù)據(jù)符號(hào)化后由幾個(gè)基本字符構(gòu)成.簇?cái)?shù)目的確定還沒有可靠的理論依據(jù),目前只能通過實(shí)驗(yàn)來確定最佳的簇?cái)?shù)目.
表3表示在簇?cái)?shù)目為16、15、14時(shí),分別進(jìn)行19次實(shí)驗(yàn)所獲得的錯(cuò)誤識(shí)別率.第1至第10次實(shí)驗(yàn)的數(shù)據(jù)是不同的人說相同內(nèi)容時(shí)所獲得的,第11至第19次實(shí)驗(yàn)的數(shù)據(jù)是相同的人分兩次說相同內(nèi)容時(shí)獲得的.從表中可以看出,在聚類數(shù)目為15時(shí),其錯(cuò)誤率較小,因此,在本文實(shí)驗(yàn)中確定聚類數(shù)目m=15;第11至第19次的實(shí)驗(yàn)結(jié)果要好于第1至第10次的實(shí)驗(yàn)結(jié)果,這說明由于不同的人可能來自不同的地方,其特有的地方口音會(huì)對(duì)實(shí)驗(yàn)結(jié)果產(chǎn)生影響.
為了驗(yàn)證本文方法的有效性,將上述采集的19組語音數(shù)據(jù)分別與DTW方法進(jìn)行對(duì)比實(shí)驗(yàn).表4為使用DTW方法和本文方法產(chǎn)生的錯(cuò)誤率.由表4可知,本文方法的平均錯(cuò)誤率為14.47%,DTW方法的平均錯(cuò)誤率為21.05%,由此表明本文方法效果要優(yōu)于傳統(tǒng)方法.
表3 不同聚類數(shù)目下各次實(shí)驗(yàn)的錯(cuò)誤率
表4 本文方法與DTW方法的錯(cuò)誤率
為了進(jìn)一步說明本文方法的優(yōu)越性,本文引入可區(qū)分性度量函數(shù)H(x).H(x)是對(duì)一組數(shù)據(jù)中的某一個(gè)數(shù)據(jù)與此組數(shù)據(jù)相似性的一個(gè)評(píng)價(jià),其公式為
(1)
其中X為任一組數(shù)據(jù),x為此組數(shù)據(jù)的任一元素,H(x)越大說明此元素在此組中的可區(qū)分性越好.圖3是本文方法和DTW方法的可區(qū)分性比較示意圖,其中橫軸為實(shí)驗(yàn)的次數(shù),縱軸表示每次實(shí)驗(yàn)后兩種方法最差的可區(qū)分性度量.由圖3可看出,本文方法的可區(qū)分性較好.
圖3 可區(qū)分性比較
針對(duì)音頻的相似性度量,本文提出了一種將音頻符號(hào)化后再計(jì)算其相似性的方法.通過將語音符號(hào)化后,使許多單純的數(shù)值表示的語音信號(hào)抽象化為由一系列基本字符表示的字符串,簡化了相似性的度量運(yùn)算,并且符號(hào)化后的語音信號(hào)之間的相似性度量方法的準(zhǔn)確率也高于傳統(tǒng)的DTW方法.如何結(jié)合其他的語音特征提高算法的魯棒性,降低不同口音帶來的影響,提高識(shí)別率是本文今后進(jìn)一步的研究工作.
參考文獻(xiàn):
[1] 張自強(qiáng).基于內(nèi)容的音頻匹配研究[D].上海:華東師范大學(xué),2012.
[2] 李丙洋.基于音頻內(nèi)容的多媒體文件相似性快速比對(duì)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013.
[3] 李超,熊璋,朱成軍.基于距離相關(guān)圖的音頻相似性度量方法[J].北京航空航天大學(xué)學(xué)報(bào),2006,32(2):224-227.
[4] Subramanya S, Abdou Y. Segmentation of audio data based on the binary images of the audio samples[C]//In: Proc of Inter Conference on Intelligent Systems. Denver: ISCA, 1999:137-141.
[5] Foote J. Automatic audio segmentation using a measure of audio novelty[C]//In: Proc of ICME 2000. NY: IEEE, 2000:452-455.
[6] 曹文曉.哼唱檢索中基于分段信息的匹配算法研究[D].北京:清華大學(xué),2010.
[7] Skowronski M D, Harris J G. Increased MFCC filter bandwidth for noise-robust phoneme recognition[C]//In:IEEE International Conference on Acoustics, Speech, and Signal Processing. Florida: IEEE, 2002:801-804.
[8] 蔡碧野,吳一帆,謝中科,等.數(shù)據(jù)挖掘中聚類的研究[J].計(jì)算機(jī)工程與應(yīng)用,2003,17(2):39-42.
[9] 孫巖,呂世聘,王秀坤,等.基于結(jié)構(gòu)學(xué)習(xí)的KNN分類算法[J].計(jì)算機(jī)科學(xué),2007,34(12):184-187.
[10] Levenshtein V L. Binary codes capable of correcting deletions, insertions and reversals[J]. Doklady Akademii Nauk SSSR, 1966,163(4):707-710.
[11] Itakura F. Minimum prediction residual principle applied to speech recognition[C]//In: IEEE Trans Acoustics, Speech, and Signal Proc. IEEE: 1975,23(1):67-72.