麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種歌詞文件生成方法及裝置與流程

文檔序號:11155392閱讀:721來源:國知局
一種歌詞文件生成方法及裝置與制造工藝

本發明涉及多媒體技術領域,具體涉及一種歌詞文件生成方法及裝置。



背景技術:

唱歌類應用是目前深受用戶尤其是年輕用戶喜愛與追捧的一類應用,其具備在線獨唱和在線合唱等多種功能。通常情況下,用戶在演唱歌曲時需要對照著歌詞進行,而現有的歌詞文件只有每個句子的起始時間,用戶在對照歌詞文件進行演唱時,很難把握歌曲的演唱細節,這樣會降低用戶演唱的精準度。因此,如何輔助用戶以提高演唱的精準度已成為亟待解決的問題。



技術實現要素:

本發明實施例提供了一種歌詞文件生成方法及裝置,可以提供一種歌詞文件,能夠輔助用戶演唱以提高演唱的精準度。

本發明實施例第一方面提供了一種歌詞文件生成方法,包括:

獲取針對目標歌曲上傳的音頻數據集合,所述音頻數據集合包括多個音頻數據。

對所述音頻數據集合中的每個音頻數據進行語音切分,得到所述每個音頻數據中每個字的時間信息。

根據所述時間信息計算所述每個音頻數據與第一音頻數據之間的切分距離,并根據所述切分距離獲得所述每個音頻數據的切分距離和,所述第一音頻數據為所述音頻數據集合中除所述每個音頻數據之外的任一音頻數據。

按照切分距離和從小到大的順序對所述音頻數據集合中的每個音頻數據進行排序,并確定排序首位的第二音頻數據。

利用所述第二音頻數據中每個字的時間信息生成所述目標歌曲的歌詞文件。

本發明實施例第二方面提供了一種歌詞文件生成裝置,包括:

獲取模塊,用于獲取針對目標歌曲上傳的音頻數據集合,所述音頻數據集合包括多個音頻數據。

切分模塊,用于對所述音頻數據集合中的每個音頻數據進行語音切分,得到所述每個音頻數據中每個字的時間信息。

計算模塊,用于根據所述時間信息計算所述每個音頻數據與第一音頻數據之間的切分距離,并根據所述切分距離獲得所述每個音頻數據的切分距離和,所述第一音頻數據為所述音頻數據集合中除所述每個音頻數據之外的任一音頻數據。

排序模塊,用于按照切分距離和從小到大的順序對所述音頻數據集合中的每個音頻數據進行排序。

確定模塊,用于確定排序首位的第二音頻數據。

生成模塊,用于利用所述第二音頻數據中每個字的時間信息生成所述目標歌曲的歌詞文件。

本發明實施例中,用戶在針對目標歌曲上傳清唱版本的音頻數據后,歌詞文件生成裝置可以對音頻數據進行語音切分,得到每個字的時間信息,然后根據時間信息計算該音頻數據與其他音頻數據之間的切分距離,從而得到該音頻數據的切分距離和,從而從多個音頻數據中選擇出切分距離和最小的音頻數據,利用其對應的每個字的時間信息生成目標歌曲的歌詞文件。這樣得到的歌詞文件就包括了歌曲的每個字的時間信息,用戶就可以根據該時間信息進行歌曲演唱,從而能夠輔助用戶以提高用戶演唱的精準度。

附圖說明

為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。

圖1為本發明實施例提供的一種歌詞文件生成方法的流程示意圖;

圖2a為本發明實施例提供的歌詞信息的示意圖;

圖2b為本發明實施例提供的一種歌詞文件的示意圖;

圖3為本發明實施例提供的另一種歌詞文件生成方法的流程示意圖;

圖4為本發明實施例提供的一種歌詞文件生成設備的結構示意圖;

圖5為本發明實施例提供的一種歌詞文件生成裝置的結構示意圖。

具體實施方式

下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。

本發明實施例提供了一種歌詞文件生成方法及裝置,可以提供一種歌詞文件,能夠輔助用戶演唱以提高演唱的精準度。以下分別進行詳細說明。

