專利名稱:一種歌曲音頻切割裝置及方法
技術領域:
本發(fā)明涉及音頻處理領域,特別是涉及一種歌曲音頻切割裝置及方法。
背景技術:
移動通信終端的軟硬件發(fā)展十分迅速,為使用者提供各種周邊服務以改善用戶體驗成為產業(yè)中的大勢所趨。移動通信終端的鈴聲服務獲得使用者的青睞,今年來市場中對于各種鈴聲的需求
量非常巨大。其中,很大一部分使用者喜歡采用歌曲中的高潮部分作為自己的鈴聲,以體現自身的喜好與個性。相應的,對于歌曲的高潮部分的準確定位以及切割,成為產業(yè)中面臨的問題?,F有技術中大多采用人工手動識別的方式。這樣的做的優(yōu)點在于定位十分準確, 能夠符合使用者對一首歌曲的心理預期。但是,其同樣存在缺點,人工手動識別的速度慢, 效率低下,無法針對大量的歌曲進行處理。
發(fā)明內容
本發(fā)明解決的問題在于,公開一種歌曲音頻切割裝置及方法,用于針對歌曲音頻文件自動識別并切割其高潮部分。更進一步,可以將切割得到的該高潮部分作為鈴聲。更進一步的,本發(fā)明可自動對大量歌曲音頻文件進行批量的音頻文件切割,避免人工識別切割,提高效率。更進一步的,保證較高的歌曲高潮識別的準確度。為解決上述問題,本發(fā)明公開了一種歌曲音頻切割方法,包括步驟一,獲取歌曲音頻文件的歌詞文本文件;步驟二,分析該歌詞文本文件中的每句歌詞的重復程度,將該重復程度高于一特定閾值的重復歌詞加入一候選集合;步驟三,針對該候選集合中的重復歌詞進行分析,獲取其分布位置,連續(xù)分布的多句重復歌詞組成段落;步驟四,根據每句重復歌詞的重復程度以及在段落中的位置,確定一句重復歌詞作為切割起始歌詞,以該切割起始歌詞的開始時間點作為該歌曲音頻文件的切割起始點;步驟五,利用歌曲切割工具從該切割起始點開始,切割該歌曲音頻文件。本發(fā)明還公開了一種歌曲音頻切割裝置,包括數據接口模塊,用于獲取歌曲音頻文件的歌詞文本文件;歌詞文本文件處理模塊,分析該歌詞文本文件中的每句歌詞的重復程度,將該重復程度高于一特定閾值的重復歌詞加入一候選集合,針對該候選集合中的重復歌詞進行分析,獲取其分布位置,連續(xù)分布的多句重復歌詞組成段落;切割起始點確定模塊,根據每句重復歌詞的重復程度以及在段落中的位置,確定一句重復歌詞作為切割起始歌詞,以該切割起始歌詞的開始時間點作為該歌曲音頻文件的切割起始點;歌曲音頻文件切割模塊,從該切割起始點開始,切割該歌曲音頻文件。本發(fā)明針對歌曲音頻文件自動識別并切割其高潮部分。可以將切割得到的該高潮部分作為鈴聲。本發(fā)明可自動對大量歌曲音頻文件進行批量的音頻文件切割,避免人工識別切割,提高效率。保證較高的歌曲高潮識別的準確度。
圖1所示為本發(fā)明的歌曲音頻切割裝置的結構示意圖;圖2所示為本發(fā)明歌曲音頻切割方法的流程圖;圖3所示為本發(fā)明的歌曲音頻切割裝置的結構示意圖;圖4A、4B所示為本發(fā)明歌曲音頻切割方法的流程圖;圖5所示為本發(fā)明的歌曲音頻切割裝置的結構示意圖;圖6所示為本發(fā)明歌曲音頻切割方法的流程圖;圖7所示為本發(fā)明的歌曲音頻切割裝置的結構示意圖;圖8所示為本發(fā)明歌曲音頻切割方法的流程圖;圖9所示為本發(fā)明的歌曲音頻切割裝置的結構示意圖;圖10所示為本發(fā)明歌曲音頻切割方法的流程圖。
具體實施例方式以下通過具體實施例,詳細描述本發(fā)明的實現過程,以使本領域的技術人員能夠據以實現本發(fā)明。本發(fā)明用于針對歌曲音頻文件自動識別并切割其高潮部分。特別是,可以將切割得到的該高潮部分作為鈴聲。另外,本發(fā)明可自動對大量歌曲音頻文件進行批量的音頻文件切割,避免因人工識別切割導致速度較低,提高效率。同時,可以保證較高的歌曲高潮識別的準確度。本領域的技術人員可以知道,歌曲音頻文件通常具備對應的歌詞文本文件,以Irc 為擴展名的歌詞文本文件可以在各類數碼播放器中同步顯示。LRC歌詞是一種包含著“* *”形式的“標簽(tag)”的、基于純文本的歌詞專用格式。同時,LRC歌詞是一種通過編輯器把歌詞按歌曲歌詞出現的時間編輯成的文件。Irc歌詞文本文件中含有兩類標簽,一是標識標簽,主要包含以下預定義的標簽[ar:歌手名]、[ti 歌曲名]、[al 專輯名]、 [by:編輯者(指Irc歌詞的制作人)]、[offset:時間補償值];二是時間標簽,形式為 “ [timestampl]……[timestampN] lyric”,時間標簽需位于某句歌詞中的句首部分。當利用播放器播放該歌曲到達某一時間點時,播放器通常會自動尋找對應的時間標簽并顯示標簽后面的歌詞文本,這樣就完成了現有技術中“歌詞同步”的功能。本發(fā)明基于歌曲高潮部分的歌詞通常反復重復的特點,進行高潮部分的識別。高潮部分通常出現段落性的反復重復,即,多句歌詞組成的段落會反復的順序出現。本發(fā)明基于該特點,重點識別反復出現的歌詞,特別是段落性反復重復的歌詞。以下描述本發(fā)明的第一實施例,請參閱圖1所示為本發(fā)明的歌曲音頻切割裝置的結構示意圖。
歌曲音頻切割裝置100包括相互連接的如下模塊數據接口模塊11、歌詞文本文件處理模塊12、切割起始點確定模塊13、歌曲音頻文件切割模塊14。該數據接口模塊11用于獲取歌曲音頻文件,從中提取歌詞文本文件。具體的說, 該數據接口模塊11負責讀寫數據來源裝置,該數據來源裝置例如為SOng_lib數據庫或者其他可以提供歌曲音頻文件的裝置,從該數據來源裝置中提取一歌曲音頻文件的歌詞文本文件,特別是從中獲取每句歌詞與時間的對應關系序列。該數據接口模塊11所提取出的歌詞文本文件被傳送至該歌詞文本文件處理模塊 12。該歌詞文本文件處理模塊12包括一完全重復處理模塊121,用于分析該歌詞文本文件中的每句歌詞的重復程度,將該重復程度高于一特定閾值的重復歌詞加入一候選集合。具體的說,完全重復處理模塊121掃描該歌詞文本文件,尋找完全重復的歌詞,并記錄同一句歌詞的重復次數。例如歌詞Iyricl出現了 3次,記錄<lyriCl,3>。該重復程度包括歌詞的完全重復次數。該完全重復指完全相同一字不差的重復。當某句歌詞的重復程度超過特定閾值2時,視為重復歌詞,加入一候選集合中。即,該候選集合中均為至少在歌詞文本文件中出現了 2次的歌詞。該特定閾值可根據需要預先設置,通常為不小于2的整數。該歌詞文本文件處理模塊12包括一段落處理模塊122。該段落處理模塊122用于針對該候選集合中的重復歌詞,分析獲取其分布位置,連續(xù)分布的多句重復歌詞組成段落。 例如,該段落處理模塊122分析得到歌詞a在第2、6句重復出現,歌詞b在第3、7、10句重復出現,歌詞c在第4、8句重復出現。由于歌詞a、b、c在第2、3、4句連續(xù)出現,段落處理模塊122認定歌詞a、b、c組成一個段落A并記錄。同時,歌詞a、b、c還在第6、7、8句連續(xù)出現。即,該段落重復出現。段落處理模塊122記錄該段落的重復出現。切割起始點確定模塊13用于根據每句重復歌詞的重復程度以及在段落中的位置,確定一句重復歌詞作為切割起始歌詞,以該切割起始歌詞的開始時間點作為該歌曲音頻文件的切割起始點。具體的說,切割起始點確定模塊13針對該候選集合中的每句重復歌詞依次進行評分,以選擇一切割起始點。在本發(fā)明中,認定重復次數多的歌詞屬于高潮的幾率越高,同時,在所屬段落中位置越靠前,其為歌曲高潮部分的起始句的可能性越高。切割起始點確定模塊13依照以下公式為每句歌詞評分Scoreli =重復程度一權重1+在所屬段落中的位置一權重2(1)其中,Scoreli為第i句歌詞的最終評分,重復程度i為第i句歌詞在歌詞文本文件中的重復程度,在所屬段落中的位置i為第i句歌詞在段落中的位置。在段落中的位置越靠前,“在所屬段落中的位置廣越大。參數“在所屬段落中的位置i”通常大于0,且可通過查表方式獲得,即,預先為段落中的每個位置確定一對應的參數值。公式(1)中的各個權重值可根據多次實驗統(tǒng)計的結果進行設定。也就是說,重復程度越大,在段落中位置越靠前 (如上例中歌詞a比歌詞c靠前),Scoreli越大。切割起始點確定模塊13選擇^oreli最大的一句重復歌詞作為高潮的起點,即,作為切割起始歌詞,確定該句切割起始歌詞的開始時間點,并以該開始時間點作為該歌曲音頻文件的切割起始點。如果某句歌詞僅僅是重復多次,但是,沒有出現在任一段落中,則該句歌詞的參數“在所屬段落中的位置i”值為0,其被識別為高潮部分的起始點的幾率將大為降低。對公式(1)的各種等效變型也在本發(fā)明的公開范圍內。更為優(yōu)化的,為獲得更精確的高潮起點,切割起始點確定模塊13選擇^oreli最大的一句重復歌詞所處段落第一次出現時,該句重復歌詞對應的時間點作為開始時間點。 詳細的說,歌詞a在第2、6句都出現,選擇歌詞a在段落A首次出現時的位置,也就是第2 句對應的時間點,作為開始時間點。歌曲音頻文件切割模塊14可通過歌曲切割工具mp3Splt實現,從該開始時間點開始進行切割,可切割一固定時間長度的音頻,例如切割48秒的音頻文件?;蛘撸枨纛l文件切割模塊14可以從該開始時間點開始切割,到該切割起始歌詞所屬段落的最后一句結束為止,該切割長度可根據需要而確定,不以此為限。而切割得到的音頻文件可以作為手機鈴聲、彩鈴、各種提示音、電影的特定音效等加以利用。對應上述歌曲音頻切割裝置,本發(fā)明還包括一歌曲音頻切割方法,如圖2所示為本發(fā)明歌曲音頻切割方法的流程圖。步驟201,獲取歌曲音頻文件的歌詞文本文件;步驟202,分析該歌詞文本文件中的每句歌詞的重復程度,將該重復程度高于一特定閾值的重復歌詞加入一候選集合;步驟203,針對該候選集合中的重復歌詞進行分析,獲取其分布位置,連續(xù)分布的多句重復歌詞組成段落;步驟204,根據每句重復歌詞的重復程度以及在段落中的位置,確定一句重復歌詞作為切割起始歌詞,以該切割起始歌詞的開始時間點作為該歌曲音頻文件的切割起始點;步驟205,利用歌曲切割工具從該切割起始點開始,切割該歌曲音頻文件。本發(fā)明通過上述的第一實施例,可以自動對大批量的歌曲音頻文件進行切割處理,執(zhí)行的效率高,而且,基于重復歌詞的重復程度、段落連續(xù)性以及其在所屬段落中的位置來識別歌曲高潮起始點的識別準確度高。以下說明本發(fā)明的第二實施例。如圖3所示為本發(fā)明的歌曲音頻切割裝置的結構示意圖。與圖1的基礎上,本實施例的歌曲音頻切割裝置100進一步包括一 RAP排除模塊 15。與圖1相同部分未做重復說明。在歌曲中,RAP部分不是歌曲的高潮部分,不能作為高潮被切割。針對歌曲RAP部分通常速度很快,比歌曲其他演唱部分速度快的特點,本發(fā)明通過RAP排除模塊15對歌曲音頻文件中的RAP部分進行直接排除,不對其進行高潮識別的后續(xù)步驟,以提高識別效率, 避免不必要的處理能力的浪費。該數據接口模塊11所提取出的歌詞文本文件首先傳送至該RAP排除模塊15。RAP 排除模塊15計算該歌詞文本文件中的每句歌詞的歌唱速度,對于高于特定速度的歌詞,不傳送至該歌詞文本文件處理模塊12,對于不高于該特定速度的歌詞,傳送至該歌詞文本文件處理模塊12進行后續(xù)處理。其中,RAP排除模塊15可通過一句歌詞的開始時間以及下一句歌詞的開始時間的差獲得當前歌詞的時長,通過歌詞字數與時長的比值,獲得歌唱速度。 或者,RAP排除模塊15根據一句歌詞所包括的音節(jié)數與時長的比值,獲得歌唱速度。該特定速度為預先設定,為通常情況下說唱RAP的最低閾值。更為優(yōu)化的,RAP排除模塊15在計算得到多句(例如5句以上或者10句以上,可根據需要設置)連續(xù)的歌詞的歌唱速度都高于該特定速度,才不傳送至該歌詞文本文件處理模塊12,也就是說,對于零星出現的幾句歌詞,即使其速度較快,超過該特定速度,也不視為RAP,繼續(xù)執(zhí)行歌詞文本文件處理模塊12的處理。
如圖4A、4B所示為本發(fā)明歌曲音頻切割方法的流程圖。如圖4A所示在該步驟201之后執(zhí)行步驟401,計算該歌詞文本文件中的每一句歌詞的歌唱速度;步驟402,判斷每句歌詞的歌唱速度是否高于一特定速度;步驟403,對于不高于該特定速度的歌詞,執(zhí)行步驟202,對于高于特定速度的歌詞,不執(zhí)行步驟202,對于該句歌詞的處理流程結束。更為優(yōu)化的,如圖4B所示在該步驟201之后執(zhí)行步驟401’,計算該歌詞文本文件中的每一句歌詞的歌唱速度;步驟402’,判斷每句歌詞的歌唱速度是否高于一特定速度;步驟403’,對于不高于該特定速度的歌詞,執(zhí)行步驟202 ;對于高于該特定速度的歌詞,判斷這些高于特定速度的歌詞是否連續(xù)出現且連續(xù)出現超過預定句數(例如連續(xù)5 句或10句,不以此為限),對于連續(xù)出現超過預定句數的多句歌詞,不執(zhí)行步驟202,對于該多句歌詞的處理流程結束,對于未連續(xù)出現或未連續(xù)出現超過預定句數的歌詞,執(zhí)行步驟 202。該第二實施例可對歌詞文本文件中的所有歌詞進行初始篩選,排除不可能是高潮的歌詞,縮小后續(xù)高潮識別處理過程的目標范圍,提高整體計算的效率,提高高潮部分識別的準確性。以下通過第三實施例進一步描述本發(fā)明的內容,如圖5所示為本發(fā)明的歌曲音頻切割裝置的結構示意圖。為實現更為優(yōu)化的效果,圖3的基礎上,本實施例的歌曲音頻切割裝置100進一步包括一相似重復處理模塊123。與圖3相同部分未做重復說明。另外,第三實施例也可基于圖1所述方案增加該相似重復處理模塊123。所增方案如下所述。相似重復處理模塊123用于分析該候選集合中的任意兩句重復歌詞之間的相似度,對于相似度高于一相似閾值的兩句重復歌詞,合并其重復程度。在本發(fā)明中,除了認為歌詞之間一字不差完全相同為重復外,個別少量文字的變化也可認為兩句歌詞是重復的,即,相似重復。有些歌曲的歌詞可能在有一些語氣詞或發(fā)語詞等些微變化,但是核心歌詞是一樣的,可能對應的是同一旋律或歌曲中不同樂章的同一位置,因此,識別相似重復的歌詞,對于高潮部分的識別能夠起到較好的補充作用。如圖6所示為本發(fā)明歌曲音頻切割方法的流程圖。在步驟202之后,執(zhí)行步驟601,分析該候選集合中的任意兩句重復歌詞之間的相似度,對于相似度高于一相似閾值的兩句重復歌詞,合并其重復程度,執(zhí)行步驟203。該計算兩句重復歌詞之間的相似度可通過現有技術中所公開的各種文本相似度計算方法來實現,例如通過字符串的編輯距離來計算兩句歌詞間的相似度,不以此為限。該相似閾值為預先設定,也可通過多次實驗統(tǒng)計得到。具體來說,假設該候選集合中的歌詞Iyricl和lyric2之間的相似度高于該相似閾值,且Iyricl和lyric2的重復程度(重復次數)均為2,則Iyricl視為與lyric2相似重復,且Iyricl、lyric2的重復程度均變?yōu)?。在后續(xù)執(zhí)行步驟203時,lyricUlyric2視為同一句歌詞,在分析段落組成以及所處位置時,與完全重復的處理方式完全相同。
為了獲得更為優(yōu)化的技術效果,該相似重復的處理過程可進一步細化。被視為相似重復的歌詞需進一步確定其最大連續(xù)公共字符串長度,只有在該最大連續(xù)公共字符串長度大于一預設標準值時,認定該兩句歌詞確實為相似重復,才能執(zhí)行步驟203。更進一步的,當Iyricl存在與之相似度均高于該相似閾值的多句歌詞時,也就是
說,當Iyricl與lyric2、lyricl與lyric3......Iyricl與IyricN之間的相似度均高于該相
似閾值時,識別這些相似度中的最大相似度,例如,Iyricl與lyric3之間的相似度為最大相似度,此時,該相似重復處理模塊123認定Iyricl與lyric3為相似重復,合并Iyricl與 lyric3的重復程度。更進一步的,當與同一句重復歌詞的相似度均高于該相似閾值,且包括多個最大相似度的多句重復歌詞時,即,Iyricl與lyric2、Iyricl與lyric3之間的相似度一樣,均
高于相似閾值且為Iyricl與lyric2、Iyricl與lyric3......Iyricl與IyricN之間所有相
似度中的最大值時,計算該最大相似度對應的每對重復歌詞的連續(xù)公共字符串長度(計算 Iyricl與lyric2、Iyricl與lyric3的連續(xù)公共字符串長度),合并其中最大的連續(xù)公共字符串長度對應的兩句重復歌詞的重復程度。更進一步的,如果Iyricl與lyric2、Iyricl與lyric3的連續(xù)公共字符串長度也相同,選擇出現靠前的歌詞進行重復程度的合并。即,如果lyric2比lyric3的出現位置靠前(時間點在先),則將lyric2與Iyricl的重復程度進行合并。該第三實施例通過擴大可被認定為重復歌詞的范圍的方式,以應對實際歌曲中歌詞千變萬化的不同高潮組成,以期識別出更加符合使用者感受的高潮部分,提高歌曲高潮識別的準確性。以下通過第四實施例進一步描述本發(fā)明的內容,如圖7所示為本發(fā)明的歌曲音頻切割裝置的結構示意圖。為實現更為優(yōu)化的效果,圖5的基礎上,本實施例的歌曲音頻切割裝置100進一步包括一歌曲名稱判斷模塊124。與圖5相同部分未做重復說明。另外,第四實施例也可基于圖1、3所述方案增加該歌曲名稱判斷模塊124,所增方案如下所述。該歌曲名稱判斷模塊1 用于對于該重復程度低于該特定閾值的歌詞,判斷其是否包括歌曲名稱,如果包括,將該歌詞加入該候選集合。如圖8所示為本發(fā)明歌曲音頻切割方法的流程圖。在步驟202之后進一步包括步驟801 該歌曲名稱判斷模塊IM針對該重復程度低于該特定閾值的歌詞,依次判斷其是否包括該歌曲的歌曲名稱,如果包括,將該歌詞加入該候選集合,執(zhí)行步驟203,如果不包括,對該句歌詞而言處理流程結束。同時,在步驟204中,該切割起始點確定模塊13將依據每句重復歌詞的重復程度、 在段落中的位置以及是否包括該歌曲名稱,確定該候選集合中的一句歌詞作為該切割起始歌詞。也就是說,通常該歌曲名稱會出現在歌曲的高潮部分,因而,當歌詞中出現該歌詞名稱時,認定其存在被包括于歌曲高潮部分的可能性。該切割起始點確定模塊13可通過如下方式為每句歌詞評分Scoreli =重復程度一權重1+在所屬段落中的位置一權重2+title*權重3 O)該參數“title”對應該句歌詞是否包括歌曲名稱,如果未包括,賦值為“0”,如果包括賦值為1 (或者其他大于O的數字,根據需要確定),權重3可根據多次實驗統(tǒng)計的結果進行設定,調整權重1、2、3的不同比例。對公式O)的各種等效變型也在本發(fā)明的公開范圍內。在該第四實施例中,進一步豐富了識別高潮部分的識別依據,利用對歌詞是否包括該歌曲名稱的判斷,使得高潮識別過程更加細膩、準確。以下通過第五實施例進一步描述本發(fā)明的內容。如圖9所示為本發(fā)明的歌曲音頻切割裝置的結構示意圖。為實現更為優(yōu)化的效果,除了通過識別重復歌詞的角度確定切割起始點,本發(fā)明還可采用旋律分析的方式確定切割起始點,利用多種不同的方式共同進行識別,可降低識別失誤率,保證準確性。圖7的基礎上,圖9所示本實施例的歌曲音頻切割裝置100進一步包括一旋律判斷模塊16。與圖7相同部分未做重復說明。另外,第五實施例也可基于圖1、3、5所述方案增加該旋律判斷模塊16,所增方案如下所述。旋律判斷模塊16,用于計算從該重復歌詞開始的多個段落間的旋律曲線相似度, 和/或,從該重復歌詞開始的段落的音節(jié)長度。同時,該切割起始點確定模塊根據每句重復歌詞是否包括該歌曲名稱、該旋律曲線相似度、該音節(jié)長度中的一種或多種,以及每句重復歌詞的重復程度、在段落中的位置, 確定該候選集合中的一句歌詞作為該切割起始歌詞。該旋律判斷模塊16針對候選集合中的每句重復歌詞進行分析。接續(xù)前例,針對歌詞a,從歌詞a開始的段落有2個,分別是第2、3、4句以及第6、7、8句組成的段落。該旋律判斷模塊16計算這兩個段落間的旋律曲線相似度。利用音高、音頻等旋律變化分析計算旋律曲線相似度為現有技術,本領域的技術人員可以自行實施,不做贅述。另外,如果從歌詞 a開始的段落有3個或3個以上,則計算這多個段落間的旋律曲線相似度。針對歌詞b,從歌詞b開始的段落有2個,分別是第3、4句以及第7、8句組成的段落。該旋律判斷模塊16計算這兩個段落間的旋律曲線相似度。在本發(fā)明中,兩個段落的旋律越相像,該參數“旋律曲線相似度”的賦值越大。該旋律判斷模塊16計算得到的“旋律曲線相似度”傳送至該切割起始點確定模塊13進行后續(xù)計算。在本實施例中,該切割起始點確定模塊13基于以下公式進行計算Score2i =旋律曲線相似度一權重4(3)該權重值權重4可根據經驗預先設定。Scordi為第i句歌詞的旋律曲線部分的評分。旋律曲線相似度1為從第i句歌詞開始的段落間的旋律曲線相似度。對公式(3)的各種等效變型也在本發(fā)明的公開范圍內。同時,綜合上述通過歌詞重復分析以及歌曲旋律分析計算得到的&01^1” kor^i,綜合分析進行切割起始點的確定。具體通過如下方式針對候選集合中的每句歌詞依照以下公式進行評分,評分最高的歌詞,作為切割起始歌詞,其開始時間點作為該歌曲音頻文件的切割起始點。Scorei = Scoreli* (1_ 權重 x) +ScoreZi=K 權重 χ(4)Scorei為第i句歌詞的最終評分,也是評價每句歌詞是否能夠作為切割起始歌詞的最終依據。權重X可根據經驗值設定。對公式的各種等效變型也在本發(fā)明的公開范圍內。
在另一種實現方式中,該旋律判斷模塊16可以針對候選集合中每句重復歌詞引領的音節(jié)長度進行分析。接續(xù)前例,針對歌詞a,從歌詞a開始的段落有2個,分別是第2、3、4句以及第6、 7、8句組成的段落。該旋律判斷模塊16計算從歌詞a開始的段落所包含的音節(jié)長度,即第 2、3、4句所總共包括的音節(jié)長度,或第6、7、8句所總共包括的音節(jié)長度。如果發(fā)生從歌詞a 開始的不同段落音節(jié)長度不同的情況,以較多者進行記錄。針對歌詞b,從歌詞b開始的段落有2個,分別是第3、4句以及第7、8句組成的段落。該旋律判斷模塊16計算從歌詞b開始的段落所包含的音節(jié)長度,即第3、4句所總共包括的音節(jié)長度,或第7、8句所總共包括的音節(jié)長度。如果發(fā)生從歌詞b開始的不同段落音節(jié)長度不同的情況,以較多者進行記錄。該旋律判斷模塊16計算得到的“音節(jié)長度”傳送至該切割起始點確定模塊13進行后續(xù)計算。在本實施例中,該切割起始點確定模塊13基于以下公式進行計算Scored =音節(jié)長度一權重5(5)該權重值權重5可根據經驗預先設定。Scordi為第i句歌詞的音節(jié)長度部分的評分。音節(jié)長度1為從第i句歌詞開始的段落的音節(jié)長度。對公式(5)的各種等效變型也在本發(fā)明的公開范圍內。同樣的,該切割起始點確定模塊13基于公式(4)進行最終評分,評分最高的歌詞, 作為切割起始歌詞,其開始時間點作為該歌曲音頻文件的切割起始點。更進一步的,該旋律判斷模塊16可以同時針對候選集合中每句重復歌詞引領的段落的旋律曲線相似度以及音節(jié)長度進行分析。該旋律判斷模塊16將針對每句重復歌詞計算得到的“旋律曲線相似度”以及“音節(jié)長度”都傳送至該切割起始點確定模塊13進行后續(xù)計算。則該切割起始點確定模塊13基于以下公式進行計算Score2i =旋律曲線相似度一權重4+音節(jié)長度一權重5(6)同樣的,基于公式(6)計算得到的^ordi,該切割起始點確定模塊13基于公式 (4)進行最終評分。評分最高的歌詞,作為切割起始歌詞,其開始時間點作為該歌曲音頻文件的切割起始點。對公式㈩)的各種等效變型也在本發(fā)明的公開范圍內。如圖10所示為本發(fā)明歌曲音頻切割方法的流程圖。在步驟203之后,執(zhí)行步驟1001,計算從每一句重復歌詞開始的不同段落間的旋律曲線相似度,和/或,從每一句重復歌詞開始的段落的音節(jié)長度;步驟204’,根據每句重復歌詞是否包括該歌曲名稱、該旋律曲線相似度、該音節(jié)長度中的一種或多種,以及每句重復歌詞的重復程度、在段落中的位置,確定該候選集合中的一句重復歌詞作為該切割起始歌詞,執(zhí)行步驟205。在此基礎上更進一步的,本發(fā)明還可針對公式(4)中的權重χ做更為詳細的規(guī)定, 以使得權重X的數值設定更加貼合對歌曲高潮部分的識別的需求,提高識別準確度。本發(fā)明可預先利用豐富的音樂庫以及音樂的分類標簽,根據音樂的旋律變化規(guī)律,歸納出η個分類(C1,C2,C3,……Cn),例如憂郁類、歡快類等,有的分類旋律平緩,有的分類激昂高潮突出。分析各分類旋律變化的特點,根據每種分類的旋律高潮突出程度給出一個權重χ。
旋律判斷模塊16根據候選集合中的歌詞對應的旋律曲線,基于歌曲分類的規(guī)則, 計算該首歌曲所處分類,進而可以獲得該分類對應的權重X,該權重X即應用于公式(4)中。當歌曲所屬分類旋律變化的高潮突出時,權重χ值偏大,當歌曲所屬分類旋律變化平淡,高潮不突出時,權重X值偏小。從而傾向性的調整korel、Score2的不同比重,使得高潮識別的結果更加準確。另外,對于基于以上多個實施例的技術方案,對大量歌曲音頻文件進行批量處理的結果進行統(tǒng)計,根據大量的切割起始點的分布,可得到一經驗起始點。對于完全沒有重復歌詞或者歌曲音頻文件不存在歌詞文本文件的情況,可根據該經驗起始點直接進行切割。另外,該mp3Splt需針對mp3文件進行切割,當歌曲音頻文件不是mp3文件時,需獲取對應的wma文件,將wma文件轉換為mp3文件再進行切割。上述技術方案可針對歌曲音頻文件自動識別并切割其高潮部分。特別是,可以將切割得到的該高潮部分作為鈴聲。另外,本發(fā)明可自動對大量歌曲音頻文件進行批量的音頻文件切割,避免人工識別切割,提高效率。同時,可以保證較高的歌曲高潮識別的準確度。
權利要求
1.一種歌曲音頻切割方法,其特征在于,包括步驟一,獲取歌曲音頻文件的歌詞文本文件;步驟二,分析該歌詞文本文件中的每句歌詞的重復程度,將該重復程度高于一特定閾值的重復歌詞加入一候選集合;步驟三,針對該候選集合中的重復歌詞進行分析,獲取其分布位置,連續(xù)分布的多句重復歌詞組成段落;步驟四,根據每句重復歌詞的重復程度以及在段落中的位置,確定一句重復歌詞作為切割起始歌詞,以該切割起始歌詞的開始時間點作為該歌曲音頻文件的切割起始點;步驟五,利用歌曲切割工具從該切割起始點開始,切割該歌曲音頻文件。
2.如權利要求1所述的方法,其特征在于,該步驟一之后還包括計算該歌詞文本文件中的每句歌詞的歌唱速度,對于不高于特定速度的歌詞,執(zhí)行步驟二,對于高于該特定速度的歌詞,結束;或者,該步驟一之后還包括計算該歌詞文本文件中的每句歌詞的歌唱速度,對于高于該特定速度的歌詞,判斷是否連續(xù)出現超過預定句數,對于連續(xù)出現超過預定句數的多句歌詞, 不執(zhí)行步驟二,結束,其余歌詞執(zhí)行步驟二。
3.如權利要求1所述的方法,其特征在于,該步驟二之后進一步包括分析該候選集合中的任意兩句重復歌詞之間的相似度,對于相似度高于一相似閾值的兩句重復歌詞,合并其重復程度。
4.如權利要求3所述的方法,其特征在于,該合并其重復程度的步驟進一步包括對于與同一句重復歌詞的相似度均高于該相似閾值的多句重復歌詞,選擇該多句重復歌詞的多個相似度中的最大相似度,合并該最大相似度對應的兩句重復歌詞的重復程度; 或對于與同一句重復歌詞的相似度均高于該相似閾值,且包括多個最大相似度的多句重復歌詞,計算該最大相似度對應的每對重復歌詞的連續(xù)公共字符串長度,合并其中最大的連續(xù)公共字符串長度對應的兩句重復歌詞的重復程度。
5.如權利要求1-4中任一所述的方法,其特征在于,該步驟二與步驟三之間還包括對于該重復程度低于該特定閾值的歌詞,判斷其是否包括歌曲名稱,如果包括,將該歌詞加入該候選集合;該步驟四還包括根據每句重復歌詞的重復程度、在段落中的位置以及是否包括該歌曲名稱,確定該候選集合中的一句歌詞作為該切割起始歌詞。
6.如權利要求5所述的方法,其特征在于,該步驟三之后進一步包括計算從每一句重復歌詞開始的不同段落間的旋律曲線相似度,和/或,從每一句重復歌詞開始的段落的音節(jié)長度;該步驟四進一步包括根據每句重復歌詞是否包括該歌曲名稱、該旋律曲線相似度、該音節(jié)長度中的一種或多種,以及每句重復歌詞的重復程度、在段落中的位置,確定該候選集合中的一句重復歌詞作為該切割起始歌詞。
7.如權利要求1所述的方法,其特征在于,該歌曲切割工具包括mp3Splt。
8.一種歌曲音頻切割裝置,其特征在于,包括數據接口模塊,用于獲取歌曲音頻文件的歌詞文本文件;歌詞文本文件處理模塊,分析該歌詞文本文件中的每句歌詞的重復程度,將該重復程度高于一特定閾值的重復歌詞加入一候選集合,針對該候選集合中的重復歌詞進行分析, 獲取其分布位置,連續(xù)分布的多句重復歌詞組成段落;切割起始點確定模塊,根據每句重復歌詞的重復程度以及在段落中的位置,確定一句重復歌詞作為切割起始歌詞,以該切割起始歌詞的開始時間點作為該歌曲音頻文件的切割起始點;歌曲音頻文件切割模塊,從該切割起始點開始,切割該歌曲音頻文件。
9.如權利要求8所述的裝置,其特征在于,該裝置進一步包括一RAP排除模塊,用于計算該歌詞文本文件中的每句歌詞的歌唱速度,對于高于特定速度的歌詞,不傳送至該歌詞文本文件處理模塊,對于不高于該特定速度的歌詞,傳送至該歌詞文本文件處理模塊進行處理。
10.如權利要求8所述的裝置,其特征在于,該歌詞文本文件處理模塊進一步包括一相似重復處理模塊,用于分析該候選集合中的任意兩句重復歌詞之間的相似度,對于相似度高于一相似閾值的兩句重復歌詞,合并其重復程度。
11.如權利要求10所述的裝置,其特征在于,該相似重復處理模塊對于與同一句重復歌詞的相似度均高于該相似閾值的多句重復歌詞,選擇該多句重復歌詞的多個相似度中的最大相似度,合并該最大相似度對應的兩句重復歌詞的重復程度;或該相似重復處理模塊對于與同一句重復歌詞的相似度均高于該相似閾值,且包括多個最大相似度的多句重復歌詞,計算該最大相似度對應的每對重復歌詞的連續(xù)公共字符串長度,合并其中最大的連續(xù)公共字符串長度對應的兩句重復歌詞的重復程度。
12.如權利要求8-11所述的裝置,其特征在于,該歌詞文本文件處理模塊還包括一歌曲名稱判斷模塊,用于對于該重復程度低于該特定閾值的歌詞,判斷其是否包括歌曲名稱, 如果包括,將該歌詞加入該候選集合;同時,該切割起始點確定模塊根據每句重復歌詞的重復程度、在段落中的位置以及是否包括該歌曲名稱,確定該候選集合中的一句歌詞作為該切割起始歌詞。
13.如權利要求12所述的裝置,其特征在于,該裝置還包括一旋律判斷模塊,用于計算從每一句重復歌詞開始的不同段落間的旋律曲線相似度,和/或,從每一句重復歌詞開始的段落的音節(jié)長度;同時,該切割起始點確定模塊根據每句重復歌詞是否包括該歌曲名稱、該旋律曲線相似度、該音節(jié)長度中的一種或多種,以及每句重復歌詞的重復程度、在段落中的位置,確定該候選集合中的一句重復歌詞作為該切割起始歌詞。
全文摘要
本發(fā)明公開了一種歌曲音頻切割裝置及方法,該方法包括獲取歌曲音頻文件的歌詞文本文件;分析該歌詞文本文件中的每句歌詞的重復程度,將該重復程度高于一特定閾值的重復歌詞加入一候選集合;針對該候選集合中的重復歌詞進行分析,獲取其分布位置,連續(xù)分布的多句重復歌詞組成段落;根據每句重復歌詞的重復程度以及在段落中的位置,確定一句重復歌詞作為切割起始歌詞,以該切割起始歌詞的開始時間點作為該歌曲音頻文件的切割起始點;利用歌曲切割工具從該切割起始點開始,切割該歌曲音頻文件。本發(fā)明可自動批量識別并切割歌曲音頻文件的高潮部分,保證較高的歌曲高潮識別的準確度。
文檔編號G11B27/02GK102467939SQ20101053196
公開日2012年5月23日 申請日期2010年11月4日 優(yōu)先權日2010年11月4日
發(fā)明者倪雯, 孫武, 趙凌, 鄧周輝 申請人:北京彩云在線技術開發(fā)有限公司