華斌,尹文慧,張奕林
天津財(cái)經(jīng)大學(xué)信息科學(xué)與技術(shù)系,天津 300222
基于哼唱的音樂(lè)檢索應(yīng)用系統(tǒng)
華斌,尹文慧,張奕林
天津財(cái)經(jīng)大學(xué)信息科學(xué)與技術(shù)系,天津 300222
用哼唱檢索音樂(lè)能夠讓用戶(hù)尋找到他僅僅只知道旋律的部分音調(diào)的一首歌。用戶(hù)只是簡(jiǎn)單地通過(guò)電腦的麥克風(fēng)哼唱出這段音調(diào),然后系統(tǒng)通過(guò)查詢(xún)包括這段音調(diào)的歌曲旋律數(shù)據(jù)庫(kù),返回一個(gè)查詢(xún)結(jié)果的相關(guān)歌曲列表。這種查找方式相比于文本查找(曲名、演唱者等)更自然,也更方便,擁有很大的商業(yè)發(fā)展?jié)摿?,成為近年?lái)很多人研究的熱點(diǎn)[1-3]。
Ghias最早研究哼唱檢索[4]。他提出的方案是用三個(gè)符號(hào)U(升高)、R(不變)、D(降低)表示旋律相鄰兩個(gè)音符的音高變化。然后應(yīng)用近似字符串匹配方法來(lái)比較兩段旋律的相似度。然而這種描述旋律信息的方法相對(duì)簡(jiǎn)略,在辨識(shí)度上也不太理想。Kosugi[5]等采用把音高和節(jié)奏信息結(jié)合的旋律表示方法,可以適應(yīng)大型樂(lè)曲庫(kù)的檢索。但是該系統(tǒng)要求用戶(hù)必須伴隨一個(gè)節(jié)拍器哼唱,使用起來(lái)不方便。Shih等在QBH系統(tǒng)中使用了隱馬爾科夫模型(HMM)比較哼唱旋律和目標(biāo)歌曲的相似度,實(shí)驗(yàn)表明該方法對(duì)音高不準(zhǔn)比較敏感,但是對(duì)節(jié)奏上的哼唱誤差有較高的容忍度。臺(tái)灣清華大學(xué)在哼唱檢索系統(tǒng)中采用DTW和Line Scaling多級(jí)匹配算法,但由于DTW,Line Scaling直接使用基頻曲線進(jìn)行匹配,系統(tǒng)的檢索速度較慢。
因此如何有效地利用旋律音高和音長(zhǎng)特征進(jìn)行高效檢索,是人們進(jìn)一步研究的方向。針對(duì)此問(wèn)題,本文提出了一種改進(jìn)的動(dòng)態(tài)時(shí)間彎折(Dynamic Time Warping,DTW)算法,引入音長(zhǎng)差序列的余弦相似度,將旋律音高和音長(zhǎng)同時(shí)進(jìn)行平移,并在此基礎(chǔ)上實(shí)現(xiàn)了一個(gè)哼唱音樂(lè)檢索系統(tǒng)的原型。另外,有效地提取哼唱旋律的基頻也是檢索系統(tǒng)的關(guān)鍵步驟,系統(tǒng)模型中采用了差分Mel倒譜法獲得幀的基頻達(dá)到了較好的效果。
2.1 哼唱片段預(yù)處理
音頻信號(hào)屬于“短時(shí)平穩(wěn)過(guò)程”每一幀信號(hào)視為平穩(wěn)過(guò)程,即統(tǒng)計(jì)特性平穩(wěn),所以哼唱聲音信號(hào)處理全過(guò)程一般都使用短時(shí)處理技術(shù)。為了更好地提取哼唱信號(hào)的旋律信息,在對(duì)哼唱片段進(jìn)行分析前要進(jìn)行預(yù)處理,包括哼唱旋律的預(yù)濾波、預(yù)加重、加窗和分幀及語(yǔ)音增強(qiáng)等。下面主要介紹本系統(tǒng)中分幀加窗和語(yǔ)音增強(qiáng)技術(shù)。
(1)分幀和加窗
分幀就是把哼唱片段分成一幀一幀的短時(shí)信號(hào)。一般采用交疊分段的方法,這樣可以使幀與幀之間較好保持連續(xù)性,因?yàn)楹笠粠急A袅饲耙粠牟糠中畔?。把前一幀和后一幀的交疊部分稱(chēng)為幀移,幀移與幀長(zhǎng)的比值一般取0~0.5。本系統(tǒng)采樣頻率為11 kHz,考慮頻率分辨率和時(shí)間分辨率的平衡,采用256位的幀長(zhǎng),128位的幀移。因?yàn)楦道锶~變換對(duì)應(yīng)的是無(wú)限信號(hào),信號(hào)經(jīng)過(guò)分幀后變成有限信號(hào),分幀的信號(hào)再進(jìn)行傅里葉變換后,高頻部分將有“泄露”,所以要進(jìn)行加窗處理。窗函數(shù)有很多種,如矩形窗、漢寧窗、漢明窗等,各自有其優(yōu)缺點(diǎn),本系統(tǒng)采用漢明窗,可以較好的保留波形細(xì)節(jié)。漢明窗函數(shù)為:
(2)語(yǔ)音增強(qiáng)
“這驢肉不比西市胡姬酒肆中的差??!聽(tīng)說(shuō)萬(wàn)花谷滿(mǎn)山滿(mǎn)谷都種著花,長(zhǎng)著草,養(yǎng)得牛羊滿(mǎn)山遍野,野豬成群結(jié)隊(duì),是一個(gè)可以天天吃肉的地方。有一個(gè)由六詔來(lái)的小丫頭,會(huì)用花瓣釀‘百花酒’,唉喲喂,老子想到這個(gè),肚里的酒蟲(chóng)就一拱一拱的往喉嚨里躥!”左邊桌子上一個(gè)滿(mǎn)臉胡子的大叔在朝著他身邊的幾個(gè)兄弟嚷嚷,由他腿邊包袱里露出來(lái)的泥刀與灰板來(lái)看,他們多半是長(zhǎng)安匠作行里出來(lái)覓活的師傅吧!
用戶(hù)哼唱的聲音信號(hào)不可避免地含有噪聲,嚴(yán)重的會(huì)影響哼唱信號(hào)的質(zhì)量。另外信號(hào)在傳輸過(guò)程中也會(huì)產(chǎn)生各種噪聲[6]。噪聲分為加性和非加性的。加性噪聲一般有寬帶噪聲、周期噪聲和語(yǔ)音干擾等,非加性噪聲一般是輸入殘響和傳輸過(guò)程中的電路噪聲,其中非加性噪聲可以通過(guò)一些技術(shù)如同態(tài)濾波轉(zhuǎn)為加性噪聲。目前語(yǔ)音增強(qiáng)能從攜帶噪聲的語(yǔ)音信號(hào)中獲得較純凈的語(yǔ)音信號(hào),是解決噪聲污染比較有效的方法。語(yǔ)音增強(qiáng)技術(shù)一般采用濾波法、自相關(guān)抗噪法、減譜法、中心消波法等。本系統(tǒng)采用減譜法。如圖1為哼唱原始信號(hào)波形圖(a)和經(jīng)過(guò)預(yù)處理降噪之后的信號(hào)波形圖(b),可以看出比較好的去噪效果。
圖1 原始信號(hào)和預(yù)處理后信號(hào)對(duì)比圖
2.2 基頻提取和切分音符
系統(tǒng)采用了速度較快的差分Mel倒譜法得到基音頻率MFCC并轉(zhuǎn)換為幀的半音高,采用兩級(jí)切分音符的方法將音符分割,然后將幀音高加權(quán)處理得到每個(gè)音符的音高。旋律特征提取步驟如圖2所示。
圖2 旋律特征提取過(guò)程
在圖2所示的特征提取過(guò)程中,經(jīng)過(guò)離散余弦變換(DCT)后得到每一幀的倒譜參數(shù)c(n),提取過(guò)程如公式(2)所示[7]:
其中0≤n<M,n為所取的MFCC個(gè)數(shù);c(n)為第n個(gè)MFCC系數(shù);M為三角濾波器個(gè)數(shù);S(m)為聲音信號(hào)的對(duì)數(shù)能量;本系統(tǒng)中M取24,n取12。
Mel倒譜充分模擬了人耳的聽(tīng)覺(jué)特性,根據(jù)聲音的性質(zhì),將頻譜轉(zhuǎn)化為基于Mel頻標(biāo)的非線性頻譜,最后變換到倒譜域上。由于沒(méi)有任何前提假設(shè),因此MFCC系數(shù)擁有較好的分辨率。然而傳統(tǒng)標(biāo)準(zhǔn)的MFCC系數(shù)僅僅反映了語(yǔ)音特性的靜態(tài)參數(shù),缺少動(dòng)態(tài)特性的描述,因此采用了多個(gè)參數(shù)特征組合方式來(lái)更有效地表征說(shuō)話(huà)人的特征。系統(tǒng)中采用了一階差分倒譜參數(shù)來(lái)描述動(dòng)態(tài)特性,差分參數(shù)的表達(dá)式[8]為:
其中c(n)為已得出的MFCC系數(shù),k是常數(shù),根據(jù)經(jīng)驗(yàn)取2。
這樣提取到更精確的基頻特征參數(shù)?;lf提取出來(lái)后,利用半音轉(zhuǎn)換公式Semitone(半音)=69+12× lb(f/440),可以把每幀音高的頻率都轉(zhuǎn)換為半音單位來(lái)表示。通常一個(gè)音符要包含連續(xù)的X幀,通過(guò)上述方法得到幀的音高后,系統(tǒng)采用了一種加權(quán)求特征值的方法來(lái)獲得一個(gè)音符的音高值。原理如下:已知一個(gè)音符由x幀組成,幀音高序列為{H1,H2,…,Hx}。定義每幀的權(quán)重值為:Wi=1–cos(2∏×i/(x+1)),1≤i≤x。然后將具有相同幀音高值權(quán)重累加,所得值最大就是這個(gè)音符的音高值??紤]到哼唱旋律音符的能量分布是中間高兩端低,因此權(quán)重函數(shù)設(shè)計(jì)效果為中間加強(qiáng)而兩端減弱。
3.1 動(dòng)態(tài)時(shí)間彎折(DTW)
DTW(Dynamic Time Warping,動(dòng)態(tài)時(shí)間彎折)算法,是一種在一定路徑的限制下,尋找最優(yōu)化路徑的方法,是動(dòng)態(tài)規(guī)劃理論在哼唱檢索領(lǐng)域最常用的方法[12-14],本文將DTW作為旋律匹配的核心模塊。在DTW中,路徑方式和代價(jià)函數(shù)的選取對(duì)DTW的性能起著重要的作用,本文選取的路徑方式如圖3所示。
圖3 DTW算法—3條路徑
則DTW算法可表示為:
其中,D(i,j)表示哼唱旋律的第i幀與模板旋律的第j幀之間的最小距離,d(i,j)為哼唱旋律的第i幀與模板旋律的第j幀之間的距離。
3.2 改進(jìn)的DTW算法
傳統(tǒng)的DTW算法只計(jì)算旋律特征的音高系數(shù),忽略了旋律特征的音長(zhǎng)部分。如圖4所示,兩邊所表達(dá)的旋律特征音高部分相同,而音長(zhǎng)卻不同,但通過(guò)DTW算法計(jì)算結(jié)果是一樣的。
如何將音長(zhǎng)特征引入到DTW算法中,有學(xué)者做了研究[15],將音長(zhǎng)直接與音高相加,但音高和音長(zhǎng)的特征從本質(zhì)來(lái)說(shuō)是不同的,因此本文對(duì)引入方式進(jìn)行了改進(jìn)。
圖4 音高相同、音長(zhǎng)不同的旋律對(duì)比圖
首先記錄目標(biāo)旋律的音長(zhǎng)差序列{R1,R2,…,Rn},哼唱片段旋律的音長(zhǎng)差序列{Q1,Q2,…,Qn}。兩者的余弦相似度D′為:
考慮到余弦相似度的特點(diǎn),為了修正類(lèi)似向量(1,2)、(4,5)的余弦相似度過(guò)高這種不合理的情況,需要在各維度減去一個(gè)均值。這里采用模板旋律和哼唱旋律的音長(zhǎng)差均值,即引入:
最后通過(guò)對(duì)基因音高差的DTW相似度距離和音長(zhǎng)相似度加權(quán)求和,得到
本文實(shí)現(xiàn)的哼唱檢索系統(tǒng)的整體工作框架如圖5所示。
圖5 基于哼唱的音樂(lè)檢索應(yīng)用系統(tǒng)框架圖
系統(tǒng)包括三個(gè)主要模塊,分別為哼唱旋律特征提取、MIDI音樂(lè)索引模塊庫(kù)建立和近似旋律匹配模塊。用戶(hù)通過(guò)麥克風(fēng)等輸入設(shè)備進(jìn)行哼唱采樣,將哼唱片段預(yù)處理、去噪后進(jìn)行特征提取,得到哼唱片段的旋律信息(音高和音長(zhǎng));MIDI格式的文件易于提取音高、音長(zhǎng)等旋律特征信息,因此被廣泛用于現(xiàn)有的哼唱檢索系統(tǒng)中[16],本系統(tǒng)即是在MIDI格式的歌曲數(shù)據(jù)庫(kù)中進(jìn)行特征提取后建立音樂(lè)模板庫(kù);當(dāng)用戶(hù)哼唱輸入完成后,系統(tǒng)將提取的旋律信息與音樂(lè)模板庫(kù)中模板片段進(jìn)行匹配,然后將按照匹配程度從高到低用列表方式顯示給用戶(hù)。系統(tǒng)原型如圖6所示。
圖6 基于哼唱的音樂(lè)檢索應(yīng)用系統(tǒng)原型
系統(tǒng)采用的歌曲數(shù)據(jù)庫(kù)來(lái)自網(wǎng)絡(luò)搜集的MIDI格式音樂(lè)文件,單音軌模式,共340首歌曲;實(shí)驗(yàn)哼唱片段要求用戶(hù)采用“Da”聲哼唱,其中采集參數(shù)如下:采樣頻率為11 025 Hz,單聲道采樣,量化位數(shù)為8位。這種方式的特點(diǎn)是音符之間會(huì)留出低能量間隔,系統(tǒng)通過(guò)判斷信號(hào)能量隨時(shí)間的變化,能夠更精確地進(jìn)行音符劃分。
實(shí)驗(yàn)中,請(qǐng)到了來(lái)自實(shí)驗(yàn)室同學(xué)和老師共12名實(shí)驗(yàn)者,哼唱水平都為普通水平。其中女生6名,男生6名,實(shí)驗(yàn)者的年齡分布情況為20~30歲男女各3名,40~50歲男女各3名。分別哼唱10次不同歌曲,共120個(gè)哼唱片段,哼唱時(shí)間要求為10~15 s。如圖7所示為采用本系統(tǒng)改進(jìn)的DTW算法下的不同性別和不同年齡段的實(shí)驗(yàn)者的歌曲命中率前三位、前十位、前二十位的比較。根據(jù)實(shí)驗(yàn)結(jié)果可知,該算法對(duì)性別和年齡的影響很小,證明該算法對(duì)音頻變化和音高變化有比較好的容忍性。為比較新算法的效果,分別針對(duì)BF算法、KMP算法、傳統(tǒng)的DTW算法、音高音長(zhǎng)直接相加改進(jìn)的DTW算法(以下記作DTW改進(jìn)一)、基于幀的改進(jìn)DTW算法(以下記作:DTW改進(jìn)二)和本文改進(jìn)的DTW算法進(jìn)行了測(cè)試,測(cè)試結(jié)果如表1所示。表1列出了120個(gè)哼唱片段在六種匹配算法下的目標(biāo)歌曲排名前三位、前10位和前20位的命中率及運(yùn)行時(shí)間比例結(jié)果。
圖7 分類(lèi)統(tǒng)計(jì)實(shí)驗(yàn)者在改進(jìn)DTW算法下的歌曲命中數(shù)
表1 六種匹配算法的實(shí)驗(yàn)結(jié)果對(duì)比
根據(jù)表1可知,DTW算法相比BF算法和KMP算法的準(zhǔn)確率和效率都有顯著優(yōu)勢(shì)。而將音高與音長(zhǎng)直接相加的改進(jìn)效果不明顯,基于幀的改進(jìn)DTW算法,由于避免了音符切割,在準(zhǔn)確度上較本文的改進(jìn)的算法有提高,但是用時(shí)是本文的三倍,這在大數(shù)據(jù)集上是行不通的。本文經(jīng)過(guò)改進(jìn)的動(dòng)態(tài)時(shí)間彎折算法在速度和精度上都有提高,雖然在命中率上的提高微小,但是經(jīng)過(guò)改進(jìn)的DTW算法用時(shí)有了顯著減少,系統(tǒng)性能顯著提高。這對(duì)以后在大規(guī)模數(shù)據(jù)庫(kù)上應(yīng)用檢索提供了可行方案。
本文給出了一個(gè)基于哼唱的音樂(lè)檢索應(yīng)用系統(tǒng)模型。在哼唱旋律特征提取部分,采用了差分Mel倒譜法提取幀的基頻后加權(quán)處理得到音符的音高;在旋律匹配部分,用經(jīng)典的動(dòng)態(tài)時(shí)間彎折法引入音長(zhǎng)信息,根據(jù)哼唱片段音高和音長(zhǎng)提取的精確度不同,提出音高和音長(zhǎng)比加不同權(quán)重處理,經(jīng)過(guò)試驗(yàn)表明,該算法可以有效提高系統(tǒng)的精度和運(yùn)行時(shí)間。但是本系統(tǒng)目前仍然是實(shí)驗(yàn)系統(tǒng),在去除噪聲處理方面和搜索效率上還有很多待完善的地方,同時(shí)會(huì)繼續(xù)研究更自然的哼唱方式不局限用爆破音哼唱,并研究在不同格式數(shù)據(jù)庫(kù)中的算法改進(jìn)以進(jìn)一步提高系統(tǒng)的精確性和魯棒性。
[1]郭敏,劉加.一個(gè)基于哼唱的歌曲檢索系統(tǒng)[J].語(yǔ)音技術(shù),2009,33(12):63-64.
[2]Merrett T H.Query by Humming[J].[S.l.]:McGill University,2009.
[3]Chen B,Jang J S R.Query by singing[C]//Proceedings of 11th IPPR Conference on Computer Vision,Graphics,and Image Processing(CVGIP 1998),1998:529-536.
[4]Ghias A,Logan J,Chamberlain D,et al.Query by humming musical information retrieval in an audio database[C]// Proceedings of the 3rd ACM International Conference onMultimedia.SanFrancisco,California,USA:ACM Press,1995.
[5]Kosugi N,Nishihara Y,Sakata T,et al.A practical queryby-humming system for a large music database[C]//Proc ACM International Conference on Multimedia,California,2000.
[6]焦志平,張雪英,趙姝彥.一種基于聽(tīng)覺(jué)模型的抗噪語(yǔ)音去噪方法[J].應(yīng)用科技,2005(4).
[7]張震,王化清.語(yǔ)音信號(hào)特征提取中Mel倒譜系MFCC的改進(jìn)算法[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(22):54-57.
[8]吳斌,沈廷根,宋雪樺,等.基于噪聲環(huán)境下的MFCC特征提取[J].微計(jì)算機(jī)信息,2008,24(1):224-226.
[9]李揚(yáng),吳亞棟,劉寶龍.一種新的近似旋律匹配方法及其在哼唱檢索系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)研究與發(fā)展,2003,40(11):1554-1560.
[10]錢(qián)屹,侯義斌.一種快速的字符串匹配算法[J].小型微型計(jì)算機(jī)系統(tǒng),2004(4):410-413.
[11]李雪瑩,劉寶旭,許榕生.字符串匹配技術(shù)研究[J].計(jì)算機(jī)工程,2004(11):24-26.
[12]劉志強(qiáng).基于DTW的哼唱識(shí)別系統(tǒng)的研制[J].信息與電腦,2009(12):25-26.
[13]金毅,黃敏.基于旋律的音樂(lè)檢索[J].情報(bào)學(xué)報(bào),2003,22(3):297-301.
[14]李明.基于哼唱的音樂(lè)檢索研究[D].北京:中國(guó)科學(xué)院聲學(xué)研究所,2005.
[15]羅凱,魏維,謝青松.哼唱檢索中改進(jìn)的動(dòng)態(tài)時(shí)間規(guī)整算法[J].計(jì)算機(jī)工程,2008,10(34):69-73.
[16]郭敏,張衛(wèi)強(qiáng),劉加.一種基于幀-音符方式的哼唱檢索算法[J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,2011,51(4):561-565.
HUA Bin,YIN Wenhui,ZHANG Yilin
Department of Information Science and Technology,Tianjin University of Finance and Economics,Tianjin 300222,China
Through analyzing the humming melodies pitch extraction and retrieval algorithm,a complete system framework of Query By Humming(QBH)is proposed.It includes the melody feature extraction and approximate melody matching in MIDI music database.The Mel Frequency Cepstral Coefficients(MFCC)is extracted.Through analyzing the theory of DTW algorithm,the cosine similarity of the delta duration sequence is added with the characteristics of the sound for performance improvement of the system.Experiments are conducted in a test set of 340 MIDI songs.The system gets a success rate of top-3 increased by 3.7%and a 16%time reduction.
query by humming;pitch track;melody match;dynamic time wrapping
通過(guò)研究哼唱旋律基頻提取和檢索算法,給出了一個(gè)完整的基于哼唱的音樂(lè)檢索系統(tǒng)框架。系統(tǒng)主要分析了旋律特征提取和近似旋律匹配部分。旋律特征提取部分采用基于差分Mel倒譜法求基頻;旋律匹配部分對(duì)經(jīng)典的動(dòng)態(tài)時(shí)間彎折算法原理分析后,根據(jù)聲音特征引入音長(zhǎng)差序列的余弦相似度,提高了檢索效率和精度。在340首MIDI歌曲的測(cè)試集上,前三位識(shí)別效率提高3.7%,用時(shí)降低16%,系統(tǒng)的性能有明顯改善。
哼唱檢索;基頻提取;旋律匹配;動(dòng)態(tài)時(shí)間彎折
A
TP391.3
10.3778/j.issn.1002-8331.1212-0357
HUA Bin,YIN Wenhui,ZHANG Yilin.Music retrieval system based on query by humming.Computer Engineering and Applications,2014,50(22):141-144.
華斌(1963—),男,博士,教授,主要研究領(lǐng)域?yàn)槎嗝襟w處理、計(jì)算機(jī)仿真、決策支持系統(tǒng)、管理信息系統(tǒng)、創(chuàng)新管理;尹文慧(1987—),女,碩士研究生;張奕林(1987—),男,碩士研究生。E-mail:yin12803@163.com
2012-12-29
2013-05-02
1002-8331(2014)22-0141-04
CNKI網(wǎng)絡(luò)優(yōu)先出版:2013-05-24,http://www.cnki.net/kcms/detail/11.2127.TP.20130524.1509.003.html