請參閱圖1,為本發明實施例提供的一種歌詞文件生成方法的流程示意圖。本實施例中所描述的方法,包括以下步驟:

101、歌詞文件生成裝置獲取針對目標歌曲上傳的音頻數據集合。

本發明實施例中,歌詞文件生成裝置可以應用于客戶端、唱歌類應用的服務器等,其中,客戶端可以為唱歌類應用、可以為安裝唱歌類應用的終端設備,該終端設備可以是筆記本電腦、臺式電腦、手機、平板電腦、車載終端、智能可穿戴設備等,本發明實施例不做限定。

本發明實施例中,目標歌曲是指用戶需要演唱的歌曲,可以是用戶指定的需要演唱的歌曲,也可以是歌詞文件生成裝置的數據庫中的任意一首歌曲,本發明實施例不做限定。其中,音頻數據是指用戶演唱目標歌曲的清唱數據,即,演唱中不包括音樂部分演唱數據。

本發明實施例中,用戶可以針對目標歌曲演唱,從而將演唱版本上傳到歌詞文件生成裝置,歌詞文件生成裝置從而可以從演唱版本中提取出用戶清唱的音頻數據,從而獲取多個用戶針對目標歌曲上傳的清唱版本,得到目標歌曲的音頻數據集合,該音頻集合中包括了多個音頻數據。

作為一種可行的實施方式,歌詞文件生成裝置可以檢測針對目標歌曲上傳的音頻數據的數量,如果該數量達到數量閾值,獲取該數量個音頻數據,得到該目標歌曲的音頻數據集合。

其中,音頻數據的數量閾值越大,音頻數據集合中出現效果較好的清唱音頻數據的概率就越高。

作為另一種可行的實施方式,歌詞文件生成裝置在獲取到針對目標歌曲上傳的音頻數據后,還可以執行以下操作:

計算音頻數據集合中每個音頻數據的噪聲能量,將噪聲能量大于噪聲能量閾值的音頻數據從音頻數據集合中剔除,得到目標音頻數據集合,然后對目標音頻數據集合中的每個音頻數據進行語音切分,得到每個音頻數據中每個字的時間信息。

具體實現中,由于用戶上傳的清唱音頻數據在錄制的時候可能會有較大的背景噪聲,這些背景噪聲對后續的聚類效果會產生很大的影響,此步驟目的是將噪聲過大的音頻數據(即噪聲能量超過噪聲能量閾值的音頻數據)過濾掉,步驟如下:

請一并參閱圖2a,為本發明實施例提供的一種LRC歌詞文件的歌詞信息的示意圖。從圖2a中的歌詞可以看出,正式歌詞中每行就是連續演唱的一句話,在歌詞開始就標識了這句話在目標歌曲中的起始毫秒數與持續毫秒數,如第一句是從第27.77秒開始,也就是說從開始到第27.77秒是沒有歌詞只有伴奏的。理論上在目標歌曲的伴奏階段用戶是不會演唱的,那么清唱音頻數據中對應的伴奏階段的能量會很低,如果能量較高的話,即表明該音頻數據存在噪聲,從而需要從獲取的音頻數據集合中過濾掉這些在伴奏階段噪聲能量較大超過噪聲能量閾值的音頻數據。

具體的,歌詞文件生成裝置首先會獲取每個伴奏階段在目標歌曲中的起止時間,然后根據起止時間對應獲取音頻數據中這段時間所對應的數據。

進一步的,歌詞文件生成裝置判斷音頻數據中伴奏階段的能量是否超過噪聲能量閾值的具體方式為:從該音頻數據中確定出所有伴奏階段對應的采樣點,然后獲取每個采樣點對應的能量,記為xe,e∈[1,g],g為采樣點的數量,為正整數,從而計算出該音頻數據伴奏部分的平均能量,得到該音頻數據的噪聲能量,記為u,即:

當u大于噪聲能量閾值時,表明該音頻數據的噪聲過大,從而將該音頻數據從音頻數據集合中剔除。

