一種基于動態(tài)規(guī)劃的哼唱旋律提取匹配檢索方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于動態(tài)規(guī)劃的哼唱旋律提取匹配檢索方法
【背景技術(shù)】
[0002]目前網(wǎng)絡(luò)爬蟲只爬取文本,不能爬取音樂、圖片和視頻等多媒體文件,原因主要是多媒體數(shù)據(jù)量巨大;如何下載傳輸多媒體文件;如何索引多媒體文件;進(jìn)而對處理過的多媒體文件進(jìn)行檢索。現(xiàn)在因特網(wǎng)上有大量的多媒體文件,特別是社交網(wǎng)站和多媒體分享的興起,需要對多媒體文件進(jìn)行精準(zhǔn)檢索。
[0003]在檢索方式上,音頻檢索可以采用哼唱、節(jié)拍拍打、演奏輸入、樂譜錄入等多種方式提交查詢請求進(jìn)行檢索。哼唱檢索是指用戶哼唱歌曲的某個(gè)片段作為查詢從數(shù)據(jù)庫中檢索音頻,它是最方便、最容易被用戶接受的音樂檢索方式。
[0004]但這種功能的自動實(shí)現(xiàn)卻是一項(xiàng)很有挑戰(zhàn)性的工作。主要難點(diǎn)包括如何從網(wǎng)絡(luò)音頻文件和哼唱查詢中提取旋律等關(guān)鍵特征;如何對網(wǎng)絡(luò)音頻文件和查詢之間的相似度進(jìn)行計(jì)算;如何對用戶不準(zhǔn)確的哼唱進(jìn)行容錯(cuò);如何提高系統(tǒng)的計(jì)算效率等。
[0005]本發(fā)明提供了一種基于動態(tài)規(guī)劃的哼唱旋律提取匹配檢索方法,用戶通過麥克風(fēng)哼唱的一段歌曲以音頻信號的形式進(jìn)行采集后被分割成片段,每個(gè)片段和一個(gè)哼唱的音符對應(yīng);接著估計(jì)每個(gè)片段內(nèi)音符的基音頻率,取得哼唱的旋律;然后將哼唱旋律,與已索引的網(wǎng)絡(luò)音頻文件進(jìn)行旋律匹配;最后將相似程度總分最高的若干首網(wǎng)絡(luò)音頻文件作為檢索結(jié)果返回給用戶。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于提供一種基于動態(tài)規(guī)劃的哼唱旋律提取匹配檢索方法。本發(fā)明包括以下特征:
[0007]發(fā)明技術(shù)方案
[0008]一種基于動態(tài)規(guī)劃的哼唱旋律提取匹配檢索方法,其具體步驟如下:
[0009]I)用戶通過麥克風(fēng)哼唱的一段歌曲以音頻信號的形式進(jìn)行采集;
[0010]2)求出輸入信號的對數(shù)能量曲線并對其平滑后,根據(jù)曲線極大值和極小值動態(tài)地估測有聲區(qū)的能量閾值,切割出連續(xù)有聲的片段,每個(gè)片段和一個(gè)哼唱的音符對應(yīng);
[0011]3)基于時(shí)域自相關(guān)方法,求出每一幀哼唱信號的基頻,然后通過下式轉(zhuǎn)換成半音單位;
[0012]4)采用基于規(guī)則的方法計(jì)算音頻幀的音高,然后進(jìn)行旋律曲線平滑以去掉噪聲段,最終獲得有效的哼唱旋律;
[0013]5)針對3級音高輪廓線旋律表示,基于一種遞歸式音高輪廓線間最小編輯距離計(jì)算方法,與已索引的網(wǎng)絡(luò)音頻文件進(jìn)行旋律匹配;
[0014]6)將相似程度總分最高的若干首網(wǎng)絡(luò)音頻文件作為檢索結(jié)果返回給用戶。
【附圖說明】
[0015]圖1是基于動態(tài)規(guī)劃的哼唱旋律提取匹配檢索流程圖。
【具體實(shí)施方式】
[0016]這種基于動態(tài)規(guī)劃的哼唱旋律提取匹配檢索方法,包括如下步驟:
[0017]I)用戶通過麥克風(fēng)哼唱的一段歌曲以音頻信號的形式進(jìn)行采集;
[0018]2)求出輸入信號的對數(shù)能量曲線并對其平滑后,根據(jù)曲線極大值和極小值動態(tài)地估測有聲區(qū)的能量閾值,切割出連續(xù)有聲的片段,每個(gè)片段和一個(gè)哼唱的音符對應(yīng);
[0019]3)基于時(shí)域自相關(guān)方法,求出每一幀哼唱信號的基頻,然后通過下式轉(zhuǎn)換成半音單位;
[0020]4)采用基于規(guī)則的方法計(jì)算音頻幀的音高,然后進(jìn)行旋律曲線平滑以去掉噪聲段,最終獲得有效的哼唱旋律;
[0021]5)針對3級音高輪廓線旋律表示,基于一種遞歸式音高輪廓線間最小編輯距離計(jì)算方法,與已索引的網(wǎng)絡(luò)音頻文件進(jìn)行旋律匹配;
[0022]6)將相似程度總分最高的若干首網(wǎng)絡(luò)音頻文件作為檢索結(jié)果返回給用戶。
【主權(quán)項(xiàng)】
1.一種基于動態(tài)規(guī)劃的哼唱旋律提取匹配檢索方法,其具體步驟如下: 1)用戶通過麥克風(fēng)哼唱的一段歌曲以音頻信號的形式進(jìn)行采集; 2)求出輸入信號的對數(shù)能量曲線并對其平滑后,根據(jù)曲線極大值和極小值動態(tài)地估測有聲區(qū)的能量閾值,切割出連續(xù)有聲的片段,每個(gè)片段和一個(gè)哼唱的音符對應(yīng); 3)基于時(shí)域自相關(guān)方法,求出每一幀哼唱信號的基頻,然后通過下式轉(zhuǎn)換成半音單位; 4)采用基于規(guī)則的方法計(jì)算音頻幀的音高,然后進(jìn)行旋律曲線平滑以去掉噪聲段,最終獲得有效的哼唱旋律; 5)針對3級音高輪廓線旋律表示,基于一種遞歸式音高輪廓線間最小編輯距離計(jì)算方法,與已索引的網(wǎng)絡(luò)音頻文件進(jìn)行旋律匹配; 6)將相似程度總分最高的若干首網(wǎng)絡(luò)音頻文件作為檢索結(jié)果返回給用戶。
【專利摘要】本發(fā)明公開了一種基于動態(tài)規(guī)劃的哼唱旋律提取匹配檢索方法,其具體步驟如下:用戶通過麥克風(fēng)哼唱的一段歌曲以音頻信號的形式進(jìn)行采集;求出輸入信號的對數(shù)能量曲線并對其平滑后,根據(jù)曲線極大值和極小值動態(tài)地估測有聲區(qū)的能量閾值,切割出連續(xù)有聲的片段,每個(gè)片段和一個(gè)哼唱的音符對應(yīng);基于時(shí)域自相關(guān)方法,求出每一幀哼唱信號的基頻,然后通過下式轉(zhuǎn)換成半音單位;采用基于規(guī)則的方法計(jì)算音頻幀的音高,然后進(jìn)行旋律曲線平滑以去掉噪聲段,最終獲得有效的哼唱旋律;針對3級音高輪廓線旋律表示,基于一種遞歸式音高輪廓線間最小編輯距離計(jì)算方法,與已索引的網(wǎng)絡(luò)音頻文件進(jìn)行旋律匹配;將相似程度總分最高的若干首網(wǎng)絡(luò)音頻文件作為檢索結(jié)果返回給用戶。
【IPC分類】G06F17/30
【公開號】CN105022744
【申請?zhí)枴緾N201410171206
【發(fā)明人】張軍, 宋惟忠
【申請人】上海京知信息科技有限公司
【公開日】2015年11月4日
【申請日】2014年4月24日