專利名稱:基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫及生成系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是一種計算機應(yīng)用技術(shù)領(lǐng)域的數(shù)據(jù)庫及系統(tǒng),具體是一種基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫及生成系統(tǒng)。
背景技術(shù):
基于哼唱輸入的數(shù)字音樂檢索方式簡稱哼唱檢索(QBHQuery by Humming),它允許用戶通過哼唱的形式來檢索所需要的歌曲。用戶只要能回憶起其中的片段旋律,并通過麥克風(fēng)哼唱出來,QBH檢索系統(tǒng)就能為用戶找到其所需要的歌曲。針對哼唱檢索,國內(nèi)外已提出的面向旋律匹配的技術(shù)包括有近似符號串比較算法,典型的如DP(Dynamic Programming)法和快速近似匹配法,音高輪廓幾何匹配法和線性對齊近似旋律匹配算法LAN(Linear Alignment Mahcing)等。在這些面向旋律匹配的方法中,旋律特征模式由音符特征序列來描述,而音符特征則一般由音符音高(或相對音高差)及音符長度(或相對音符長度比)來表征。由于在描述旋律特征模式的數(shù)據(jù)結(jié)構(gòu)中不存在表征旋律分段(樂句)的信息,因此在對哼唱輸入旋律片段與整首樂曲的標準旋律之間進行非等長音符特征序列的模式匹配時,都是按照音符移動單位將輸入旋律片段的音符序列沿著樂曲的標準旋律的音符序列方向進行逐一連續(xù)移動匹配的。
經(jīng)對現(xiàn)有技術(shù)的文獻檢索發(fā)現(xiàn),刊登在《計算機研究與發(fā)展》2003年11月第40卷第11期,pp.1554-1560上的文章“線性對齊近似旋律匹配算法”中所提出的旋律特征模板的數(shù)據(jù)結(jié)構(gòu)由旋律信息頭和旋律音符特征序列兩部分組成。其中每個音符特征的數(shù)據(jù)結(jié)構(gòu)由用于記錄該音符的音高特征值字段和用于記錄該音符的音長特征值兩個字段構(gòu)成。而整個旋律摸板庫結(jié)構(gòu)則采用以摸板單位的鏈表結(jié)構(gòu)來實現(xiàn)。在這種摸板庫結(jié)構(gòu)下,設(shè)當輸入旋律片段沿著標準旋律的音符序列進行移動匹配并移動至第K個音符時,則先將輸入旋律片段的頭部音符與標準旋律的第K個音符對齊,并從以第K個音符為起點的標準旋律中取出長度為輸入旋律片段長度1.3倍長的音符序列段作為在該頭部音符對齊下的標準旋律匹配段;然后在時間軸上進行兩旋律匹配段的線性對齊近似旋律匹配,最后,綜合考慮節(jié)奏和音高兩方面的相似度,給出輸入旋律片段與該標準旋律音符序列段的匹配得分。輸入旋律片段的頭部音符將繼續(xù)沿著標準旋律的音符序列向后移動一個音符,并重復(fù)上述步驟,直至移動到最后為止。線性對齊近似旋律匹配算法具有節(jié)奏容錯性好、匹配精度高的優(yōu)點,但是由于該文獻沒有涉及如何解決標準旋律分段的自動標注問題,而采用了原始的音符序列作為旋律特征數(shù)據(jù)結(jié)構(gòu),故使得這種基于音符移動單位的移動匹配方式的響應(yīng)時間較長,不適于用作大規(guī)模數(shù)字音樂庫的檢索匹配。因此,隨著數(shù)字音樂庫的規(guī)模日益增大,面向旋律匹配檢索的響應(yīng)速度和檢索精度之間的矛盾將會日益突出,成為基于哼唱輸入的數(shù)字音樂檢索系統(tǒng)邁向?qū)嵱没囊淮笃款i。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫結(jié)構(gòu)及其生成系統(tǒng),使得基于內(nèi)容的數(shù)字音樂檢索系統(tǒng)在采用這種旋律特征數(shù)據(jù)結(jié)構(gòu)時,既能保持對用戶哼唱輸入的容錯性,同時還能大幅度提高系統(tǒng)對哼唱輸入的匹配檢索速度。
本發(fā)明是通過以下技術(shù)方案實現(xiàn)的,本發(fā)明基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫生成系統(tǒng)包括數(shù)字音樂素材庫存儲部、數(shù)字音樂文件讀取和旋律特征提取部、旋律分段特征音符檢測部、旋律特征模板生成部、音樂旋律特征模板庫存儲部。
數(shù)字音樂文件讀取和旋律特征提取部讀取保存在數(shù)字音樂素材庫存儲部中的數(shù)字音樂文件,并對其進行旋律特征提取,即提取出表征該旋律特征的音符特征序列;旋律分段特征音符檢測部檢測旋律特征提取部提取的旋律特征中的各旋律分段特征的音符位置并自動賦予標注,該旋律分段的檢測是基于音符類別特征及其音符長度特征來進行的;旋律特征模板生成部根據(jù)旋律分段特征音符檢測部的結(jié)果,自動生成帶有旋律分段信息的、具有特定數(shù)據(jù)格式的面向大規(guī)?;趦?nèi)容的數(shù)字音樂檢索的旋律特征模板數(shù)據(jù)文件,并將其保存到音樂旋律特征模板庫存儲部中,即,由數(shù)字音樂文件讀取和旋律特征提取部給出的樂曲標準旋律的音符特征序列,經(jīng)過旋律分段特征音符檢測部對其進行旋律段位置特征的檢測及標注后,被送至旋律特征模板生成部,得到帶有旋律分段信息的、具有特定數(shù)據(jù)格式的旋律特征模板數(shù)據(jù)文件,之后,所生成的旋律特征模板數(shù)據(jù)文件被保存到音樂旋律特征模板庫存儲部中,同時由旋律特征模板生成部發(fā)出生成流程完畢的通知給數(shù)字音樂文件讀取和旋律特征提取部,由此完成從一個數(shù)字音樂文件生成其旋律特征模板數(shù)據(jù)文件的處理流程。
所述的數(shù)字音樂文件,可以是MIDI格式的音樂演奏數(shù)據(jù)文件、也可是WAVE、MP3等音頻波形文件;旋律分段特征音符檢測部是基于音符類別特征及其音符長度特征來進行的,并且,具有以下特征旋律特征由表征音符特征即音高差、時間的矢量序列來描述。其中,作為音符音高特征的“音高差”指與前一個音符頻率(音符音高信息)的差值,以適應(yīng)不同旋律的起調(diào)和非特定人哼唱,并以半音(Semitone)為單位;作為音符音長特征的“時間”指該音符的起始時刻,其表達了旋律的節(jié)奏特征。然而,之所以選用音符起始時刻而非音符持續(xù)時間長度來作為表征旋律的節(jié)奏參數(shù),是考慮到用戶哼唱旋律時的節(jié)奏特征,即用戶在進行哼唱時,一般比較容易把握音符的出現(xiàn)時刻,而對各個音符的持續(xù)長度不怎么敏感或差異較大。而若僅僅采用音高信息而忽略時間這一節(jié)奏信息,隨著音樂庫規(guī)模的擴大,匹配成功率勢必會隨之下滑,將變得越來越低。另外,考慮到單以音高信息為參數(shù)匹配的局限性,本發(fā)明選擇音高差、時間的矢量序列來描述旋律的特征。旋律特征模板生成部生成的旋律特征模板并非為單純以該旋律的音符特征序列來表達,而是由帶有旋律分段信息的音符特征序列來表達,即在每個音符特征信息的數(shù)據(jù)結(jié)構(gòu)中除了有表征音符音高特征信息和音符音長信息外,還自動地添加有表示該音符是否為表征旋律分段特征的特征音符的標注信息,每兩個標注的特征音符間的音符特征序列即為一個旋律分段。因此,在對輸入旋律片段與整首樂曲的標準旋律進行匹配時,若采用這種帶有旋律分段信息數(shù)據(jù)結(jié)構(gòu)的標準旋律特征模板就可以不按音符移動單位來將輸入旋律片段的音符序列沿著整首樂曲旋律的音符序列方向來進行連續(xù)移動匹配,而是可以按照在每首樂曲旋律中預(yù)先標注的旋律分段為匹配移動單位來進行跨越式移動匹配,從而為實現(xiàn)大幅度提高基于內(nèi)容的音樂檢索匹配速度提供了一種切實可性的解決方法。
所述的旋律分段特征音符檢測部,也可以由下述特征而構(gòu)成。即,為避免過多的無意義的分段標注,先由消除可忽略靜音段(等效于休止符)處理模塊搜索標準旋律的音符特征序列,若查找到的休止音符長度小于某一預(yù)先設(shè)定的靜音段長度閾值則將該休止音符加以刪除,并將該休止段并入前一個音符的發(fā)音段。由于靜音段長度閾值一般設(shè)得較低(如八分音符長度),所以這種刪除在匹配檢索時對結(jié)果幾乎沒有影響。在刪除了可忽略的靜音段后,則由特征音符的檢測處理模塊根據(jù)音符類別特征及其音符長度特征來對標準旋律中的每個音符進行檢測。特征音符類別分為定位類音符和休止類音符,對于這兩類音符均按其各自的音符長度是否超過事先所設(shè)定的特征音符閾值來確定該音符是否為分段特征音符。
然而,這種基于特征音符自動進行旋律分段標注的技術(shù)方法,其依據(jù)及其用于哼唱檢索的可行性是根據(jù)樂理基礎(chǔ)知識及對大量樂曲旋律進行統(tǒng)計分析與驗證的基礎(chǔ)上得出的。首先,對于整首旋律的可劃分位置,可考慮休止符位置為一種表征旋律分段特征的特征音符。但是,一般在主旋律中,休止符的數(shù)目并不是很多,僅考慮采用休止符作為旋律分段的切分位置勢必將造成旋律分段過長,從而沒有起到真正的分段作用。通過對大量樂曲旋律的音符特征分析,發(fā)現(xiàn)在樂曲,尤其歌曲中,連貫的旋律分段大都在二分音符/全音符處結(jié)束。之所以如此,這其中有一個意群的概念。意群是指一個具有相對獨立意義的詞組、短語或短句,任何的交流都是概念與概念的結(jié)合方式的交流。無概念的符號或聲音是無意義的,也就不能成為語言。在書面表達里任何句子、文章都是由基本概念以一定的方式結(jié)構(gòu)而成的。就如同日常交流一般,都是以一個一個完整的語句或者詞組出現(xiàn),而不會突然從一個詞組的中間開始交流,哼唱也是一樣,出于人們思維的慣式,拿某句歌詞“五千年的風(fēng)和雨”為例,哼唱人一般不會以“年的風(fēng)和”這樣的小段進行哼唱,因為這樣的小段不構(gòu)成一個獨立的意群,在樂曲中,對應(yīng)于一個個意群的多為一個個樂句,其間以較長的音符或休止符作為間隔的標記,以換取主旋律的交替,演奏中的間歇,實際也是意群的轉(zhuǎn)變。所以可以將這些特征音符所處的位置作為檢索匹配時跳躍匹配的基礎(chǔ)。
所述的旋律特征模板生成部生成的旋律特征模板,為帶有旋律分段信息的音符特征序列,其中每個音符特征包含音高特征(用音高差描述)、音長特征(用音符起始時刻描述)兩個數(shù)值內(nèi)容,但是若該音符為本發(fā)明所述的特征音符時,則該音符的音長特征值將被置成負值,并且還將在該音符特征信息數(shù)據(jù)結(jié)構(gòu)中插入可選標注位,用于記錄該特征音符的音符發(fā)音長度(音符持續(xù)時間)值。其中,當該特征音符為定位類特征音符時,可選標注位所記錄的值即為就為該定位音符的實際發(fā)音持續(xù)時間;當特征音符為休止類特征音符時,當前的休止符將被刪除,同時將此休止符段長度將會被并入前一個音符的發(fā)音段,即將前一個音符長度延長一個當前已被要刪除的休止符段,并將該音符定義為休止類特征音符,同時將該音符的音長特征值置成負值,并且在該音符特征信息數(shù)據(jù)機構(gòu)中插入可選標注位,記錄該特征音符的音符實際發(fā)音長度(指發(fā)音持續(xù)時間)值。并通過將該特征模板文件ID號與數(shù)字音樂素材庫中相應(yīng)的數(shù)字音樂文件相關(guān)聯(lián)的方式,將生成的旋律特征模板保存到音樂旋律特征模板庫存儲部中。
本發(fā)明基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫由以下特征構(gòu)成由數(shù)字音樂素材庫基本數(shù)據(jù)結(jié)構(gòu)和對應(yīng)于該音樂素材的數(shù)字音樂旋律特征庫的數(shù)據(jù)結(jié)構(gòu)構(gòu)成。數(shù)字音樂素材庫基本數(shù)據(jù)結(jié)構(gòu)用于通?;谝魳肺谋緦傩缘臋z索,而數(shù)字音樂旋律特征庫的數(shù)據(jù)結(jié)構(gòu)則可用于基于內(nèi)容的音樂檢索,如基于哼唱輸入的音樂檢索,兩個數(shù)據(jù)結(jié)構(gòu)可通過統(tǒng)一的樂曲編號(ID)關(guān)鍵字,實現(xiàn)兩者之間的對應(yīng)關(guān)系。所述的數(shù)字音樂旋律特征庫的數(shù)據(jù)結(jié)構(gòu)由表征旋律基本特征信息的表頭數(shù)據(jù)塊結(jié)構(gòu)與該旋律所含音符數(shù)相同數(shù)目的、表征音符特征的音符數(shù)據(jù)塊結(jié)構(gòu)構(gòu)成。音符特征除了包含音高和音長信息外,還包含該音符是否為表征旋律分段位置信息的標注特征。
其中,表頭數(shù)據(jù)塊結(jié)構(gòu)包括樂曲ID、整首旋律的音符數(shù)、平均音高、音強、節(jié)拍及其它項等的關(guān)鍵字節(jié),其中樂曲ID為主關(guān)鍵字節(jié);音符數(shù)據(jù)塊結(jié)構(gòu)包括音高特征、音長特征和表征旋律分段特征位置的特征音符標注三個字段,其中音高特征字段記錄音符音高(差)值、音長特征字段記錄音符音長(音符起始時刻)值,當該音符為特征音符時,則該音符的音長特征字段的音長值將被置成負值,同時將在該音符特征信息快數(shù)據(jù)結(jié)構(gòu)中插入可選標注位,用于記錄該特征音符的持續(xù)時間。
因此,在對輸入旋律片段與整首樂曲的標準旋律進行匹配時,若采用這種帶有旋律分段信息數(shù)據(jù)結(jié)構(gòu)的旋律特征模板,就可以不再按照音符移動單位來將輸入旋律片段的音符序列沿著整首樂曲旋律的音符序列方向來進行連續(xù)移動匹配,而是可以按照在每首樂曲旋律中預(yù)先標注的旋律分段為匹配移動單位來進行跨越式移動匹配,從而為實現(xiàn)大幅度提高基于內(nèi)容的音樂檢索匹配速度提供了一種切實可性的解決方法。由于針對每次旋律段移動時的旋律段匹配,這種旋律特征摸板的數(shù)據(jù)結(jié)構(gòu)便于引入基于線性對齊方式的節(jié)奏容錯機制,這樣就能使得整個旋律匹配過程具有既能保持對用戶哼唱輸入的容錯性,同時還能大幅度提高系統(tǒng)對哼唱輸入的匹配檢索速度的特點。
在本發(fā)明應(yīng)用于大型的數(shù)字音樂數(shù)據(jù)庫后,對于音樂檢索的性能可得到明顯提高。按本發(fā)明而實施的基于哼唱輸入的音樂檢索系統(tǒng)的平均檢索時間要比傳統(tǒng)按照音符單位移動匹配檢索方式的檢索系統(tǒng)減少2/3左右,系統(tǒng)性能的改善效果非常顯著。
圖1為本發(fā)明結(jié)構(gòu)框圖。
圖2為本發(fā)明工作流程圖。
圖3為用于說明按本發(fā)明效果而在不同規(guī)模數(shù)字音樂素材庫下所進行的哼唱檢索平均使用時間的比較曲線。
圖4A-圖4F為用于說明按本發(fā)明的實施例1進行的定位類和休止類特征音符旋律段分段檢測標注程序的圖。
具體實施例方式
如圖1所示,本發(fā)明由數(shù)字音樂素材庫存儲部1、數(shù)字音樂文件讀取和旋律特征提取部2、旋律分段特征音符檢測部3、旋律特征模板生成部4、音樂旋律特征模板庫存儲部5組成。
數(shù)字音樂素材庫存儲部1是用于存儲數(shù)字音樂素材文件的部件。數(shù)字音樂文件讀取和旋律特征提取部2用于讀取保存在數(shù)字音樂素材庫存儲部1中的數(shù)字音樂素材文件,并對其進行旋律特征提取,即提取出表征該旋律特征的音符特征序列。旋律分段特征音符檢測部3用于檢測旋律特征提取部2提取的旋律特征中的各旋律分段特征的音符位置并自動賦予標注,該旋律分段的檢測是基于音符類別特征及其音符長度特征來進行的。旋律特征模板生成部4用于根據(jù)旋律分段特征音符檢測部的結(jié)果,以特定的、適合于進行大規(guī)模音樂檢索的數(shù)據(jù)格式自動生成面向大規(guī)?;趦?nèi)容的數(shù)字音樂檢索的旋律特征模板數(shù)據(jù)文件。音樂旋律特征模板庫存儲部5是用于存儲與數(shù)字音樂素材文件相對應(yīng)的音樂旋律特征模板數(shù)據(jù)文件的部件。即,由數(shù)字音樂文件讀取和旋律特征提取部2讀取保存在數(shù)字音樂素材庫存儲部1中的數(shù)字音樂素材文件,并對其進行旋律特征提取而得到的樂曲標準旋律的音符特征序列,經(jīng)過旋律分段特征音符檢測部3對其進行旋律段位置特征的檢測及標注后,被送至旋律特征模板生成部4,得到帶有旋律分段信息的、具有特定數(shù)據(jù)格式的旋律特征模板數(shù)據(jù)文件。之后,所生成的旋律特征模板數(shù)據(jù)文件被保存到音樂旋律特征模板庫存儲部5中,同時由旋律特征模板生成部4發(fā)出生成流程完畢的通知給數(shù)字音樂文件讀取和旋律特征提取部2,由此完成從一個數(shù)字音樂文件生成其旋律特征模板數(shù)據(jù)文件的處理流程。
圖2給出了圖1中各個功能部分的工作流程。即,數(shù)字音樂文件讀取和旋律特征讀取對應(yīng)數(shù)字音樂文件讀取和旋律特征提取部2;旋律分段特征音符檢測-最終音符判斷為旋律分段特征音符檢測部3的工作流程;旋律特征模板文件生成-最終音樂文件判斷對應(yīng)旋律特征模板生成部4。此外,圖2中的輸入節(jié)點①和輸出節(jié)點②分別對應(yīng)數(shù)字音樂素材庫存儲部1和音樂旋律特征模板庫存儲部5。
本發(fā)明基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫,包括數(shù)字音樂素材庫基本數(shù)據(jù)結(jié)構(gòu)和對應(yīng)于該音樂素材的數(shù)字音樂旋律特征庫的數(shù)據(jù)結(jié)構(gòu),數(shù)字音樂素材庫基本數(shù)據(jù)結(jié)構(gòu)用于基于音樂文本屬性的檢索,數(shù)字音樂旋律特征庫的數(shù)據(jù)結(jié)構(gòu)用于基于內(nèi)容的音樂檢索,兩個數(shù)據(jù)結(jié)構(gòu)通過統(tǒng)一的樂曲編號關(guān)鍵字,實現(xiàn)兩者之間的對應(yīng)關(guān)系,所述的數(shù)字音樂旋律特征庫的數(shù)據(jù)結(jié)構(gòu)由表征旋律基本特征信息的表頭數(shù)據(jù)塊與該旋律所含音符數(shù)相同數(shù)目的、表征音符特征的音符數(shù)據(jù)塊構(gòu)成,音符特征除了包含音高和音長信息外,還包含該音符是否為表征旋律分段位置信息的標注特征。
所述的表頭數(shù)據(jù)塊包括樂曲ID、整首旋律的音符數(shù)、平均音高、平均音強及其它項等的關(guān)鍵字節(jié),其中樂曲ID為主關(guān)鍵字節(jié)。
所述的音符數(shù)據(jù)塊包括音高特征字節(jié)、音符特征字節(jié)、表征旋律分段特征位置的特征音符標注字節(jié),其中音高特征字節(jié)記錄音符音高差值、音長特征字節(jié)記錄音符起始時刻值,并且若該音符為特征音符時,則該音符的音長特征字節(jié)的音長值將被置成負值,同時將在該音符數(shù)據(jù)段中插入可選標注位,該可選標志位用于記錄該特征音符的實際發(fā)音長度值。
作為音符音高特征的音高差以半音為單位,而作為音符音長特征的音長值則以tick為單位,即定義非特征音符的音符音長值為正的tick數(shù),而如果音符音長值為負值,則表示該音符是一個表征旋律分段位置的特征音符。
實施例1在圖2中由數(shù)字音樂文件讀取和旋律特征提取部2依次從數(shù)字音樂素材庫存儲部1讀取數(shù)字音樂文件(MIDI格式)并通過對其提取旋律特征而得到的原始音符特征序列如圖4A所示(音樂旋律“莫斯科郊外的晚上”)。
圖中橫軸表示音符起始時間,其單位是MIDI文件中表示音符時間的特有單位TICK,而縱軸則表示音高,其單位是半音。由旋律分段特征音符檢測部3對原始音符序列進行表征旋律分段特征位置的特征音符的檢測。該檢測是按其音符類別特征及其音符長度特征來進行的。表征分段特征的特征音符,其類別分為定位類特征音符和休止類特征音符,對于這兩類特征音符均按其各自的音符長度是否超過各自預(yù)先所設(shè)定的閾值來確定該音符是否為分段特征音符。特征音符的類別判斷由旋律分段特征音符檢測部3進行。在本實施例中對于定位類特征音符的設(shè)定為若其音符長度大于或等于二分音符長時則將該音符確定為分段特征音符,即由置音長值極性為負和插入可選標注位將當前定位音符的音長值置成負值,以作為旋律分段特征音符位置的標注,同時在該音符特征信息數(shù)據(jù)塊結(jié)構(gòu)中插入可選標注位,并記錄該定位類音符的持續(xù)時間,以便于提高匹配精度。在整首標準旋律中每兩個特征音符間的音符序列即被定義為一個旋律分段。如圖4B所示,圖4A所示的這段樂曲旋律就被檢測到2個定位類特征音符(用涂色表示)并被分為兩個旋律分段。
根據(jù)本發(fā)明,對于名為“莫斯科郊外的晚上”的數(shù)字音樂旋律,在圖2中由旋律特征模板生成部4可以得到帶有旋律分段特征音符標注的標準旋律特征模板,并保存在音樂旋律特征模板庫存儲部5中。該旋律特征模板的格式由旋律信息頭和旋律音符特征序列組成。其中每個音符特征的數(shù)據(jù)結(jié)構(gòu)的第一字段表示與前一音符的音高差值,但首音符在這一字段記錄的是絕對音高值,雖然在匹配時不使用絕對音高值,然而這一首記錄方式對于計算重現(xiàn)描述旋律特征的音高曲線是必需的(如實施例1中的音高曲線);其第二字段記錄的是用tick表示的該音符的發(fā)音起始時刻,如果該音符為普通音符,該值就是正值,而如果該音符為分段特征音符,那么就在該值前加負號,音符特征的第三字段為可選標注位,用于記錄特征音符的實際發(fā)音時間,同樣也是用tick表示。如下表所示,只有當音符為表征旋律分段的特征音符時,該音符的特征字段才會有3個字段,而不是所有音符都具有3個字段。
根據(jù)本發(fā)明,另外一種情況是,當音符特征序列中出現(xiàn)了靜音段,即休止符時,也將被定義為樂曲旋律分段的節(jié)點。即,在整首標準旋律中相鄰的定位類特征音符和休止符類間的音符序列,或者兩個相鄰休止類特征音符間的音符序列也將被定義為一個旋律分段。對休止符的處理,可能有兩種情況,一種情況是靜音段時間相對較短,另一種情況是靜音段時間相對較長。對于前者,在本發(fā)明相關(guān)的算法中,通過統(tǒng)計發(fā)現(xiàn),長度在八分音符以下的靜音段可以忽略,該處理方法是將前一個音符的結(jié)束時間延長至下一個音符發(fā)音開始時刻為止,而對旋律分段特征音符標志位不作改動。圖4C給出了由數(shù)字音樂文件讀取和旋律特征讀取從數(shù)字音樂素材庫存儲部1讀取數(shù)字音樂文件(MIDI格式)并通過對其提取旋律特征而得到的原始音符特征序列(音樂旋律“真心英雄”)。圖4D給出了由旋律分段特征音符檢測對其進行靜音段消除處理后的該旋律特征的音符特征序列。
對于后者,即如果休止段時間較長,超過了預(yù)先所設(shè)定的用來判定特征音符的長度閾值(八分音符),那么就會進入針對休止類特征音符的處理流程。在本實施例中對于休止類特征音符的設(shè)定為若其音符長度大于或等于八分音符長時則將該音符確定為分段特征音符。此時,在圖1中由旋律分段特征音符檢測部3檢測查出當前的特征音符為休止類特征音符時,將當前休止符前一個音符的音長特征值(音符起始時間)置成負值,以便將該音符作為分段標注的休止類特征音符,同時在該特征音符信息數(shù)據(jù)塊中插入可選標注位,記錄該音符的實際發(fā)音持續(xù)時間,以便于提高旋律段的匹配精度。圖4 E給出了由數(shù)字音樂文件讀取和旋律特征讀取從數(shù)字音樂素材庫存儲部1讀取數(shù)字音樂文件(MIDI格式)并通過對其提取旋律特征而得到的原始音符特征序列(音樂旋律“愛的就是你”)。通過由旋律分段特征音符檢測部3對其進行旋律分段檢測及標注處理后的該旋律特征的音符特征序列如圖4F所示,其中,右斜線表示定位類特征音符,而左斜線表示休止類特征音符。由此完成一個帶有旋律分段信息的音樂旋律特征摸板數(shù)據(jù)文件的生成。
為考察本實施例的效果,本實施例中,在實施此性能效果比較時,采用了從1000首MIDI音樂到10000首不等的不同規(guī)模的音樂素材庫,并分別采用本發(fā)明技術(shù)生成對應(yīng)于不同規(guī)模音樂素材庫的、帶有旋律分段信息的標準旋律特征模板庫,然后將其在本發(fā)明實施下的平均匹配檢索時間與原線性對齊近似匹配法(LAN)下的平均檢索時間進行了比較,該比較是在同等實驗條件下對相同的哼唱輸入內(nèi)容進行的。結(jié)果表明按本發(fā)明而實施的基于哼唱輸入的音樂檢索系統(tǒng)的平均檢索時間要比傳統(tǒng)按照音符單位移動匹配檢索方式的檢索系統(tǒng)減少2/3左右,系統(tǒng)性能的改善效果非常顯著(圖3參考)。在檢索“莫斯科郊外的晚上”哼唱輸入段時,檢索比較結(jié)果如下
權(quán)利要求
1.一種基于內(nèi)容的數(shù)字音樂檢索樂曲旋律特征數(shù)據(jù)庫生成系統(tǒng),包括數(shù)字音樂素材庫存儲部(1)、數(shù)字音樂文件讀取和旋律特征提取部(2)、音樂旋律特征模板庫存儲部(5),其特征在于,還包括旋律分段特征音符檢測部(3)、旋律特征模板生成部(4),數(shù)字音樂文件讀取和旋律特征提取部(2)讀取保存在數(shù)字音樂素材庫存儲部(1)中的數(shù)字音樂文件,并對其進行旋律特征提取,即提取出表征該旋律特征的音符特征序列;旋律分段特征音符檢測部(3)檢測旋律特征提取部提取的旋律特征中的各旋律分段特征的音符位置并自動賦予標注,該旋律分段的檢測是基于音符類別特征及其音符長度特征來進行的;旋律特征模板生成部(4)根據(jù)旋律分段特征音符檢測部的結(jié)果,自動生成帶有旋律分段信息的、具有特定數(shù)據(jù)格式的面向大規(guī)?;趦?nèi)容的數(shù)字音樂檢索的旋律特征模板數(shù)據(jù)文件,并將其保存到音樂旋律特征模板庫存儲部(5)中,同時由旋律特征模板生成部(4)發(fā)出生成流程完畢的通知給數(shù)字音樂文件讀取和旋律特征提取部。
2.根據(jù)權(quán)利要求1所述的基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫生成系統(tǒng),其特征是,所述的旋律分段特征音符檢測部(3),是基于音符類別特征及其音符長度特征來進行的,旋律特征由表征音符特征即音高差、時間的矢量序列來描述,其中,作為音符音高特征的“音高差”指與前一個音符頻率的差值,以適應(yīng)旋律的起調(diào)和非特定人哼唱,并以半音為單位;作為音符音長特征的“時間”指該音符的起始時刻,其表達了旋律的節(jié)奏特征。
3.根據(jù)權(quán)利要求1或者2所述的基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫生成系統(tǒng),其特征是,所述的旋律分段特征音符檢測部(3),先由消除可忽略靜音段處理模塊搜索標準旋律的音符特征序列,若查找到的音符長度小于某一預(yù)先設(shè)定的靜音段長度閾值則將該音符加以刪除,并將此段并入前一個音符的發(fā)音段,在刪除了可忽略的靜音段后,則由特征音符檢測處理模塊根據(jù)音符類別特征及其音符長度特征來對標準旋律中的每個音符進行檢測,特征音符類別分為定位類特征音符和休止類特征音符,對于這兩類音符均按其各自的音符長度是否超過事先所設(shè)定的特征音符閾值來確定該音符是否為分段特征音符。
4.根據(jù)權(quán)利要求1所述的基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫生成系統(tǒng),其特征是,所述旋律特征模板生成部(4)生成的旋律特征模板,由帶有旋律分段信息的音符特征序列來表達,即在每個音符特征信息數(shù)據(jù)塊中都自動地添加有該音符是否為表征旋律分段特征的特征音符的標注信息,每兩個標注的特征音符間的音符特征序列即為一個旋律分段,在對輸入旋律片段與整首樂曲的標準旋律進行匹配時,按照在每首樂曲旋律中預(yù)先標注的旋律分段為匹配移動單位來進行跨越式移動匹配。
5.根據(jù)權(quán)利要求1或者4所述的基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫生成系統(tǒng),其特征是,所述旋律特征模板生成部(4)生成的旋律特征模板,為帶有旋律分段信息的音符特征序列,其中每個音符特征包含音高特征、音長特征兩個數(shù)值內(nèi)容,并且若該音符為特征音符時,則該音符的音長特征值將被置成負值,并且還將在該音符特征中插入可選標注位,用于記錄該特征音符的音符發(fā)音長度值,其中,當特征音符為定位類特征音符時,可選標注位所記錄的值即為該定位特征音符的發(fā)音持續(xù)時間;當特征音符為休止類特征音符時,此休止符將被刪除,并將此休止符段長度并入前一個音符的發(fā)音段,即將前一個音符長度延長一個已被決定要刪除的休止符段,并將這與休止符合并后的音符定義為休止類特征音符,同時將該音符的音長特征值置成負值,并且在該音符特征信息數(shù)據(jù)塊中插入可選標注位,記錄該特征音符的音符實際發(fā)音長度值,并通過將該特征模板文件序號與數(shù)字音樂素材庫(1)中相應(yīng)的數(shù)字音樂文件相關(guān)聯(lián)的方式,將生成的旋律特征模板保存到音樂旋律特征模板庫存儲部(5)中。
6.根據(jù)權(quán)利要求1或者4所述的基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫生成系統(tǒng),其特征是,所述的數(shù)字音樂文件,是MIDI格式的音樂演奏數(shù)據(jù)文件,或者音頻波形文件。
7.一種基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫,包括數(shù)字音樂素材庫基本數(shù)據(jù)結(jié)構(gòu)和對應(yīng)于該音樂素材的數(shù)字音樂旋律特征庫的數(shù)據(jù)結(jié)構(gòu),其特征在于,數(shù)字音樂素材庫基本數(shù)據(jù)結(jié)構(gòu)用于基于音樂文本屬性的檢索,數(shù)字音樂旋律特征庫的數(shù)據(jù)結(jié)構(gòu)用于基于內(nèi)容的音樂檢索,兩個數(shù)據(jù)結(jié)構(gòu)通過統(tǒng)一的樂曲編號關(guān)鍵字,實現(xiàn)兩者之間的對應(yīng)關(guān)系,所述的數(shù)字音樂旋律特征庫的數(shù)據(jù)結(jié)構(gòu)由表征旋律基本特征信息的表頭數(shù)據(jù)塊與該旋律所含音符數(shù)相同數(shù)目的、表征音符特征的音符數(shù)據(jù)塊構(gòu)成,音符特征除了包含音高和音長信息外,還包含該音符是否為表征旋律分段位置信息的標注特征。
8.根據(jù)權(quán)利要求7所述的基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫,其特征是,所述的表頭數(shù)據(jù)塊包括樂曲ID、整首旋律的音符數(shù)、平均音高、平均音強及其它項等的關(guān)鍵字節(jié),其中樂曲ID為主關(guān)鍵字節(jié)。
9.根據(jù)權(quán)利要求7所述的基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫,其特征是,所述的音符數(shù)據(jù)塊包括音高特征字節(jié)、音符特征字節(jié)、表征旋律分段特征位置的特征音符標注字節(jié),其中音高特征字節(jié)記錄音符音高差值、音長特征字節(jié)記錄音符起始時刻值,并且若該音符為特征音符時,則該音符的音長特征字節(jié)的音長值將被置成負值,同時將在該音符數(shù)據(jù)段中插入可選標注位,該可選標志位用于記錄該特征音符的實際發(fā)音長度值。
10.根據(jù)權(quán)利要求9所述的基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫,其特征是,作為音符音高特征的音高差以半音為單位,而作為音符音長特征的音長值則以tick為單位,即定義非特征音符的音符音長值為正的tick數(shù),而如果音符音長值為負值,則表示該音符是一個表征旋律分段位置的特征音符。
全文摘要
一種計算機應(yīng)用技術(shù)領(lǐng)域的基于內(nèi)容的數(shù)字音樂檢索旋律特征數(shù)據(jù)庫及生成系統(tǒng),包括數(shù)字音樂素材庫存儲部、數(shù)字音樂文件讀取和旋律特征提取部、旋律分段特征音符檢測部、旋律特征模板生成部、音樂旋律特征模板庫存儲部。數(shù)字音樂文件讀取和旋律特征提取部讀取數(shù)字音樂素材庫存儲部的音樂文件,經(jīng)過旋律分段特征音符檢測部對其進行旋律段位置特征的檢測及標注后,被送至旋律特征模板生成部,得到旋律特征模板數(shù)據(jù)文件,并被保存到音樂旋律特征模板庫存儲部中,同時由旋律特征模板生成部發(fā)出生成流程完畢的通知給數(shù)字音樂文件讀取和旋律特征提取部。本發(fā)明既能保持對用戶哼唱輸入的容錯性,同時還能大幅度提高系統(tǒng)對哼唱輸入的匹配檢索速度。
文檔編號G06F17/30GK1737797SQ20051002949
公開日2006年2月22日 申請日期2005年9月8日 優(yōu)先權(quán)日2005年9月8日
發(fā)明者吳亞棟, 趙芳 申請人:上海交通大學(xué)