歌詞文件生成裝置對每個音頻數據進行上述處理,將噪聲能量大于噪聲能量閾值的音頻數據從音頻數據集合中剔除,最終得到目標音頻數據集合,目標音頻數據集合中的音頻數據的數量要小于音頻數據集合中音頻數據的數量。需要說明的是,后續的所提及的音頻數據可以是指目標音頻數據集合中的每個音頻數據,本發明實施例在此不再贅述。

102、歌詞文件生成裝置對音頻數據集合中的每個音頻數據進行語音切分,得到每個音頻數據中每個字的時間信息。

需要說明的是,由于用戶是針對同一首歌曲進行演唱,那么上傳的音頻數據中所包含的字(即歌詞)或者字的數量是相同的。

因此,歌曲文件生成裝置在獲取到用戶針對目標歌曲上傳的音頻數據集合后,可以對每個音頻數據進行語音切分,這樣每個音頻數據都對應得到目標歌曲的每個字的時間信息。其中,該時間信息包括了起始時間和持續時間。

具體的,歌詞文件生成裝置對音頻數據集合中的每個音頻數據進行語音切分,得到每個音頻數據中每個字的時間信息的具體方式可以為:

歌詞文件生成裝置將音頻數據集合中的每個音頻數據轉換得到對應的音素列表,將該每個音頻數據對應的音素列表映射到預先建立的音素模型,得到該每個音頻數據對應的音素模型序列。歌詞文件生成裝置通過將該每個音頻數據語音切分后得到多幀音頻數據,將該多幀音頻數據中的每幀音頻數據與該音素模型序列進行匹配,得到該每幀音頻數據與該音素模型序列的匹配度,再確定出使得該每幀音頻數據與該音素模型序列的匹配度最大化的最優匹配路徑,進而根據該最優匹配路徑得到該每個音頻數據中每個音素的時間信息,通過將音素合并后即可確定該每個音頻數據中每個字的時間信息。

具體實現中,歌詞文件生成裝置收集大量語料,例如用戶上傳的20個小時的歷史音頻數據,將語料切分(如人工切分)成音素,為每個音素訓練對應的音素模型,音素模型具體可以采用高斯混合模型(Gaussian Mixture Mode,GMM)-隱馬爾科夫模型(Hidden Markov Model,HMM)或者深度神經網絡(Deep Neural Network,DNN)-HMM,也可以選擇基于梅爾頻率倒譜系數(Mel Frequency Cepstrum Coefficient,MFCC)等特征,由于每個音素的具體發音情況受到上下文的影響,在訓練的時候把不同上下文的音素分開訓練,例如對于音素a,在不同上下文的情況下,x-a+m(表示音素a前面的音素是x,后面的音素是m)和k-a+m(表示音素a前面的音素是k,后面的音素是m)是訓練成兩個音素模型的,這樣音素總數為n時,實際訓練得到的音素模型數為n3。對于一些較為生僻的音素可以將其音素模型映射到其它音素模型上,以減少數據的運算量。

進一步的,歌詞文件生成裝置將音頻數據集合中的每個音頻數據轉換得到對應的音素列表,例如,將“我們”轉換成“sil-w+o”、“w-o+m”、“o-m+en”、“m-en+sil”,將該音素列表映射到上述音素模型,從而得到該每個音頻數據對應的音素模型序列。歌詞文件生成裝置通過將該每個音頻數據語音切分后得到多幀音頻數據,例如切分為10ms一幀,將該多幀音頻數據中的每幀音頻數據與該音素模型序列進行匹配,得到該每幀音頻數據與該音素模型序列的匹配度,一個音素模型可以對應多幀音頻數據,每幀音頻數據與一個音素模型都有一個0~1的匹配度,將每幀音頻數據與一個音素模型的匹配度的乘積作為一種匹配路徑對應的置信度,例如共有5幀音頻數據,有2個模型,則一共可能有5種不同的匹配路徑,分別是(5,0)、(4,1)、(3,2)、(2,3)和(1,4),其中(5,0)表示5幀音頻數據對應模型1,0幀音頻數據對應模型2,其它類似,則(5,0)這種匹配路徑的置信度就是5幀音頻數據中每幀音頻數據與模型1的匹配度的乘積,將置信度最大的匹配路徑作為使得該每幀音頻數據與該音素模型序列的匹配度最大化的最優匹配路徑,進而根據該最優匹配路徑可以得到該每個音頻數據中每個音素的時間信息,通過將音素合并后即可確定該每個音頻數據中每個字的時間信息,即用戶在哪個時間演唱了哪個字。

