基于16位dsp平臺應(yīng)用的嵌入式哼唱檢索方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提出了基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索方法,包括:采集用戶的哼唱旋律,并將哼唱旋律按照PCM格式存儲(chǔ);根據(jù)短時(shí)自相關(guān)算法對哼唱旋律進(jìn)行基音提取,獲得PV信息;對PV信息進(jìn)行音符切分和后處理后轉(zhuǎn)換為NOTE格式信息,剔除虛假基音信息,獲得待檢索旋律;將MIDI音樂庫信息轉(zhuǎn)換為NOTE格式信息,獲得標(biāo)準(zhǔn)MIDI音樂模板庫;將待檢索旋律與標(biāo)準(zhǔn)MIDI音樂模板庫通過NLS算法和NRA算法進(jìn)行旋律匹配,獲得匹配分?jǐn)?shù);其中NLS算法是將基于幀的傳統(tǒng)LS算法修改為基于NOTE信息;NRA算法將基于幀的傳統(tǒng)RA算法修改為基于NOTE信息;根據(jù)匹配分?jǐn)?shù)排序,輸出匹配結(jié)果。本發(fā)明可高效精確檢索,適應(yīng)性廣。
【專利說明】基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及微波自動(dòng)搜索音樂的領(lǐng)域,特別是指一種用于哼唱檢索的,且能應(yīng)用于16位DSP平臺的檢索方法及片上系統(tǒng)。
【背景技術(shù)】
[0002]目前,如何高效方便的從大量信息中檢索出目標(biāo)信息,對于音樂信息的檢索來說成為一大挑戰(zhàn),隨著數(shù)據(jù)存儲(chǔ)方式和手段的不斷更新和發(fā)展,數(shù)字化信息已經(jīng)滲透到我們生活的各個(gè)角落,傳統(tǒng)的檢索方式需要給信息進(jìn)行分類與標(biāo)注,工程量浩大程度超出人們的想象,并且隨著信息量的進(jìn)一步增大,傳統(tǒng)檢索方式的弊端越發(fā)凸顯。
[0003]哼唱檢索是一種新型的,基于內(nèi)容的檢索方式,伴隨著學(xué)者的不斷探索和研究,這種基于內(nèi)容的音樂檢索方式具有多方面的優(yōu)勢,首先,隨著互聯(lián)網(wǎng)以及其他電子產(chǎn)品的飛速發(fā)展,音樂的存儲(chǔ)量也不斷增長,按照這種增長方式,對歌曲按照傳統(tǒng)辦法的標(biāo)注和信息分類工程變得越來越大,而基于內(nèi)容的哼唱檢索無需進(jìn)行分類和標(biāo)注工作,利用相關(guān)轉(zhuǎn)換軟件將目標(biāo)音樂文件轉(zhuǎn)換成相應(yīng)的模板格式便可使用,同時(shí)由于哼唱檢索算法的發(fā)展,目前已經(jīng)可以高效準(zhǔn)確的檢索出目標(biāo)音樂信息。其次,人們經(jīng)常會(huì)遇見這樣一種狀況,只記得音樂的旋律,卻記不清楚音樂的歌詞和具體名字,對于這樣一種檢索需求,顯然傳統(tǒng)的檢索方式已經(jīng)顯露出了功能上的弊端,甚至完全不能實(shí)現(xiàn)預(yù)期檢索目標(biāo),這時(shí)候基于內(nèi)容檢索方式的優(yōu)勢便顯露無疑,檢索者只需要哼唱出記得的相應(yīng)旋律便可從大量的音樂文件中尋找出相應(yīng)的檢索音樂信息。而這樣的檢索方式對于智能化市場應(yīng)用前景也是一片光明,例如MP3、移動(dòng)電話、卡拉0K、智能玩具等系統(tǒng)引入嵌入式哼唱檢索技術(shù)會(huì)有很好的市場需求空間。
[0004]由于哼唱檢索的特殊優(yōu)勢和發(fā)展空間,國內(nèi)外研究學(xué)者對于這一領(lǐng)域的研究不斷開展和加深,新的算法和應(yīng)用平臺不斷的引入到該領(lǐng)域,總之,作為基于內(nèi)容的檢索方式,哼唱檢索具有重要的理論研究價(jià)值和廣泛的工程應(yīng)用背景,然而,市場化產(chǎn)品這一領(lǐng)域仍然存在這巨大的發(fā)展空間,目前在市場上實(shí)際應(yīng)用的產(chǎn)品都是基于PC的大型系統(tǒng),例如中國移動(dòng)、中國電信所提供的彩鈴檢索服務(wù),受已有算法復(fù)雜度和檢索精確度的影響,現(xiàn)有基于PC機(jī)的哼唱檢索匹配算法無法直接應(yīng)用于已有的絕大多數(shù)嵌入式系統(tǒng)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提出一種可以高效精確檢索,并且適用于底端嵌入式平臺的基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索片上系統(tǒng)。
[0006]本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0007]基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索方法,包括:
[0008]采集用戶的哼唱旋律,并將哼唱旋律按照PCM格式存儲(chǔ);
[0009]根據(jù)短時(shí)自相關(guān)算法對哼唱旋律進(jìn)行基音提取,獲得PV信息;
[0010]對PV信息進(jìn)行音符切分和后處理后轉(zhuǎn)換為NOTE格式信息,剔除虛假基音信息,獲得待檢索旋律;
[0011 ] 將MIDI音樂庫信息轉(zhuǎn)換為NOTE格式信息,獲得標(biāo)準(zhǔn)MIDI音樂模板庫;
[0012]將待檢索旋律與標(biāo)準(zhǔn)MIDI音樂模板庫通過NLS算法和NRA算法進(jìn)行旋律匹配,獲得匹配分?jǐn)?shù);其中NLS算法是將基于幀的傳統(tǒng)LS算法修改為基于NOTE信息;NRA算法將基于幀的傳統(tǒng)RA算法修改為基于NOTE信息;
[0013]根據(jù)匹配分?jǐn)?shù)高低排序,輸出匹配結(jié)果。
[0014]另本發(fā)明提供的基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索片上系統(tǒng),包括:
[0015]采集模塊,用于采集用戶的哼唱旋律,并將哼唱旋律按照PCM格式存儲(chǔ);
[0016]基音提取模塊,用于根據(jù)短時(shí)自相關(guān)算法對哼唱旋律進(jìn)行基音提取,獲取PV信息;
[0017]音符切分模塊,用于對PV信息進(jìn)行音符切分,將時(shí)間順序上相鄰的基音信息進(jìn)行合并/拆分處理;
[0018]后處理模塊,用于對PV信息進(jìn)行基頻路徑代價(jià)計(jì)算,Boersma計(jì)算處理后獲得輸入旋律的PV信息;
[0019]算法匹配模塊,用于將PV信息,MIDI音樂庫信息轉(zhuǎn)換為NOTE格式信息;并根據(jù)NLS算法模塊和NRA算法模塊對轉(zhuǎn)換后的PV信息與MIDI音樂庫信息中的MIDI音樂模板進(jìn)行匹配,或者匹配分?jǐn)?shù);
[0020]匹配結(jié)果輸出端,用于根據(jù)匹配分?jǐn)?shù)輸出排序以及求取最大匹配距離值所對應(yīng)MIDI音樂模板序號。
[0021]本發(fā)明提供的基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索方法及片上系統(tǒng),基音提取得到PV信息后,將PV信息轉(zhuǎn)換成音符信息,并對音符信息進(jìn)行切分,剔除掉虛假的音符信息,得到穩(wěn)健的音符信息;由于音符信息能夠更好的描述歌曲旋律的特點(diǎn),相比于基于幀的基音信息,采用音符匹配方式能夠有效的提高匹配計(jì)算的精確度;另外采用NLS與NRA算法替代傳統(tǒng)的基于幀的匹配方法,匹配計(jì)算的精確度有了極大提高。
【專利附圖】
【附圖說明】
[0022]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0023]圖1為本發(fā)明基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索方法流程圖;
[0024]圖2為本發(fā)明基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索片上系統(tǒng)的框圖。
【具體實(shí)施方式】
[0025]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0026]基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索方法,包括:[0027]采集用戶的哼唱旋律,并將哼唱旋律按照PCM格式存儲(chǔ);(步驟I)
[0028]根據(jù)短時(shí)自相關(guān)算法對哼唱旋律進(jìn)行基音提取,獲得PV(Pitch Value簡稱PV,基音值)信息;(步驟2)
[0029]對PV信息進(jìn)行音符切分和后處理后轉(zhuǎn)換為NOTE格式信息,剔除虛假基音值信息,獲得待檢索旋律;(步驟3)
[0030]將MIDI音樂庫信息轉(zhuǎn)換為NOTE格式信息,獲得標(biāo)準(zhǔn)MIDI音樂模板庫;(步驟4)[0031 ] 將待檢索旋律 與標(biāo)準(zhǔn)MIDI音樂模板庫通過NLS算法和NRA算法進(jìn)行旋律匹配,獲得匹配分?jǐn)?shù);其中NLS算法是將基于幀的傳統(tǒng)LS算法修改為基于NOTE信息;NRA算法將基于幀的傳統(tǒng)RA算法修改為基于NOTE信息;(步驟5)
[0032]根據(jù)匹配分?jǐn)?shù)高低排序,輸出匹配結(jié)果。(步驟6)
[0033]在執(zhí)行步驟I時(shí),用戶哼唱的時(shí)間長度需要大于0.3秒,最佳的是超過6秒,哼唱旋律最初以PCM (Pulse Code Modulation,簡稱PCM,脈碼調(diào)制錄音)格式進(jìn)行保存。
[0034]在執(zhí)行步驟2時(shí),短時(shí)自相關(guān)算法為一種域信號處理中最常見的算法,采用短時(shí)自相關(guān)算法提取基頻,同時(shí)輔助以基頻后期處理,根據(jù)最大分辨率,即最小的幀移,進(jìn)行基音提取。相比于頻域和其他變換域的自相關(guān)處理算法,短時(shí)自相關(guān)算法在保證運(yùn)算精度的前提下大幅降低了計(jì)算復(fù)雜度,因而更加適合于嵌入式芯片平臺的應(yīng)用。
[0035]在執(zhí)行步驟3時(shí),對PV信息進(jìn)行音符切分和后處理后轉(zhuǎn)換為NOTE (音符)格式信息,剔除虛假基音信息。在實(shí)際中,由于自相關(guān)函數(shù)最大峰值處未必是基音周期,所以如果直接把最大峰值的倒數(shù)作為基頻可能出錯(cuò),因此需要進(jìn)行后處理。后處理主要是從已得到的基音信息中剔除掉一些虛假的基音值信息,得到真實(shí)的基音值信息。轉(zhuǎn)換為NOTE (音符)格式信息,是一種基本的轉(zhuǎn)換方法。
[0036]其中,音符切分的具體方法是:采用加權(quán)求平均的方法來決定是否分割成新的音符和確定其對應(yīng)的音高值。
[0037]后處理包括的步驟有:(1)基頻路徑代價(jià)計(jì)算;(2)B0ersma計(jì)算最小路徑。
[0038]計(jì)算基頻路徑代價(jià)函數(shù)值的方法:把前η個(gè)峰值作為候選項(xiàng),并對相應(yīng)的基音周期標(biāo)記為=Pk(O)?pk(n-l)。相鄰幀間的代價(jià)函數(shù)定義為:
[0039]
【權(quán)利要求】
1.基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索方法,其特征在于,包括: 采集用戶的哼唱旋律,并將哼唱旋律按照PCM格式存儲(chǔ); 根據(jù)短時(shí)自相關(guān)算法對哼唱旋律進(jìn)行基音提取,獲得PV信息; 對PV信息進(jìn)行音符切分和后處理后轉(zhuǎn)換為NOTE格式信息,剔除虛假基音信息,獲得待檢索旋律; 將MIDI音樂庫信息轉(zhuǎn)換為NOTE格式信息,獲得標(biāo)準(zhǔn)MIDI音樂模板庫; 將待檢索旋律與標(biāo)準(zhǔn)MIDI音樂模板庫通過NLS算法和NRA算法進(jìn)行旋律匹配,獲得匹配分?jǐn)?shù);其中NLS算法是將基于幀的傳統(tǒng)LS算法修改為基于NOTE信息;NRA算法將基于幀的傳統(tǒng)RA算法修改為基于NOTE信息; 根據(jù)匹配分?jǐn)?shù)高低排序,輸出匹配結(jié)果。
2.如權(quán)利要求1所述的基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索方法,其特征在于,在執(zhí)行采集用戶的哼唱旋律的步驟時(shí),用戶哼唱時(shí)間的長度大于0.3s。
3.如權(quán)利要求1所述的基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索方法,其特征在于,在執(zhí)行對PV信息進(jìn)行音符切分和后處理后轉(zhuǎn)換為NOTE格式信息的步驟時(shí),后處理具體包括:基頻路徑代價(jià)計(jì)算以及Boer sma計(jì)算最小路徑。
4.如權(quán)利要求1所述的基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索方法,其特征在于,在執(zhí)行根據(jù)匹配分?jǐn)?shù)高低排序,輸出匹配結(jié)果的步驟時(shí),其具體操作為,將待檢索旋律與標(biāo)準(zhǔn)MIDI音樂模板庫當(dāng)中的每一個(gè)標(biāo)準(zhǔn)MIDI音樂模板進(jìn)行匹配,并計(jì)算出對應(yīng)的匹配得分,根據(jù)匹配得分高低進(jìn)行排序,并篩選出得分最高的標(biāo)準(zhǔn)MIDI音樂模板的序號,即為最終的輸出匹配結(jié)果。
5.如權(quán)利要求1所述的基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索方法,其特征在于,在執(zhí)行采集用戶的哼唱旋律的步驟時(shí),用戶哼唱時(shí)間的長度大于6s。
6.基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索片上系統(tǒng),其特征在于,包括: 采集模塊,用于采集用戶的哼唱旋律,并將哼唱旋律按照PCM格式存儲(chǔ); 基首提取1?塊,用于根據(jù)短時(shí)自相關(guān)算法對哼唱旋律進(jìn)行基首提取,獲取PV ?目息;音符切分模塊,用于對PV信息進(jìn)行音符切分,將時(shí)間順序上相鄰的基音信息進(jìn)行合并/拆分處理; 后處理模塊,用于對PV信息進(jìn)行基頻路徑代價(jià)計(jì)算,Boersma計(jì)算處理后獲得輸入旋律的PV信息; 算法匹配模塊,用于將PV信息,MIDI音樂庫信息轉(zhuǎn)換為NOTE格式信息;并根據(jù)NLS算法模塊和NRA算法模塊對轉(zhuǎn)換后的PV信息與MIDI音樂庫信息中的MIDI音樂模板進(jìn)行匹配,獲得匹配分?jǐn)?shù); 匹配結(jié)果輸出端,用于根據(jù)匹配分?jǐn)?shù)高低輸出排序以及求取最大匹配距離值所對應(yīng)MIDI音樂模板序號。
7.如權(quán)利要求6所述的基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索片上系統(tǒng),其特征在于,NLS算法模塊用于將NOTE格式信息進(jìn)行線性伸縮,具體步驟為: 預(yù)先設(shè)定一系列伸縮因子; 對哼唱旋律進(jìn)行伸縮; 找出哼唱旋律與MIDI音樂模板的最小距離。
8.如權(quán)利要求6所述的基于16位DSP平臺應(yīng)用的嵌入式哼唱檢索片上系統(tǒng),其特征在于,NRA算法模塊的具體步驟包括: 對哼唱旋律進(jìn)行伸縮與MIDI音樂模板進(jìn)行對齊; 把MIDI音樂模板從中間分成等長的兩部分Hl、H2,把哼唱旋律從中間截成兩段S1、S2,兩段的長度根據(jù)預(yù)先設(shè)定的比例而定,分別為f Ts和(l-f)Ts,其中f為[O,I]之間的比例因子,Ts為哼唱旋律段的總時(shí)間長度; 分別對S1、S2進(jìn)行伸縮與H1、H2對齊,計(jì)算出整體距離; 根據(jù)哼唱旋律與MIDI音樂模板間的最小距離找出最佳分割比值f best ; 對新分割成的兩部分H1、H2按照以上步驟進(jìn)行迭代,直到迭代次數(shù)為O,得到匹配距離值為哼唱旋律與歌曲模板 信息之間的匹配距離。
【文檔編號】G10L15/08GK103440250SQ201310308947
【公開日】2013年12月11日 申請日期:2013年7月22日 優(yōu)先權(quán)日:2013年7月22日
【發(fā)明者】曹宏 申請人:北京承芯卓越科技有限公司