生成歌詞文件的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及音頻處理技術(shù)領(lǐng)域,特別設(shè)及一種生成歌詞文件的方法及裝置。
【背景技術(shù)】
[0002] 隨著用戶對(duì)視聽體驗(yàn)要求的日益提高,用戶在使用音樂(lè)類應(yīng)用程序進(jìn)行音樂(lè)作品 的視、聽、唱等操作時(shí),需要應(yīng)用程序能夠提供顯示歌詞的功能。
[0003] 應(yīng)用程序的開發(fā)商為了滿足用戶的需求,需要為不同的歌曲文件生成與之匹配的 歌詞文件。在相關(guān)技術(shù)中,采用人工方式為歌曲文件生成與之匹配的歌詞文件。
[0004] 然而,采用人工方式生成歌詞文件不僅效率低且成本高。隨著曲庫(kù)規(guī)模的不斷擴(kuò) 大,人工方式所存在的弊端顯得日益嚴(yán)重。
【發(fā)明內(nèi)容】
[0005] 為了解決相關(guān)技術(shù)采用人工方式生成歌詞文件所存在的效率低且成本高的問(wèn)題, 本發(fā)明實(shí)施例提供了一種生成歌詞文件的方法及裝置。所述技術(shù)方案如下:
[0006] 第一方面,提供了一種生成歌詞文件的方法,所述方法包括:
[0007] 獲取待處理的目標(biāo)音頻文件對(duì)應(yīng)的參考音頻文件,所述參考音頻文件與所述目標(biāo) 音頻文件屬于同一歌曲的不同版本;
[000引計(jì)算所述參考音頻文件與所述目標(biāo)音頻文件之間的時(shí)間偏差;
[0009] 根據(jù)所述時(shí)間偏差對(duì)所述參考音頻文件的歌詞文件所對(duì)應(yīng)的時(shí)間戳進(jìn)行修正,并 將修正后的歌詞文件作為所述目標(biāo)音頻文件的歌詞文件。
[0010] 可選地,所述獲取待處理的目標(biāo)音頻文件對(duì)應(yīng)的參考音頻文件,包括:
[0011] 獲取所述目標(biāo)音頻文件對(duì)應(yīng)的至少一個(gè)候選參考音頻文件,各個(gè)所述候選參考音 頻文件與所述目標(biāo)音頻文件屬于同一歌曲的不同版本;
[0012] 根據(jù)預(yù)設(shè)排序規(guī)則對(duì)所述至少一個(gè)候選參考音頻文件進(jìn)行排序;
[0013] 根據(jù)排序結(jié)果依次逐個(gè)選取所述候選參考音頻文件;
[0014] 檢測(cè)被選取的候選參考音頻文件與所述目標(biāo)音頻文件之間是否具有強(qiáng)相關(guān)性;
[0015] 當(dāng)?shù)玫降谝粋€(gè)與所述目標(biāo)音頻文件之間具有強(qiáng)相關(guān)性的候選參考音頻文件時(shí),停 止選取下一個(gè)候選參考音頻文件,并將所述第一個(gè)與所述目標(biāo)音頻文件之間具有強(qiáng)相關(guān)性 的候選參考音頻文件作為所述參考音頻文件。
[0016] 可選地,所述檢測(cè)被選取的候選參考音頻文件與所述目標(biāo)音頻文件之間是否具有 強(qiáng)相關(guān)性,包括:
[0017] 計(jì)算所述被選取的候選參考音頻文件與所述目標(biāo)音頻文件之間的互相關(guān)系數(shù)序 列,所述互相關(guān)系數(shù)序列中包含至少一個(gè)互相關(guān)系數(shù);
[0018] 從所述互相關(guān)系數(shù)序列中選取互相關(guān)系數(shù)的最大值P。;
[0019] 獲取所述最大值P。所對(duì)應(yīng)的位置偏差m。;
[0020] 根據(jù)所述位置偏差m。在第一位置偏差區(qū)間虹(i+iv。,111。+!]!。。,]和第二位置偏差區(qū)間 虹O-nimax,所對(duì)應(yīng)的互相關(guān)系數(shù)中選取最大值Pi,1《mmin<nimax;
[0021] 檢測(cè)所述最大值p。與所述最大值p1之間的比值pc/Pi是否大于預(yù)設(shè)闊值;
[0022] 若所述比值Pa/Pi大于所述預(yù)設(shè)闊值,則確定所述被選取的候選參考音頻文件與 所述目標(biāo)音頻文件之間具有強(qiáng)相關(guān)性。
[0023] 可選地,所述計(jì)算被選取的候選參考音頻文件與所述目標(biāo)音頻文件之間的互相關(guān) 系數(shù)序列,包括:
[0024] W預(yù)設(shè)采樣率從所述被選取的候選參考音頻文件中采樣獲取候選音頻采樣序列, 并W所述預(yù)設(shè)采樣率從所述目標(biāo)音頻文件中采樣獲取目標(biāo)音頻采樣序列;
[0025] 從所述候選音頻采樣序列和所述目標(biāo)音頻采樣序列的相同位置處提取預(yù)設(shè)長(zhǎng)度 的音頻數(shù)據(jù),分別得到候選音頻數(shù)據(jù)序列和目標(biāo)音頻數(shù)據(jù)序列;
[0026] 計(jì)算所述候選音頻數(shù)據(jù)序列和所述目標(biāo)音頻數(shù)據(jù)序列之間的互相關(guān)系數(shù)序列。
[0027] 可選地,所述計(jì)算所述候選音頻數(shù)據(jù)序列和所述目標(biāo)音頻數(shù)據(jù)序列之間的互相關(guān) 系數(shù)序列,包括:
[002引按照下述公式計(jì)算所述候選音頻數(shù)據(jù)序列X(n)和所述目標(biāo)音頻數(shù)據(jù)序列y(n)之 間的互相關(guān)系數(shù)序列R_xy(m):
[0029]
[0030] 其中,mG[-(N-1),(N-l)],0《n《N-l,0《n+m《N-l,N為正整數(shù)。
[0031] 可選地,所述計(jì)算所述候選音頻數(shù)據(jù)序列和所述目標(biāo)音頻數(shù)據(jù)序列之間的互相關(guān) 系數(shù)序列,包括:
[0032] 每隔預(yù)定間隔從所述候選音頻數(shù)據(jù)序列x(n)中抽取一個(gè)音頻數(shù)據(jù)得到候選音頻 數(shù)據(jù)抽取序列X' (n),并每隔所述預(yù)定間隔從所述目標(biāo)音頻數(shù)據(jù)序列y(n)中抽取一個(gè)音 頻數(shù)據(jù)得到目標(biāo)音頻數(shù)據(jù)抽取序列y' (n);其中,X' (n)=x化Xn),y' (n)=y化Xn), 所述預(yù)定間隔為k個(gè)音頻數(shù)據(jù),k為正整數(shù);
[0033] 按照下述公式計(jì)算所述候選音頻數(shù)據(jù)抽取序列X' (n)與所述目標(biāo)音頻數(shù)據(jù)抽取 序列y' (n)之間的粗略互相關(guān)系數(shù)序列R_xy' (m):
[0034]
[0035] 其中,mG[- (N-1)A, (N-1)A],0《n《(N-1) /k,0《n+m《(N-1) /k,N為正整 數(shù);
[0036] 獲取所述粗略互相關(guān)系數(shù)序列R_xy' (m)中的最大值所對(duì)應(yīng)的位置偏差mi;
[0037] 在所述候選音頻數(shù)據(jù)序列x(n)和所述目標(biāo)音頻序列y(n)之間的位置偏差為 kXmi的狀態(tài)下,分別從所述候選音頻數(shù)據(jù)序列x(n)和所述目標(biāo)音頻序列y(n)的對(duì)應(yīng)位置 處截取目標(biāo)長(zhǎng)度的候選音頻數(shù)據(jù)截取序列X" (n)和目標(biāo)音頻數(shù)據(jù)截取序列y" (n);
[003引按照下述公式計(jì)算所述候選音頻數(shù)據(jù)截取序列X" (n)與所述目標(biāo)音頻數(shù)據(jù)截取 序列y" (n)之間的精確互相關(guān)系數(shù)序列R_xy" (m):
[0039]
[0040] 其中,me比Xml-a,kXml+a],a>k,N。表示所述目標(biāo)長(zhǎng)度,N。為預(yù)設(shè)值;所述精 確互相關(guān)系數(shù)序列R_xy" (m)中的最大值所對(duì)應(yīng)的位置偏差m,即為精確位置偏差。
[0041] 可選地,所述獲取所述目標(biāo)音頻文件對(duì)應(yīng)的至少一個(gè)候選參考音頻文件,包括:
[0042] 獲取所述目標(biāo)音頻文件所屬的分類,所述分類為單曲類、現(xiàn)場(chǎng)類、伴奏類和消音類 中的任意一種;
[0043] 根據(jù)所述目標(biāo)音頻文件所屬的分類確定用于查找所述候選參考音頻文件的目標(biāo) 分類;
[0044] 在所述目標(biāo)分類中查找符合預(yù)設(shè)選取條件的音頻文件作為所述候選參考音頻文 件;其中,所述預(yù)設(shè)選取條件包括;所述音頻文件具有經(jīng)人工綁定的歌詞文件、所述音頻文 件屬于高音質(zhì)音頻文件中的至少一種。
[0045] 可選地,所述根據(jù)所述目標(biāo)音頻文件所屬的分類確定用于查找所述候選參考音頻 文件的目標(biāo)分類,包括:
[0046] 當(dāng)所述目標(biāo)音頻文件所屬的分類屬于所述單曲類時(shí),確定所述單曲類為所述目標(biāo) 分類;或者,
[0047] 當(dāng)所述目標(biāo)音頻文件所屬的分類屬于所述現(xiàn)場(chǎng)類時(shí),確定所述現(xiàn)場(chǎng)類為所述目標(biāo) 分類;或者,
[0048] 當(dāng)所述目標(biāo)音頻文件所屬的分類屬于所述伴奏類時(shí),確定所述伴奏類、所述單曲 類W及所述現(xiàn)場(chǎng)類為所述目標(biāo)分類;或者,
[0049] 當(dāng)所述目標(biāo)音頻文件所屬的分類屬于所述消音類時(shí),確定所述消音類、所述單曲 類W及所述現(xiàn)場(chǎng)類為所述目標(biāo)分類。
[0化0] 第二方面,提供了一種生成歌詞文件的裝置,所述裝置包括:
[0051] 獲取模塊,用于獲取待處理的目標(biāo)音頻文件對(duì)應(yīng)的參考音頻文件,所述參考音頻 文件與所述目標(biāo)音頻文件屬于同一歌曲的不同版本;
[0052] 計(jì)算模塊,用于計(jì)算所述參考音頻文件與所述目標(biāo)音頻文件之間的時(shí)間偏差;
[0化3] 修正模塊,用于根據(jù)所述時(shí)間偏差對(duì)所述參考音頻文件的歌詞文件所對(duì)應(yīng)的時(shí)間 戳進(jìn)行修正,并將修正后的歌詞文件作為所述目標(biāo)音頻文件的歌詞文件。
[0054] 可選地,所述獲取模塊,包括:獲取子模塊、排序子模塊、選取子模塊、檢測(cè)子模塊 和確定子模塊;
[0055] 所述獲取子模塊,用于獲取所述目標(biāo)音頻文件對(duì)應(yīng)的至少一個(gè)候選參考音頻文 件,各個(gè)所述候選參考音頻文件與所述目標(biāo)音頻文件屬于同一歌曲的不同版本;
[0056] 所述排序子模塊,用于根據(jù)預(yù)設(shè)排序規(guī)則對(duì)所述至少一個(gè)候選參考音頻文件進(jìn)行 排序;
[0057] 所述選取子模塊,用于根據(jù)排序結(jié)果依次逐個(gè)選取所述候選參考音頻文件;
[005引所述檢測(cè)子模塊,用于檢測(cè)被選取的候選參考音頻文件與所述目標(biāo)音頻文件之間 是否具有強(qiáng)相關(guān)性;
[0059] 所述確定子模塊,用于當(dāng)?shù)玫降谝粋€(gè)與所述目標(biāo)音頻文件之間具有強(qiáng)相關(guān)性的候 選參考音頻文件時(shí),停止選取下一個(gè)候選參考音頻文件,并將所述第一個(gè)與所述目標(biāo)音頻 文件之間具有強(qiáng)相關(guān)性的候選參考音頻文件作為所述參考音頻文件。
[0060] 可選地,所述檢測(cè)子模塊,包括:計(jì)算單元、第一選取單元、獲取單元、第二選取單 元、檢測(cè)單元和確定單元;
[0061] 所述計(jì)算單元,用于計(jì)算所述被選取的候選參考音頻文件與所述目標(biāo)音頻文件之 間的互相關(guān)系數(shù)序列,所述互相關(guān)系數(shù)序列中包含至少一個(gè)互相關(guān)系數(shù);
[0062] 所述第一選取單元,用于從所述互相關(guān)系數(shù)序列中選取互相關(guān)系數(shù)的最大值P。;
[0063] 所述獲取單元,用于獲取所述最大值P。所對(duì)應(yīng)的位置偏差m。;
[0064] 所述第二選取單元,用于根據(jù)所述位置偏差m。在第一位置偏差區(qū)間虹。+nw。, m〇+nwJ和第二位置偏差區(qū)間虹(|-町。,,mn-nimJ所對(duì)應(yīng)的互相關(guān)系數(shù)中選取最大值Pi, 1《化<mmax;
[0065] 所述檢測(cè)單元,用于檢測(cè)所述最大值p。與所述最大值p1之間的比值pe/Pi是否大 于預(yù)設(shè)闊值;
[0066] 所述確定單元,用于當(dāng)所述比值Pa/Pi大于所述預(yù)設(shè)闊值時(shí),確定所述被選取的候 選參考音頻文件與所述目標(biāo)音頻文件之間具有強(qiáng)相關(guān)性。
[0067] 可選地,所述計(jì)算單元,包括;采樣子單元、提取子單元和計(jì)算子單元;
[0068] 所述采樣子單元,用于W預(yù)設(shè)采樣率從所述被選取的候選參考音頻文件中采樣獲 取候選音頻采樣序列,并W所述預(yù)設(shè)采樣率從所述目標(biāo)音頻文件中采樣獲取目標(biāo)音頻采樣 序列;
[0069] 所述提取子單元,用于從所述候選音頻采樣序列和所述目標(biāo)音頻采樣序列的相同 位置處提取預(yù)設(shè)長(zhǎng)度的音頻數(shù)據(jù),分別得到候選音頻數(shù)據(jù)序列和目標(biāo)音頻數(shù)據(jù)序列;
[0070] 所述計(jì)算