103、歌詞文件生成裝置根據該時間信息計算每個音頻數據與第一音頻數據之間的切分距離,并根據該切分距離獲得該每個音頻數據的切分距離和。

本發明實施例中,第一音頻數據為音頻數據集合中出該每個音頻數據本身之外其他任意一個音頻數據,本發明實施例不做限定。歌詞文件生成裝置在對音頻數據進行語音切分得到該音頻數據的每個字的時間信息后,可以針對每個音頻數據,根據得到的該音頻數據的每個字的時間信息分別計算該音頻數據與其他音頻數據之間的切分距離。

具體的,歌詞文件生成裝置根據時間信息計算每個音頻數據與第一音頻數據之間的切分距離的具體方式可以為:

針對音頻數據集合中的每個音頻數據,以及目標歌曲所包含的每個字,歌詞文件生成裝置分別獲得該音頻數據中每個字的第一起始時間和第一持續時間,以及第一音頻數據中每個字的第二起始時間和第二持續時間。然后分別計算第一起始時間與第二起始時間之間的第一時間差,以及第一持續時間和第二持續時間的第二時間差,從而根據第一時間差和第二時間差計算該音頻數據與第一音頻數據之間的切分距離。

具體實現中,歌詞文件生成裝置會分別針對音頻數據集合中的每個音頻數據,計算該音頻數據的每個字的起始時間和持續時間與其他音頻數據(如第一音頻數據)的起始時間和持續時間之間的時間差,利用這種方式可以得到該音頻數據與第一音頻數據之間目標歌曲的所有字的起始時間差之和以及持續時間差之和,從而根據該起始時間差之和以及持續時間差之和計算得到該音頻數據與第一音頻數據之間的切分距離。

可以理解的是,假設音頻數據集合中的音頻數據有n個,目標歌曲所包含的所有字的數量有m個,用sji表示對第i個音頻數據進行歌詞切分后第j個字的起始時間,單位為毫秒;用Iji表示對第i個音頻數據進行歌詞切分后第j個字的持續時間,單位為毫秒。其中,n、m、i以及j均為正整數,且i∈[1,n],j∈[1,m]。那么第i個音頻數據與第t個音頻數據的第j個字的起始時間之間的時間差為|sji-sjt|;第i個音頻數據與第t個音頻數據的第j個字的持續時間之間的時間差為|Iji-Ijt|,其中t為正整數,t∈[1,n],當t=i時,得到的起始時間差以及持續時間差為0。通過這種方式可以計算出第i個音頻數據與第t個音頻數據之間關于目標歌曲所包含的所有字的起始時間差以及持續時間差,據此得到第i個音頻數據與第t個音頻數據之間的切分距離,用wik表示,具體為:

進一步的,歌詞文件生成裝置根據第一時間差和第二時間差計算每個音頻數據與第一音頻數據之間的切分距離的具體方式可以理解為:

獲取預設的起始時間的第一權重和預設的持續時間的第二權重,并利用第一權重、第二權重、第一時間差和第二時間差計算每個音頻數據與第一音頻數據之間的切分距離。

具體實現中,歌詞文件生成裝置還可以預先設置起始時間的權重和持續時間的權重,該權重用以表示在計算音頻數據與其他音頻數據之間的切分距離時,起始時間和持續時間的重要程度,其取值范圍為(0,1)。歌詞文件生成裝置在計算出某一音頻數據與其他音頻數據(第一音頻數據)之間的每個字的起始時間和持續時間之差,即第一時間差和第二時間差后,可以得到該音頻數據的起始時間差之和以及持續時間差之和,從而將第一權重(用u1表示)與起始時間差之和相乘,并將第二權重(用u2表示,u2=1-u1)與持續時間差之和相乘,從而合并得到該音頻數據與第一音頻數據之間的切分距離。那么第i個音頻數據與第t個音頻數據之間的切分距離就為:

因此,以上述兩種方式可以求得該音頻數據與每個其他音頻數據之間的切分距離,從而得到該音頻數據的切分距離和,用Si表示第i個音頻數據的切分距離和,那么:

104、歌詞文件生成裝置按照切分距離和從小到大的順序對音頻數據集合中的每個音頻數據進行排序,并確定排序首位的第二音頻數據。

本發明實施例中,歌詞文件生成裝置在計算出每個音頻數據的切分距離和后,會按照切分距離和從小到大的順序對音頻數據集合中的所有音頻數據進行排序,這樣就可以確定出每個音頻數據在音頻數據集合中時間切分排序的位置。從而可以確定出排序首位的第二音頻數據。

需要說明的是,如果音頻數據的時間切分在音頻數據集合中是最好的,那么該音頻數據與其他音頻數據之間的切分距離和應該是最小的,例如,某一歌曲的歌詞為“只剩下鋼琴”,原唱中“只”的起始時間為25570,持續時間為360,“剩”的起始時間為25930,持續時間為370,“下”的起始時間為26300,持續時間為100,“鋼”的起始時間為26790,持續時間為390,“琴”的起始時間為27180,持續時間為420。假設用戶上傳的音頻數據有A、B、C三個,其時間信息依次為[(25570,360),(25930,365),(26300,120),(26795,383),(27180,420)]、[(25570,355),(25930,370),(26300,110),(26795,390),(27185,415)]以及[(25569,350),(25926,370),(26300,100),(26790,390),(27173,427)],假設起始時間的權重為0.7,持續時間的權重0.3,那么A與B的切分距離為13.1;A與C的切分距離為26.6;B與C的切分距離為23.5,那么A的切分距離和為39.7,B的切分距離和為36.6,C的切分距離和為50.1,從而可得到音頻數據A、B和C之間的排列順序,B排列在首位,即B更加接近原唱。

其中,n越大,第二音頻數據為時間切分最好的音頻數據的說服力也就越大。

105、歌詞文件生成裝置利用第二音頻數據中每個字的時間信息生成目標歌曲的歌詞文件。

本發明實施例中,歌詞文件生成裝置在確定出排序首位的第二音頻數據后,可以進一步獲取步驟102中進行語音切分后得到的第二音頻數據中每個字的時間信息,從而利用該時間信息生成目標歌曲的歌詞文件,如圖2b所示,圖2b為本發明實施例提供的一種歌詞文件的示意圖。由圖2b可以看出,利用本發明實施例所生成的歌詞文件展示了歌詞中每個字的起始時間和持續時間,這樣用戶就可以對照著該歌詞文件進行演唱。

也就是說,在確定出第二音頻數據后,可以利用第二音頻數據的語音切分結果,即第二音頻數據所包含的每個字的時間信息(起始時間和持續時間)輸出為目標歌曲的QRC文件。從用戶上傳的清唱數據中篩選出較好的音頻數據,以此生成目標歌曲的QRC文件,不僅能夠節省QRC的制作成本,還可以提高制作效率。

可見,在圖1所描述的方法中,用戶在針對目標歌曲上傳清唱版本的音頻數據后,歌詞文件生成裝置可以對音頻數據進行語音切分,得到每個字的時間信息,然后根據時間信息計算該音頻數據與其他音頻數據之間的切分距離,從而得到該音頻數據的切分距離和,從而從多個音頻數據中選擇出切分距離和最小的音頻數據,利用其對應的每個字的時間信息生成目標歌曲的歌詞文件。這樣得到的歌詞文件就包括了歌曲的每個字的時間信息,用戶就可以根據該時間信息進行歌曲演唱,從而能夠輔助用戶以提高用戶演唱的精準度。

請參閱圖3,為本發明實施例提供的另一種歌詞文件生成方法的流程示意圖。本實施例中所描述的方法,包括以下步驟:

301、歌詞文件生成裝置獲取針對目標歌曲上傳的音頻數據集合。

302、歌詞文件生成裝置對音頻數據集合中的每個音頻數據進行語音切分,得到每個音頻數據中每個字的時間信息。

303、歌詞文件生成裝置根據該時間信息計算每個音頻數據與第一音頻數據之間的切分距離,并根據該切分距離獲得該每個音頻數據的切分距離和。

304、歌詞文件生成裝置按照切分距離和從小到大的順序對音頻數據集合中的每個音頻數據進行排序,并確定排序首位的第二音頻數據。

步驟301~304同上一實施例中步驟101~104,本發明實施例在此不再贅述。

305、歌詞文件生成裝置從音頻數據集合中獲取排序前k個音頻數據。

本發明實施例中,歌詞文件生成裝置在確定出排序首位的第二音頻數據后,可以進一步獲取排序前k個音頻數據,其中,k可以為3、5或者10,本發明實施例不做限定。例如,歌詞文件生成裝置獲取排序前5的所有音頻數據,其中,包括第二音頻數據。

306、歌詞文件生成裝置根據第二音頻數據的切分距離和與排序前k個音頻數據的切分距離和計算第二音頻數據的可用度。

本發明實施例中,歌詞文件生成裝置在獲取排序前k個音頻數據后,可以根據第二音頻數據的距離和以及排序前k個音頻數據的距離和來計算第二音頻數據的可用度,用f表示。

其中,S1表示排序首位的音頻數據的距離和,Sj表示排序第j位的音頻數據的距離和。

需要說明的是,可用度用于表示排序前k個音頻數據時間切分的穩定程度,其值越大,越穩定,即說明排序首位的音頻數據與排序前k個音頻數據之間的差距越小,排序首位的音頻數據作為時間切分效果較好的音頻數據的力度也就越大,從而可以利用其語音切分結果生成目標歌曲的QRC歌詞文件,用戶以該歌詞文件進行演唱,可以提高演唱的準確度。

307、歌詞文件生成裝置判斷該可用度是否超過預設可用度門限,若是,執行步驟308;若否,結束本流程。

本發明實施例中,歌詞文件生成裝置可以預先設定可用度門限,當歌詞文件生成裝置計算出第二音頻數據的可用度后,會判斷該可用度是否超過預設的可用度門限,如果超過,則說明第二音頻數據與排序前k個音頻數據之間的差距較小,第二音頻數據的時間切分較好,將其語音切分結果生成目標歌曲的QRC歌詞文件的準確度較高,如果沒有超過,則不會將其語音切分結果生成目標歌曲的QRC歌詞文件,只有在存在更多的音頻數據時再篩選時間切分較好的音頻數據,從而將其語音切分結果生成目標歌曲的QRC歌詞文件。

也即是說,第二音頻數據是n個音頻數據中時間切分較好的音頻數據,如果n個音頻數據的時間切分普遍都比較差,以第二音頻數據的語音切分結果來生成目標歌曲的QRC歌詞文件的準確力度就不夠大,如果n個音頻數據的時間切分普遍都比較好,以第二音頻數據的語音切分結果來生成目標歌曲的QRC歌詞文件的準確力度就大。

308、歌詞文件生成裝置利用第二音頻數據中每個字的時間信息生成目標歌曲的歌詞文件,并結束本流程。

進一步的,為了不斷完善目標歌曲歌詞文件中每個字的時間信息的準確度,無論第二音頻數據的可用度是否達到可用度閾值,歌詞文件生成裝置都可以檢測針對該目標歌曲再次上傳的音頻數據,如果新上傳的音頻數據達到一定數量閾值后,可以對新上傳的音頻數據進行語音切分,得到每個音頻數據所包含的每個字的時間信息,然后將這些音頻數據與之前上傳的音頻數據集合合并,再次執行步驟303~步驟308,從而得到更加準確的歌詞文件。

通過這種方式,每次聚類都可以得到時間切分較好的指導音頻數據,經過多次聚類后,篩選出的音頻數據的時間切分效果更好,以該音頻數據所包含的每個字的時間信息生成目標歌曲的QRC歌詞文件的準確度更高,更適合用戶以此進行演唱。

可見,在圖3所描述的方法中,用戶在針對目標歌曲上傳清唱版本的音頻數據后,歌詞文件生成裝置可以對音頻數據進行語音切分,得到每個字的時間信息,然后根據時間信息計算該音頻數據與其他音頻數據之間的切分距離,從而得到該音頻數據的切分距離和,從而從多個音頻數據中選擇出切分距離和最小的音頻數據,利用其對應的每個字的時間信息生成目標歌曲的歌詞文件。這樣得到的歌詞文件就包括了歌曲的每個字的時間信息,用戶就可以根據該時間信息進行歌曲演唱,從而能夠輔助用戶以提高用戶演唱的精準度。

基于上述實施例所示的歌詞文件生成方法,本發明實施例還提供了一種歌詞文件生成設備,可用于執行上述圖1和圖3所示方法流程的相應步驟。請參見圖4,該歌詞文件生成設備的內部結構可包括但不限于:處理器、網絡接口及存儲器。其中,歌詞文件生成設備內的處理器、網絡接口及存儲器可通過總線或其他方式連接,在本發明實施例所示圖4中以通過總線連接為例。

其中,處理器(或稱CPU(Central Processing Unit,中央處理器))是歌詞文件生成設備的計算核心以及控制核心。網絡接口可選的可以包括標準的有線接口、無線接口(如WI-FI、移動通信接口等)。存儲器(Memory)是音歌詞文件生成設備中的記憶設備,用于存放程序和數據。可以理解的是,此處的存儲器可以是高速RAM存儲器,也可以是非不穩定的存儲器(non-volatile memory),例如至少一個磁盤存儲器;可選的還可以是至少一個位于遠離前述處理器的存儲裝置。存儲器提供存儲空間,該存儲空間存儲了歌詞文件生成的操作系統,可包括但不限于:Windows系統(一種操作系統)、Linux(一種操作系統)系統等等,本發明對此并不作限定。存儲器的存儲空間還存儲了歌詞文件生成裝置。

在本發明實施例中,歌詞文件生成設備通過運行存儲器中的歌詞文件生成裝置來執行上述圖1和圖3所示方法流程的相應步驟。請一并參見圖5,在執行如挑選時間切分較好的清唱音頻數據,以該音頻數據的每個字的時間信息生成目標歌曲的歌詞文件的過程中,該裝置運行如下單元:

獲取模塊501,用于獲取針對目標歌曲上傳的音頻數據集合,所述音頻數據集合包括多個音頻數據。

切分模塊502,用于對所述音頻數據集合中的每個音頻數據進行語音切分,得到所述每個音頻數據中每個字的時間信息。

計算模塊503,用于根據所述時間信息計算所述每個音頻數據與第一音頻數據之間的切分距離,并根據所述切分距離獲得所述每個音頻數據的切分距離和,所述第一音頻數據為所述音頻數據集合中除所述每個音頻數據之外的任一音頻數據

排序模塊504,用于按照切分距離和從小到大的順序對所述音頻數據集合中的每個音頻數據進行排序。

確定模塊505,用于確定排序首位的第二音頻數據。

生成模塊506,用于利用所述第二音頻數據中每個字的時間信息生成所述目標歌曲的歌詞文件。

可選的,該裝置還可以包括剔除模塊507,其中:

計算模塊503,還用于計算所述音頻數據集合中每個音頻數據的噪聲能量。

剔除模塊507,用于將噪聲能量大于噪聲能量閾值的音頻數據從所述音頻數據集合中剔除,得到目標音頻數據集合。

其中,切分模塊502對所述音頻數據集合中的每個音頻數據進行語音切分,得到所述每個音頻數據中每個字的時間信息的具體方式可以為:

對所述目標音頻數據集合中的每個音頻數據進行語音切分,得到所述每個音頻數據中每個字的時間信息。

可選的,切分模塊502對所述音頻數據集合中的每個音頻數據進行語音切分,得到所述每個音頻數據中每個字的時間信息的具體方式可以為:

將所述音頻數據集合中的每個音頻數據轉換得到對應的音素列表。

將所述每個音頻數據對應的音素列表映射到預先建立的音素模型,得到所述每個音頻數據對應的音素模型序列。

將所述每個音頻數據語音切分后得到多幀音頻數據,獲取所述多幀音頻數據中的每幀音頻數據與所述音素模型序列的匹配度。

確定所述每幀音頻數據與所述音素模型序列的匹配度最大化的最優匹配路徑,根據所述最優匹配路徑得到所述每個音頻數據中每個音素的時間信息,將音素合并后確定所述每個音頻數據中每個字的時間信息。

可選的,該裝置還可以包括判斷模塊508,其中:

獲取模塊501,還用于從所述音頻數據集合中獲取排序前k個音頻數據。

計算模塊503,還用于根據所述第二音頻數據的切分距離和與所述排序前k個音頻數據的切分距離和計算所述第二音頻數據的可用度。

判斷模塊508,用于判斷所述可用度是否超過預設可用度門限,若是,則觸發生成模塊506執行所述利用所述第二音頻數據中每個字的時間信息生成所述目標歌曲的歌詞文件的操作。

可選的,計算模塊503根據所述時間信息計算所述每個音頻數據與第一音頻數據之間的切分距離的具體方式可以為:

針對所述目標歌曲所包含的每個字,根據所述時間信息分別獲得所述每個音頻數據中所述每個字的第一起始時間和第一持續時間,以及第一音頻數據中所述每個字的第二起始時間和第二持續時間。

分別計算所述第一起始時間和所述第二起始時間的第一時間差,以及所述第一持續時間和所述第二持續時間的第二時間差。

根據所述第一時間差和所述第二時間差計算所述每個音頻數據與所述第一音頻數據之間的切分距離。

可選的,計算模塊503根據所述第一時間差和所述第二時間差計算所述每個音頻數據與所述第一音頻數據之間的切分距離的具體方式可以為:

獲取預設的起始時間的第一權重和預設的持續時間的第二權重。

利用所述第一權重、所述第二權重、所述第一時間差和所述第二時間差計算所述每個音頻數據與所述第一音頻數據之間的切分距離。

本發明實施例中,用戶在針對目標歌曲上傳清唱版本的音頻數據后,歌詞文件生成裝置可以對音頻數據進行語音切分,得到每個字的時間信息,然后根據時間信息計算該音頻數據與其他音頻數據之間的切分距離,從而得到該音頻數據的切分距離和,從而從多個音頻數據中選擇出切分距離和最小的音頻數據,利用其對應的每個字的時間信息生成目標歌曲的歌詞文件。這樣得到的歌詞文件就包括了歌曲的每個字的時間信息,用戶就可以根據該時間信息進行歌曲演唱,從而能夠輔助用戶以提高用戶演唱的精準度。

本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存取存儲器(Random Access Memory,簡稱RAM)等。

以上所揭露的僅為本發明一種較佳實施例而已,當然不能以此來限定本發明之權利范圍,本領域普通技術人員可以理解實現上述實施例的全部或部分流程,并依本發明權利要求所作的等同變化,仍屬于發明所涵蓋的范圍。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 阳西县| 娄底市| 长宁县| 桑植县| 偏关县| 泰来县| 营山县| 嵩明县| 邳州市| 凌源市| 易门县| 开江县| 玛多县| 界首市| 靖边县| 岚皋县| 来安县| 修文县| 罗田县| 涟源市| 上饶县| 个旧市| 吉木乃县| 武汉市| 新源县| 潜山县| 高陵县| 多伦县| 邵东县| 堆龙德庆县| 孝义市| 常山县| 茶陵县| 遵义市| 万山特区| 西盟| 洛阳市| 东乌| 新民市| 南陵县| 育儿|