本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領域,尤其涉及一種相似音頻數(shù)據(jù)的查找方法及裝置。
背景技術(shù):
隨著終端技術(shù)的不斷開發(fā)和完善,手機、平板電腦等終端設備已經(jīng)成為了人們生活中不可或缺的一部分,用戶可以通過在終端上安裝各種應用程序來實現(xiàn)各種應用功能,從而滿足用戶在日常生活中不同的需求,例如,音樂軟件或k歌軟件。
在現(xiàn)有的音樂軟件或者k歌軟件中,除了常用的下載或播放音樂文件之外,用戶還可以演唱歌曲并將演唱的歌曲進行分享。例如,用戶在通過終端錄制了自己的清唱作品或者包含有相應的歌曲的背景音樂伴奏的演唱作品之后,可以將相應的作品進行上傳,從而使得自己以及其他用戶可以進行查看。因為有大量的用戶都上傳了自己對歌曲的大量的演繹作品,在這大量的演繹作品中,可能存在部分演繹作品之前因為演唱者的個人音域、音色以及演唱技巧的相似,從而使得兩個作品之間的在部分句子或者整首歌曲上較為接近。
在現(xiàn)有技術(shù)中,可以對不同發(fā)演繹作品之間進行歌曲拼接或者演唱分句的替換去得到新的音演繹作品,或者,將與當前用戶的演繹作品較為接近的其他用戶的作品推薦給用戶;但是,在現(xiàn)有的音樂軟件或者k歌軟件中,并不能在大量的演繹作品中準確的查找到與用戶演唱的作品或者其中的演唱分句從音色、音準等各方面都最為相似的其他用戶的演繹作品,也就是說,現(xiàn)有技術(shù)中查找與演繹作品或者演繹分句相似的音頻數(shù)據(jù)的技術(shù)方案存在準備性不足的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種相似音頻數(shù)據(jù)的查找方法,可以從大量的演繹作品中準確的查找與當前的演繹作品或演繹分句相似的音頻數(shù)據(jù),從而提高相似音頻數(shù)據(jù)查找的準確性。
一種相似音頻數(shù)據(jù)的查找方法,包括:
分別獲取第一用戶賬戶以及至少一個第二用戶賬戶下與目標歌曲對應的演繹音頻數(shù)據(jù),所述演繹音頻數(shù)據(jù)包括與所述目標歌曲的多個分句對應的音頻數(shù)據(jù)片段;
提取每個演繹音頻數(shù)據(jù)的每個分句的音頻數(shù)據(jù)片段的基頻數(shù)據(jù),獲取與所述提取到的基頻數(shù)據(jù)對應的音符值序列,確定所述第一用戶賬戶在所述目標分句下的第一音符值序列,以及所述第二用戶賬戶在所述目標分句下的第二音符值序列,計算所述第一音符值序列與所述第二音符值序列之間的音符差值;
提取所述第一用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段的第一特征數(shù)據(jù),以及所述第二用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段的第二特征數(shù)據(jù),計算所述第一特征數(shù)據(jù)與所述第二特征數(shù)據(jù)之間的似然參考值;
根據(jù)所述音符差值和所述似然參考值來計算所述第一用戶賬戶與所述第二用戶賬戶在所述目標分句下的相似度參考值;
根據(jù)所述相似度參考值的大小在所述至少一個第二用戶賬戶的音頻數(shù)據(jù)片段中篩選出與所述第一用戶賬戶對應的在所述目標分句下的相似音頻數(shù)據(jù)片段。
可選的,在其中一個實施例中,所述根據(jù)所述相似度參考值的大小在所述至少一個第二用戶賬戶的音頻數(shù)據(jù)片段中篩選出與所述第一用戶賬戶對應的在所述目標分句下的相似音頻數(shù)據(jù)片段之后還包括:確定與所述目標歌曲對應的至少一個替換分句;將所述第一用戶與所述目標歌曲對應的第一演繹音頻數(shù)據(jù)中與所述替換分句對應的音頻數(shù)據(jù)片段,替換成與所述第一用戶賬戶對應的在所述替換分句下的相似音頻數(shù)據(jù)片段,生成在第一用戶賬戶下與所述目標歌曲對應的替換音頻數(shù)據(jù)。
可選的,在其中一個實施例中,所述計算所述第一音符值序列與所述第二音符值序列之間的音符差值還包括:計算所述第一音符值序列與第二音符值中包含的每一個音符值之間的距離值的和/平均值作為所述第一音符值序列與所述第二音符值序列之間的音符差值。
可選的,在其中一個實施例中,所述提取每個演繹音頻數(shù)據(jù)的每個分句的音頻數(shù)據(jù)片段的基頻數(shù)據(jù),獲取與所述提取到的基頻數(shù)據(jù)對應的音符值序列包括:按照預設幀長和預設幀移分別提取每個演繹音頻數(shù)據(jù)中的每個分句的音頻數(shù)據(jù)片段的基頻數(shù)據(jù),以生成每個演繹音頻數(shù)據(jù)中的各個分句對應的至少一個基頻點;對所述至少一個基頻點中各基頻點的基頻值進行調(diào)整,并將調(diào)整后的所述各基頻點的基頻值轉(zhuǎn)換為所述各基頻點對應的音符值,從而獲取每個分句的不同用戶的音頻數(shù)據(jù)片段的基頻數(shù)據(jù)對應的音符值序列。
可選的,在其中一個實施例中,所述對所述至少一個基頻點中各基頻點的基頻值進行調(diào)整包括:對所述至少一個基頻點中的奇異基頻點的基頻值進行置零處理;對所述各基頻點進行中值濾波處理。
可選的,在其中一個實施例中,所述提取所述第一用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段的第一特征數(shù)據(jù)具體為:通過預設的特征提取算法從所述第一用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段中提取與該音頻數(shù)據(jù)片段對應的第一mfcc特征作為第一特征數(shù)據(jù)。
可選的,在其中一個實施例中,所述提取所述第二用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段的第二特征數(shù)據(jù)具體為:通過所述預設的特征提取算法從所述第二用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段中提取與該音頻數(shù)據(jù)片段對應的第二mfcc特征作為第三特征數(shù)據(jù),并通過預設的訓練模型對所述第三特征數(shù)據(jù)進行訓練得到的數(shù)據(jù)作為第二特征數(shù)據(jù)。
可選的,在其中一個實施例中,所述方法還包括:通過預設的訓練模型對所述第一特征數(shù)據(jù)進行訓練得到的數(shù)據(jù)作為所述第四特征數(shù)據(jù);計算所述第三特征數(shù)據(jù)與所述第四特征數(shù)據(jù)之間的第一似然參考值;計算第一似然參考值、所述第一特征數(shù)據(jù)與所述第二特征數(shù)據(jù)之間的似然參考值的平均值,將所述平均值作為所述似然參考值并對所述似然參考值進行更新。
可選的,在其中一個實施例中,所述計算所述第一特征數(shù)據(jù)與所述第二特征數(shù)據(jù)之間的似然參考值具體為:根據(jù)預設的似然函數(shù)計算所述第一特征數(shù)據(jù)與所述第二特征數(shù)據(jù)之間的似然參考值。
可選的,在其中一個實施例中,所述根據(jù)所述音符差值和所述似然參考值來分別計算所述第一用戶賬戶與所述第二用戶賬戶在所述目標分句下的相似度參考值具體為:獲取預設的加權(quán)系數(shù),根據(jù)所述預設的加權(quán)系數(shù)對所述音符差值以及所述似然參考值進行加權(quán)得到所述相似度參考值,所述音符差值的加權(quán)系數(shù)小于0。
此外,本發(fā)明實施例還提供了一種相似音頻數(shù)據(jù)的查找裝置,可以從大量的演繹作品中準確的查找與當前的演繹作品或演繹分句相似的音頻數(shù)據(jù),從而提高相似音頻數(shù)據(jù)查找的準確性。
一種相似音頻數(shù)據(jù)的查找裝置,包括:
音頻數(shù)據(jù)獲取模塊,用于分別獲取第一用戶賬戶以及至少一個第二用戶賬戶下與目標歌曲對應的演繹音頻數(shù)據(jù),所述演繹音頻數(shù)據(jù)包括與所述目標歌曲的多個分句對應的音頻數(shù)據(jù)片段;
音符差值計算模塊,用于提取每個演繹音頻數(shù)據(jù)的每個分句的音頻數(shù)據(jù)片段的基頻數(shù)據(jù),獲取與所述提取到的基頻數(shù)據(jù)對應的音符值序列,確定所述第一用戶賬戶在所述目標分句下的第一音符值序列,以及所述第二用戶賬戶在所述目標分句下的第二音符值序列,計算所述第一音符值序列與所述第二音符值序列之間的音符差值;
似然參考值計算模塊,用于提取所述第一用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段的第一特征數(shù)據(jù),以及所述第二用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段的第二特征數(shù)據(jù),計算所述第一特征數(shù)據(jù)與所述第二特征數(shù)據(jù)之間的似然參考值;
相似度參考值計算模塊,用于根據(jù)所述音符差值和所述似然參考值來計算所述第一用戶賬戶與所述第二用戶賬戶在所述目標分句下的相似度參考值;
相似音頻數(shù)據(jù)片段篩選模塊,用于根據(jù)所述相似度參考值的大小在所述至少一個第二用戶賬戶的音頻數(shù)據(jù)片段中篩選出與所述第一用戶賬戶對應的在所述目標分句下的相似音頻數(shù)據(jù)片段。
可選的,在其中一個實施例中,所述裝置還包括音頻數(shù)據(jù)片段替換模塊,用于確定與所述目標歌曲對應的至少一個替換分句;將所述第一用戶與所述目標歌曲對應的第一演繹音頻數(shù)據(jù)中與所述替換分句對應的音頻數(shù)據(jù)片段,替換成與所述第一用戶賬戶對應的在所述替換分句下的相似音頻數(shù)據(jù)片段,生成在第一用戶賬戶下與所述目標歌曲對應的替換音頻數(shù)據(jù)。
可選的,在其中一個實施例中,所述音符差值計算模塊還用于計算所述第一音符值序列與第二音符值中包含的每一個音符值之間的距離值的和/平均值作為所述第一音符值序列與所述第二音符值序列之間的音符差值。
可選的,在其中一個實施例中,所述音符差值計算模塊還用于按照預設幀長和預設幀移分別提取每個演繹音頻數(shù)據(jù)中的每個分句的音頻數(shù)據(jù)片段的基頻數(shù)據(jù),以生成每個演繹音頻數(shù)據(jù)中的各個分句對應的至少一個基頻點;對所述至少一個基頻點中各基頻點的基頻值進行調(diào)整,并將調(diào)整后的所述各基頻點的基頻值轉(zhuǎn)換為所述各基頻點對應的音符值,從而獲取每個分句的不同用戶的音頻數(shù)據(jù)片段的基頻數(shù)據(jù)對應的音符值序列。
可選的,在其中一個實施例中,所述音符差值計算模塊還用于對所述至少一個基頻點中的奇異基頻點的基頻值進行置零處理;對所述各基頻點進行中值濾波處理。
可選的,在其中一個實施例中,所述似然參考值計算模塊還用于通過預設的特征提取算法從所述第一用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段中提取與該音頻數(shù)據(jù)片段對應的第一mfcc特征作為第一特征數(shù)據(jù)。
可選的,在其中一個實施例中,所述似然參考值計算模塊還用于通過所述預設的特征提取算法從所述第二用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段中提取與該音頻數(shù)據(jù)片段對應的第二mfcc特征作為第三特征數(shù)據(jù),并通過預設的訓練模型對所述第三特征數(shù)據(jù)進行訓練得到的數(shù)據(jù)作為第二特征數(shù)據(jù)。
可選的,在其中一個實施例中,所述似然參考值計算模塊還用于通過預設的訓練模型對所述第一特征數(shù)據(jù)進行訓練得到的數(shù)據(jù)作為所述第四特征數(shù)據(jù);計算所述第三特征數(shù)據(jù)與所述第四特征數(shù)據(jù)之間的第一似然參考值;計算第一似然參考值、所述第一特征數(shù)據(jù)與所述第二特征數(shù)據(jù)之間的似然參考值的平均值,將所述平均值作為所述似然參考值并對所述似然參考值進行更新。
可選的,在其中一個實施例中,所述似然參考值計算模塊還用于根據(jù)預設的似然函數(shù)計算所述第一特征數(shù)據(jù)與所述第二特征數(shù)據(jù)之間的似然參考值。
可選的,在其中一個實施例中,所述相似度參考值計算模塊還用于獲取預設的加權(quán)系數(shù),根據(jù)所述預設的加權(quán)系數(shù)對所述音符差值以及所述似然參考值進行加權(quán)得到所述相似度參考值,所述音符差值的加權(quán)系數(shù)小于0。
實施本發(fā)明實施例,將具有如下有益效果:
采用了上述相似音頻數(shù)據(jù)的查找方法和裝置之后,針對目標用戶通過終端錄制的演唱作品,可以在其他用戶上傳的所有的演唱作品中,查找與目標用戶的演唱作品中的每一個分句的音頻數(shù)據(jù)片段從音準、音色上都是相似的音頻數(shù)據(jù)片段。也就是說,在查找相似的音頻數(shù)據(jù)時,不僅考慮到了每個音頻數(shù)據(jù)對應的音準是否是一致或者接近的,還考慮了相應的演唱者在音色上是否也是相似的,這就使得查找到的相似的音頻數(shù)據(jù)較之現(xiàn)有技術(shù)中僅考慮音準是否一直的技術(shù)方案來講,查找到的相似的音頻數(shù)據(jù)與目標用戶演繹的音頻數(shù)據(jù)之間更為相似,提高了查找到的相似音頻數(shù)據(jù)與當前的音頻數(shù)據(jù)之間的相似度,提高了相似音頻數(shù)據(jù)查找的準確性。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
其中:
圖1為一個實施例中一種相似音頻數(shù)據(jù)的查找方法的流程示意圖;
圖2為一個實施例中一種相似音頻數(shù)據(jù)的查找裝置的結(jié)構(gòu)示意圖;
圖3為一個實施例中運行前述相似音頻數(shù)據(jù)的查找方法的計算機設備的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
在本發(fā)明實施例中,提供了一種相似音頻數(shù)據(jù)的查找方法,可以從大量的演繹作品中準確的查找與當前的演繹作品或演繹分句相似的音頻數(shù)據(jù),從而提高相似音頻數(shù)據(jù)查找的準確性。具體的,該方法的實現(xiàn)可依賴于計算機程序,該計算機程序可運行于基于馮諾依曼體系的計算機系統(tǒng)之上,該計算機程序可以是音樂播放應用、k歌應用等包含了演唱功能的音樂應用程序,例如,全民k歌應用。該計算機系統(tǒng)可以是運行上述計算機程序的例如智能手機、平板電腦、個人電腦等服務器或終端設備。
需要說明的是,在本實施例中,上述相似音頻數(shù)據(jù)的查找方法的執(zhí)行可以是基于上述音樂應用程序?qū)姆掌鳌?/p>
本發(fā)明實施例適用于任何可以被用戶演唱或演繹的歌曲,以下僅以一首歌曲(即目標歌曲)作為參考進行詳細說明。
如圖1所示,上述相似音頻數(shù)據(jù)的查找方法至少包括如下步驟s102-s110:
步驟s102:分別獲取第一用戶賬戶以及至少一個第二用戶賬戶下與目標歌曲對應的演繹音頻數(shù)據(jù),所述演繹音頻數(shù)據(jù)包括與所述目標歌曲的多個分句對應的音頻數(shù)據(jù)片段。
具體的,在本發(fā)明實施例中,演繹音頻數(shù)據(jù)可以是用戶演唱目標歌曲時通過具有錄音功能的終端設備錄制的音頻數(shù)據(jù),該演繹音頻數(shù)據(jù)可以是只有用戶演唱的清唱音頻數(shù)據(jù),也可以是包括用戶演唱的清唱音頻數(shù)據(jù)以及目標歌曲的伴奏混音等背景音樂的音頻數(shù)據(jù),這里不作具體限定。
其中,目標歌曲中包括多個分句,對于分句的劃分可以通過目標歌曲的歌詞信息來進行劃分,每一句歌詞對應一個分句,每一個分句對應一個音頻數(shù)據(jù)片段。用戶在對目標歌曲演唱完成后,可以將其演唱的演繹音頻數(shù)據(jù)通過終端上安裝的音樂軟件上傳至與該音樂軟件對應的服務器。也就是說,在服務器中存儲有各個用戶上傳的演繹音頻數(shù)據(jù),其他用戶也可以通過向服務器請求來查看其他用戶的演繹音頻數(shù)據(jù)。
在本實施例中,第一用戶賬戶為目標用戶賬戶,在本實施例中,以查找與目標用戶賬戶下演繹目標歌曲的演繹音頻數(shù)據(jù)相似的音頻數(shù)據(jù)為例,查找的目標為第二用戶賬戶針對目標歌曲的演繹音頻數(shù)據(jù)。需要說明的是,在本實施例中,第二用戶賬戶不止一個;例如,第二用戶賬戶可以是所有的用戶賬戶中除了目標用戶賬戶之外的其他所有用戶賬戶,也可以是其他所有用戶賬戶中的部分用戶賬戶,例如,除目標用戶賬戶之外的所有的性別標識為“女”的所有用戶賬戶。
步驟s104:提取每個演繹音頻數(shù)據(jù)的每個分句的音頻數(shù)據(jù)片段的基頻數(shù)據(jù),獲取與所述提取到的基頻數(shù)據(jù)對應的音符值序列,確定所述第一用戶賬戶在所述目標分句下的第一音符值序列,以及所述第二用戶賬戶在所述目標分句下的第二音符值序列,計算所述第一音符值序列與所述第二音符值序列之間的音符差值。
具體的,針對上述與目標歌曲對應的第一用戶賬戶的演繹音頻數(shù)據(jù)以及第二用戶賬戶的演繹音頻數(shù)據(jù)下每個分居所對應的音頻數(shù)據(jù)片段,分別提取每一個音頻數(shù)據(jù)片段對應的基頻數(shù)據(jù),然后根據(jù)這個基頻數(shù)據(jù)獲取閾值對應的音符值序列。其中,基頻數(shù)據(jù)可以是音頻數(shù)據(jù)片段的基音,用于決定音頻數(shù)據(jù)片段中各個音頻的高音,其中,音符值指的是針對midi(musicalinstrumentdigitalinterface)樂器數(shù)字接口的一種標準值。
在一個具體的實施例中,上述提取每個演繹音頻數(shù)據(jù)的每個分句的音頻數(shù)據(jù)片段的基頻數(shù)據(jù),獲取與所述提取到的基頻數(shù)據(jù)對應的音符值序列包括:按照預設幀長和預設幀移分別提取每個演繹音頻數(shù)據(jù)中的每個分句的音頻數(shù)據(jù)片段的基頻數(shù)據(jù),以生成每個演繹音頻數(shù)據(jù)中的各個分句對應的至少一個基頻點;所述至少一個基頻點中各基頻點的基頻值進行調(diào)整,并將調(diào)整后的所述各基頻點的基頻值轉(zhuǎn)換為所述各基頻點對應的音符值,從而獲取每個分句的不同用戶的音頻數(shù)據(jù)片段的基頻數(shù)據(jù)對應的音符值序列。
例如,可以預設幀長為30ms,幀移為10ms,采集每個用戶演繹的每個分句的音頻數(shù)據(jù)片段的基頻數(shù)據(jù),從而每個用戶演繹的每個分句都對應存在至少一個基頻點。對上述至少一個基頻點進行除噪、平滑等處理,然后將調(diào)整后的各基頻點的基頻值轉(zhuǎn)換為各基頻點對應的音符值,則每個用戶演繹的每個分句對應至少一個基頻點,至少一個基頻點對應了至少一個音符值,上述至少一個音符值就構(gòu)成了相應的音符值序列,從而就獲取到了各個分句的不用用戶的音頻數(shù)據(jù)片段的基頻數(shù)據(jù)所對應的音符值序列。
在一種可能的實施場景中,可以采用預設音符轉(zhuǎn)換公式,并根據(jù)調(diào)整后的所述各基頻點的基頻值,計算各基頻點的音符值。其中,預設音符轉(zhuǎn)換公式可以為:
其中,mi表示為當前基頻點的音符值,xi表示為當前基頻點的基頻值,p表示音符值序列的長度。
另外,設m表示為音符值序列,x表示為基頻數(shù)據(jù)中由基頻點的基頻值構(gòu)成的基頻值序列時,上述預設的音符轉(zhuǎn)換公式可以標識為:
需要說明的是,對至少一個基頻點中各基頻點的基頻值進行調(diào)整時,可以是對至少一個基頻點中的奇異基頻點的基頻值進行置零處理。例如,如果一個非0基頻點的前后基頻值均為0,則將此基頻點記為0;還可以是對連續(xù)的幾個基頻點進行中值濾波處理,通過中值濾波處理(例如,5點中值濾波),可以使得基頻段曲線平滑,避免噪點的出現(xiàn)。
可選的,在一個實施例中,在提取各用戶演繹的各個分句的音頻數(shù)據(jù)片段的基頻數(shù)據(jù)之前,還可以先對每個音頻數(shù)據(jù)片段按照預設的格式進行規(guī)整,例如,可以規(guī)整為16k16bit的pcm格式。
在確定了目標歌曲的每一個分句下第一用戶賬戶以及第二用戶賬戶所對應的音符值序列之后,即可計算第一用戶賬戶與第二用戶賬戶在目標分句下的音符差值,即第一用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段與第二用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段在音符值上的區(qū)別。
在一個具體的實施例中,以目標分句為目標歌曲的第k個分句為例,用于各個用戶賬戶所對應的用戶所演唱的是同義句,所以其對應的音頻數(shù)據(jù)片段的長度時一樣的,即對應的基頻數(shù)據(jù)中包含的基頻值的數(shù)目是相同的,因此每個用戶在上述第k個分句下的音符值序列的長度時一致的,即音符值中包含的音符值分量的數(shù)目是相同的。設第k個分句的長度為p,意味著第k個分句有p幀,或,第k個分句對應的音符值序列包含了p個音符值。
設第一用戶賬戶下演繹第k個分句的音符值序列為m1k=(m1k1,m1k2,…,m1kp),第二用戶賬戶下演繹第k個分句的音符值序列為m2k=(m2k1,m2k2,…,m2kp),在計算m1k與m2k之間的差值時,是通過預設的音符差值計算公式得到的。
例如,在一個實施例中,音符差值的計算可以是通過計算m1k與m2k的每個音符值分量之間的差值的絕對值的和得到的,即預設的音符差值計算公式如下:
其中s1k2表示第k個分句的第一音符序列與第二音符序列之間的音符差值。
再例如,在另一個可選的實施例中,上述音符差值的計算還可以是通過計算m1k與m2k的每個音符值分量之間的差值的絕對值的平均值得到的,即預設的音符差值計算公式如下:
需要說明的是,音符差值表示的是兩個用戶在演繹同一個分句時音調(diào)的差異情況,并且,音符差值越小,說明相應的兩個用戶的演繹之間的音調(diào)差異越小,反之,音符差值越大,說明相應的兩個用戶的演繹之間的音調(diào)差異越大。
步驟s106:提取所述第一用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段的第一特征數(shù)據(jù),以及所述第二用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段的第二特征數(shù)據(jù),計算所述第一特征數(shù)據(jù)與所述第二特征數(shù)據(jù)之間的似然參考值。
在本實施例中,針對第一用戶賬戶演繹目標分句所對應的音頻數(shù)據(jù)片段,以及第二用戶賬戶演繹目標分句所對應的音頻數(shù)據(jù)片段,分別按照預設的特征提取算法,提取相應的特征數(shù)據(jù)。需要說明的是,在本實施例中,預設的特征提取算法可以是已知的音色特征提取算法,例如,mfcc(梅爾倒譜系數(shù),mel-scalefrequencycepstralcoefficients)特征提取算法提取音頻數(shù)據(jù)對應的靜態(tài)mfcc特征。
具體的,在一個具體的實施例中,上述提取所述第一用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段的第一特征數(shù)據(jù)具體為:通過預設的特征提取算法從所述第一用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段中提取與該音頻數(shù)據(jù)片段對應的第一mfcc特征作為第一特征數(shù)據(jù)。
首先針對第一用戶賬戶演繹第k個分句的音頻數(shù)據(jù)片段a1k按照預設幀長和預設幀移進行分幀處理,得到分幀后的音頻幀數(shù)據(jù)
y1k={y1k1,y1k2,…,y1kp},
其中,p為音頻幀數(shù)據(jù)y1k的長度,即幀數(shù)。
然后針對每一個音頻幀數(shù)據(jù)分量,通過對每一個音頻幀數(shù)據(jù)分量y1ki進行離散傅里葉變換、取模平方、三角帶通濾波器進行濾波、取對數(shù)、離散余弦變換,最后得到與y1ki對應的mfcc特征λ1ki,即音頻數(shù)據(jù)片段a1k的mfcc特征可以表示為:
λ1k={λ1k1,λ1k2,…,λ1kp}。
進一步的,針對第二用戶賬戶對應的用戶演繹第k個分句的音頻數(shù)據(jù)片段a2k按照預設幀長和預設幀移進行分幀處理,得到分幀后的音頻幀數(shù)據(jù)
y2k={y2k1,y2k2,…,y2kp},
其中,p為音頻幀數(shù)據(jù)y2k的長度,即幀數(shù)。
然后針對每一個音頻幀數(shù)據(jù)分量,通過對每一個音頻幀數(shù)據(jù)分量y2ki進行離散傅里葉變換、取模平方、三角帶通濾波器進行濾波、取對數(shù)、離散余弦變換,最后得到與y2ki對應的mfcc特征λ2ki,即音頻數(shù)據(jù)片段a2k的mfcc特征可以表示為:
λ2k={λ2k1,λ2k2,…,λ2kp}。
需要說明的是,在本實施例中,mfcc特征λ1ki或λ2ki可以是多維的數(shù)組或向量,例如,可以是13維的向量,又或者是對13維的mfcc特征向量計一階差分以及二階差分之后得到的39維特征序列。
在本實施例中,在計算第一用戶賬戶演繹第k個分句的音頻數(shù)據(jù)片段a1k與第二用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段之間a2k的似然參考值q1k2時,可以通過計算與a1k以及a2k分別對應的mfcc特征λ1k以及λ2k之間的似然值來進行計算。
進一步的,在一個可選的實施中,上述計算第一特征數(shù)據(jù)與第二特征數(shù)據(jù)之間的似然參考值具體為:根據(jù)預設的似然函數(shù)計算第一特征數(shù)據(jù)與第二特征數(shù)據(jù)之間的似然參考值。需要說明的是,在本實施例中,預設的似然函數(shù)可以是任意的已知的似然函數(shù),在此處不做具體的限定。
在計算提取音頻數(shù)據(jù)片段的特征數(shù)據(jù)時,除了提取音頻數(shù)據(jù)片段的mfcc特征之外,還可以采用其他特征提取方式,例如,對提取到的mfcc特征進行進一步的處理。
具體的,在一個具體的實施例中,上述提取所述第二用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段的第二特征數(shù)據(jù)具體為:通過所述預設的特征提取算法從所述第二用戶賬戶在所述目標分句下的音頻數(shù)據(jù)片段中提取與該音頻數(shù)據(jù)片段對應的第二mfcc特征作為第三特征數(shù)據(jù),并通過預設的訓練模型對所述第三特征數(shù)據(jù)進行訓練得到的數(shù)據(jù)作為新的與該音頻數(shù)據(jù)片段對應的特征數(shù)據(jù)。
例如,第二用戶賬戶演繹第k個分句的音頻數(shù)據(jù)片段a2k中所提取到的mfcc特征數(shù)據(jù)為λ2k={λ2k1,λ2k2,…,λ2kp},對進行高斯模型訓練,采用em算法(expectationmaximizationalgorithm,即最大期望算法,也稱期望最大化算法)訓練256維混合高斯模型,得到的特征數(shù)據(jù)為η2k={η2k1,η2k2,…,η2kp}(即第三特征數(shù)據(jù)),其中,η2ki與λ2ki是對應的。
在計算第一用戶賬戶演繹第k個分句的音頻數(shù)據(jù)片段a1k與第二用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段之間a2k的似然參考值q1k2時,可以通過計算與a1k對應的mfcc特征λ1k與a2k對應的第三特征數(shù)據(jù)η2k之間的似然值來進行計算。
進一步的,為了提高計算的似然參考值q1k2的準確性,在另一個實施例中,在提取特征數(shù)據(jù)時,還需要進一步的提取第一用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段的mfcc特征的進一步特征。即,通過預設的訓練模型對所述第一特征數(shù)據(jù)進行訓練得到的數(shù)據(jù)作為所述第四特征數(shù)據(jù)。
也就是說,第一用戶賬戶演繹第k個分句的音頻數(shù)據(jù)片段a1k中所提取到的mfcc特征數(shù)據(jù)為λ1k={λ1k1,λ1k2,…,λ1kp},對進行高斯模型訓練,采用em算法訓練256維混合高斯模型,得到的特征數(shù)據(jù)為η1k={η1k1,η1k2,…,η1kp}(即第四特征數(shù)據(jù)),其中,η1ki與λ1ki是對應的。
在一個實施例中,似然參考值的計算方法可以如下:計算λ1k與λ2k之間的似然值,并記為
在另一個實施例中,先計算λ1k與η2k之間的似然值,并記為q1k2,然后計算λ2k與η1k之間的似然值,并記為q2k1,最后通過上述q1k2以及q2k1來計算第一用戶賬戶演繹第k個分句的音頻數(shù)據(jù)片段a1k與第二用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段之間a2k的似然參考值q1k2,例如,q1k2可以是q1k2和q2k1的平均值,即:
需要說明的是,在本實施例中,似然參考值越大,說明第一用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段與第二用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段之間的音色越接近,反之,似然參考值越小,說明第一用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段與第二用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段之間的音色差異越大。
步驟s108:根據(jù)所述音符差值和所述似然參考值來計算所述第一用戶賬戶與所述第二用戶賬戶在所述目標分句下的相似度參考值。
在通過上述步驟計算得到第一用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段與第二用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段之間音符差值以及似然參考值之后,即可根據(jù)二者之間的音符差值以及似然參考值計算二者之間的相似度參考值。
例如,在一個實施例中,根據(jù)預設的相似度參考值計算公式,以音符差值、似然參考值作為自變量,計算與之對應的相似度參考值。
再例如,在一個實施例中,相似度參考值可以是音符差值和似然參考值的加權(quán)平均值。需要說明的是,因為音符差值是越小表示第一用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段與第二用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段之間的音調(diào)差異越小,而似然參考值是越大則表是第一用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段與第二用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段之間的音色相似度越高,因此,在計算音符差值與似然參考值的加權(quán)平均值時,音符差值的加權(quán)系數(shù)為負數(shù),而似然參考值的加權(quán)系數(shù)為正數(shù),最終得到的相似度參考值越大,第一用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段與第二用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段之間的差別越小,而相似度參考值越小,則說明第一用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段與第二用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段的差異越大。
記第一用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段與第二用戶賬戶演繹目標歌曲的第k個分句的音頻數(shù)據(jù)片段之間的相似度參考值為t1k2,可以由如下相似度參考值計算公式計算得到:
t1k2=α·q1k2-β·s1k2,α>0,β>0
其中,α,β為預設的系數(shù)。
步驟s110:根據(jù)所述相似度參考值的大小在所述至少一個第二用戶賬戶的音頻數(shù)據(jù)片段中篩選出與所述第一用戶賬戶對應的在所述目標分句下的相似音頻數(shù)據(jù)片段。
相似度參考值代表的是相應的第二用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段與第一用戶賬戶對應的用戶演繹目標分句的音頻數(shù)據(jù)片段的相似程度,因此,根據(jù)相似度參考值,可以在所有的第二用戶賬戶下與目標分句對應的音頻數(shù)據(jù)片段中篩選中與第一用戶賬戶演繹目標分句的音頻數(shù)據(jù)片段最為接近的一個或者多個音頻數(shù)據(jù)片段作為相似音頻數(shù)據(jù)片段。
需要說明的是,在本實施例中,與第一用戶賬戶對應的在目標分句下的相似音頻數(shù)據(jù)片段的數(shù)量可以是一個,也可以是多個。例如,相似音頻數(shù)據(jù)片段的數(shù)量可以是任意的預設數(shù)量。
在一個具體的實施例中,可以根據(jù)相似度參考值針對所有的第二用戶賬戶在目標分句下的音頻數(shù)據(jù)片段進行排序,然后獲取排序前n個音頻數(shù)據(jù)片段作為相似音頻數(shù)據(jù)片段,其中,n為預先設置的數(shù)量常數(shù)。
進一步的,相似音頻數(shù)據(jù)片段不僅可以是相似度參考值排在前n所對應的音頻數(shù)據(jù)片段,還可以是相似度參考值滿足預設條件的所有的音頻數(shù)據(jù)片段,例如,將相似度參考值大于80%的所有的音頻數(shù)據(jù)片段作為相似音頻數(shù)據(jù)片段。
需要說明的是,在上述相似音頻數(shù)據(jù)的查找方法中,給出了如何找到與目標用戶演繹目標分句的音頻數(shù)據(jù)片段相似的相似音頻數(shù)據(jù)片段的操作過程和操作方法,因為找到的相似音頻數(shù)據(jù)片段與目標用戶演繹目標分句的音頻數(shù)據(jù)片段之間是極為相似的,對于部分用戶來講,可能在聽的過程中無法分辨或者很難分辨出二者的區(qū)別,因此,在本實施例中,可以將目標用戶演繹目標歌曲中與目標分句對應的音頻數(shù)據(jù)片段替換成相似音頻數(shù)據(jù)片段,從而得到新的音頻數(shù)據(jù)。
具體的,在一個可選的實施例中,上述根據(jù)相似度參考值的大小在至少一個第二用戶賬戶的音頻數(shù)據(jù)片段中篩選出與第一用戶賬戶對應的在目標分句下的相似音頻數(shù)據(jù)片段之后還包括:確定與目標歌曲對應的至少一個替換分句;將第一用戶與目標歌曲對應的第一演繹音頻數(shù)據(jù)中與替換分句對應的音頻數(shù)據(jù)片段,替換成與第一用戶賬戶對應的在替換分句下的相似音頻數(shù)據(jù)片段,生成在第一用戶賬戶下與目標歌曲對應的替換音頻數(shù)據(jù)。
在生成新的替換音頻數(shù)據(jù)時,首先需要確定將原目標歌曲中的那些分句所對應的音頻數(shù)據(jù)片段替換成其他用戶賬戶對應的相似音頻數(shù)據(jù)片段,即確定替換分句具體為哪些分句。
在一個可選的實施例中,替換分句的確定可以是通過用戶手動選擇輸入的,例如,用戶覺得自己某一句唱的不夠好,可選擇將該分句進行替換;在另一個可選的實施例中,替換分句的確定可以是服務器隨機選擇的,并且,替換分句的數(shù)量大于等于1,且小于原目標歌曲的分句總數(shù)量的一半。
在確定替換分句之后,即可通過上述步驟s102-s110確定與第一用戶賬戶演繹每一個替換分句的音頻數(shù)據(jù)分句相似的相似音頻數(shù)據(jù)片段。若與某一個替換分句對應的相似音頻數(shù)據(jù)片段的數(shù)量不止一個,可以將相似度參考值最大的相似度參考值所對應的相似音頻數(shù)據(jù)片段作為與該替換分句對應的目標相似音頻數(shù)據(jù)片段,或者,從多個相似音頻數(shù)據(jù)片段中隨機挑選一個作為與該替換分句對應的目標相似音頻數(shù)據(jù)片段。
最后,將第一用戶賬戶演繹目標歌曲的演繹音頻數(shù)據(jù)中與所有的替換分句對應的音頻數(shù)據(jù)片段,替換成相應的目標相似音頻數(shù)據(jù)片段,最終生成新的與目標歌曲對應的替換音頻數(shù)據(jù)。
例如,針對目標用戶針對目標歌曲的演繹音頻數(shù)據(jù)為a,第k個分句為替換分句,現(xiàn)在需要將第k個分句所對應的音頻數(shù)據(jù)片段ak替換成與之對應的相似音頻數(shù)據(jù)片段,若通過上述方法最終確定的與ak對應的相似音頻數(shù)據(jù)片段為
需要說明的是,在另一個可選的實施例中,在進行音頻數(shù)據(jù)片段的替換之前,還需要對音頻數(shù)據(jù)片段進行能量規(guī)整。
具體的,記第k個分句的采樣點個數(shù)為l,則ak={ak1,ak2,…,akl},
其中,a′ki為對
在本實施例中,將某一個演繹音頻數(shù)據(jù)中的部分音頻數(shù)據(jù)片段進行替換后得到新的替換音頻數(shù)據(jù)可以用于音樂軟件中的“聽覺辨識”功能,即將替換音頻數(shù)據(jù)播放給原演繹音頻數(shù)據(jù)所對應的用戶試聽,由該用戶判斷其中的哪一些分句是被替換成其他用戶的音頻數(shù)據(jù)的。
具體的,在播放替換音頻數(shù)據(jù)時,以分句的形式進行播放,在每個分句所對應的音頻數(shù)據(jù)片段被播放時,用戶可以通過終端輸入判斷操作,即判斷當前播放的音頻數(shù)據(jù)片段是否為其他用戶演繹的。
在替換音頻數(shù)據(jù)播放完畢之后,根據(jù)用戶輸入的所有的判斷操作,確定每一個判斷操作是否正確,并按照預設的評價公式,給出相應的評價值,例如,在評價值為100分時,給予該用戶賬戶“聽覺達人”的稱號。
在另一個實施例中,還可以將生成替換音頻數(shù)據(jù)的過程中替換的相似音頻數(shù)據(jù)片段對應的用戶賬戶推薦給當前用戶賬戶,例如,當前用戶賬戶可以選擇與推薦的用戶賬戶進行合唱演繹新的音頻數(shù)據(jù)。
此外,在本發(fā)明實施例中,還提供了一種相似音頻數(shù)據(jù)的查找裝置,可以從大量的演繹作品中準確的查找與當前的演繹作品或演繹分句相似的音頻數(shù)據(jù),從而提高相似音頻數(shù)據(jù)查找的準確性。具體的,如圖2所示,上述相似音頻數(shù)據(jù)的查找裝置包括音頻數(shù)據(jù)獲取模塊102、音符差值計算模塊104、似然參考值計算模塊106、相似度參考值計算模塊108以及相似音頻數(shù)據(jù)片段篩選模塊110,其中:
音頻數(shù)據(jù)獲取模塊102,用于分別獲取第一用戶賬戶以及至少一個第二用戶賬戶下與目標歌曲對應的演繹音頻數(shù)據(jù),演繹音頻數(shù)據(jù)包括與目標歌曲的多個分句對應的音頻數(shù)據(jù)片段;
音符差值計算模塊104,用于提取每個演繹音頻數(shù)據(jù)的每個分句的音頻數(shù)據(jù)片段的基頻數(shù)據(jù),獲取與提取到的基頻數(shù)據(jù)對應的音符值序列,確定第一用戶賬戶在目標分句下的第一音符值序列,以及第二用戶賬戶在目標分句下的第二音符值序列,計算第一音符值序列與第二音符值序列之間的音符差值;
似然參考值計算模塊106,用于提取第一用戶賬戶在目標分句下的音頻數(shù)據(jù)片段的第一特征數(shù)據(jù),以及第二用戶賬戶在目標分句下的音頻數(shù)據(jù)片段的第二特征數(shù)據(jù),計算第一特征數(shù)據(jù)與第二特征數(shù)據(jù)之間的似然參考值;
相似度參考值計算模塊108,用于根據(jù)音符差值和似然參考值來計算第一用戶賬戶與第二用戶賬戶在目標分句下的相似度參考值;
相似音頻數(shù)據(jù)片段篩選模塊110,用于根據(jù)相似度參考值的大小在至少一個第二用戶賬戶的音頻數(shù)據(jù)片段中篩選出與第一用戶賬戶對應的在目標分句下的相似音頻數(shù)據(jù)片段。
可選的,在一個實施例中,如圖2所示,上述裝置還包括音頻數(shù)據(jù)片段替換模塊112,用于確定與目標歌曲對應的至少一個替換分句;將第一用戶與目標歌曲對應的第一演繹音頻數(shù)據(jù)中與替換分句對應的音頻數(shù)據(jù)片段,替換成與第一用戶賬戶對應的在替換分句下的相似音頻數(shù)據(jù)片段,生成在第一用戶賬戶下與目標歌曲對應的替換音頻數(shù)據(jù)。
可選的,在一個實施例中,音符差值計算模塊104還用于計算第一音符值序列與第二音符值中包含的每一個音符值之間的距離值的和/平均值作為第一音符值序列與第二音符值序列之間的音符差值。
可選的,在一個實施例中,音符差值計算模塊104還用于按照預設幀長和預設幀移分別提取每個演繹音頻數(shù)據(jù)中的每個分句的音頻數(shù)據(jù)片段的基頻數(shù)據(jù),以生成每個演繹音頻數(shù)據(jù)中的各個分句對應的至少一個基頻點;對至少一個基頻點中各基頻點的基頻值進行調(diào)整,并將調(diào)整后的各基頻點的基頻值轉(zhuǎn)換為各基頻點對應的音符值,從而獲取每個分句的不同用戶的音頻數(shù)據(jù)片段的基頻數(shù)據(jù)對應的音符值序列。
可選的,在一個實施例中,音符差值計算模塊104還用于對至少一個基頻點中的奇異基頻點的基頻值進行置零處理;對各基頻點進行中值濾波處理。
可選的,在一個實施例中,似然參考值計算模塊106還用于通過預設的特征提取算法從第一用戶賬戶在目標分句下的音頻數(shù)據(jù)片段中提取與該音頻數(shù)據(jù)片段對應的第一mfcc特征作為第一特征數(shù)據(jù)。
可選的,在一個實施例中,似然參考值計算模塊106還用于通過預設的特征提取算法從第二用戶賬戶在目標分句下的音頻數(shù)據(jù)片段中提取與該音頻數(shù)據(jù)片段對應的第二mfcc特征作為第三特征數(shù)據(jù),并通過預設的訓練模型對第三特征數(shù)據(jù)進行訓練得到的數(shù)據(jù)作為第二特征數(shù)據(jù)。
可選的,在一個實施例中,似然參考值計算模塊106還用于通過預設的訓練模型對第一特征數(shù)據(jù)進行訓練得到的數(shù)據(jù)作為第四特征數(shù)據(jù);計算第三特征數(shù)據(jù)與第四特征數(shù)據(jù)之間的第一似然參考值;計算第一似然參考值、第一特征數(shù)據(jù)與第二特征數(shù)據(jù)之間的似然參考值的平均值,將平均值作為似然參考值并對似然參考值進行更新。
可選的,在一個實施例中,似然參考值計算模塊106還用于根據(jù)預設的似然函數(shù)計算第一特征數(shù)據(jù)與第二特征數(shù)據(jù)之間的似然參考值。
可選的,在一個實施例中,相似度參考值計算模塊108還用于獲取預設的加權(quán)系數(shù),根據(jù)預設的加權(quán)系數(shù)對音符差值以及似然參考值進行加權(quán)得到相似度參考值,音符差值的加權(quán)系數(shù)小于0。
實施本發(fā)明實施例,將具有如下有益效果:
采用了上述相似音頻數(shù)據(jù)的查找方法和裝置之后,針對目標用戶通過終端錄制的演唱作品,可以在其他用戶上傳的所有的演唱作品中,查找與目標用戶的演唱作品中的每一個分句的音頻數(shù)據(jù)片段從音準、音色上都是相似的音頻數(shù)據(jù)片段。也就是說,在查找相似的音頻數(shù)據(jù)時,不僅考慮到了每個音頻數(shù)據(jù)對應的音準是否是一致或者接近的,還考慮了相應的演唱者在音色上是否也是相似的,這就使得查找到的相似的音頻數(shù)據(jù)較之現(xiàn)有技術(shù)中僅考慮音準是否一直的技術(shù)方案來講,查找到的相似的音頻數(shù)據(jù)與目標用戶演繹的音頻數(shù)據(jù)之間更為相似,提高了查找到的相似音頻數(shù)據(jù)與當前的音頻數(shù)據(jù)之間的相似度,提高了相似音頻數(shù)據(jù)查找的準確性。
在一個實施例中,如圖3所示,圖3展示了一種運行上述相似音頻數(shù)據(jù)的查找方法的基于馮諾依曼體系的計算機系統(tǒng)的終端。該計算機系統(tǒng)可以是智能手機、平板電腦、掌上電腦、筆記本電腦或個人電腦等終端設備。具體的,可包括通過系統(tǒng)總線連接的外部輸入接口1001、處理器1002、存儲器1003和輸出接口1004。其中,外部輸入接口1001可選的可至少包括網(wǎng)絡接口10012。存儲器1003可包括外存儲器10032(例如硬盤、光盤或軟盤等)和內(nèi)存儲器10034。輸出接口1004可至少包括顯示屏10042等設備。
在本實施例中,本方法的運行基于計算機程序,該計算機程序的程序文件存儲于前述基于馮諾依曼體系的計算機系統(tǒng)的外存儲器10032中,在運行時被加載到內(nèi)存儲器10034中,然后被編譯為機器碼之后傳遞至處理器1002中執(zhí)行,從而使得基于馮諾依曼體系的計算機系統(tǒng)中形成邏輯上的音頻數(shù)據(jù)獲取模塊102、音符差值計算模塊104、似然參考值計算模塊106、相似度參考值計算模塊108、相似音頻數(shù)據(jù)片段篩選模塊110以及音頻數(shù)據(jù)片段替換模塊112。且在上述相似音頻數(shù)據(jù)的查找方法執(zhí)行過程中,輸入的參數(shù)均通過外部輸入接口1001接收,并傳遞至存儲器1003中緩存,然后輸入到處理器1002中進行處理,處理的結(jié)果數(shù)據(jù)或緩存于存儲器1003中進行后續(xù)地處理,或被傳遞至輸出接口1004進行輸出。
具體的,所述處理器1002用于執(zhí)行如下操作:
分別獲取第一用戶賬戶以及至少一個第二用戶賬戶下與目標歌曲對應的演繹音頻數(shù)據(jù),演繹音頻數(shù)據(jù)包括與目標歌曲的多個分句對應的音頻數(shù)據(jù)片段;
提取每個演繹音頻數(shù)據(jù)的每個分句的音頻數(shù)據(jù)片段的基頻數(shù)據(jù),獲取與提取到的基頻數(shù)據(jù)對應的音符值序列,確定第一用戶賬戶在目標分句下的第一音符值序列,以及第二用戶賬戶在目標分句下的第二音符值序列,計算第一音符值序列與第二音符值序列之間的音符差值;
提取第一用戶賬戶在目標分句下的音頻數(shù)據(jù)片段的第一特征數(shù)據(jù),以及第二用戶賬戶在目標分句下的音頻數(shù)據(jù)片段的第二特征數(shù)據(jù),計算第一特征數(shù)據(jù)與第二特征數(shù)據(jù)之間的似然參考值;
根據(jù)音符差值和似然參考值來計算第一用戶賬戶與第二用戶賬戶在目標分句下的相似度參考值;
根據(jù)相似度參考值的大小在至少一個第二用戶賬戶的音頻數(shù)據(jù)片段中篩選出與第一用戶賬戶對應的在目標分句下的相似音頻數(shù)據(jù)片段。
可選的,在一個實施例中,處理器1002還用于執(zhí)行確定與目標歌曲對應的至少一個替換分句;將第一用戶與目標歌曲對應的第一演繹音頻數(shù)據(jù)中與替換分句對應的音頻數(shù)據(jù)片段,替換成與第一用戶賬戶對應的在替換分句下的相似音頻數(shù)據(jù)片段,生成在第一用戶賬戶下與目標歌曲對應的替換音頻數(shù)據(jù)。
可選的,在一個實施例中,處理器1002還用于執(zhí)行計算第一音符值序列與第二音符值中包含的每一個音符值之間的距離值的和/平均值作為第一音符值序列與第二音符值序列之間的音符差值。
可選的,在一個實施例中,處理器1002還用于執(zhí)行按照預設幀長和預設幀移分別提取每個演繹音頻數(shù)據(jù)中的每個分句的音頻數(shù)據(jù)片段的基頻數(shù)據(jù),以生成每個演繹音頻數(shù)據(jù)中的各個分句對應的至少一個基頻點;對至少一個基頻點中各基頻點的基頻值進行調(diào)整,并將調(diào)整后的各基頻點的基頻值轉(zhuǎn)換為各基頻點對應的音符值,從而獲取每個分句的不同用戶的音頻數(shù)據(jù)片段的基頻數(shù)據(jù)對應的音符值序列。
可選的,在一個實施例中,處理器1002還用于執(zhí)行對至少一個基頻點中的奇異基頻點的基頻值進行置零處理;對各基頻點進行中值濾波處理。
可選的,在一個實施例中,處理器1002還用于執(zhí)行通過預設的特征提取算法從第一用戶賬戶在目標分句下的音頻數(shù)據(jù)片段中提取與該音頻數(shù)據(jù)片段對應的第一mfcc特征作為第一特征數(shù)據(jù)。
可選的,在一個實施例中,處理器1002還用于執(zhí)行通過預設的特征提取算法從第二用戶賬戶在目標分句下的音頻數(shù)據(jù)片段中提取與該音頻數(shù)據(jù)片段對應的第二mfcc特征作為第三特征數(shù)據(jù),并通過預設的訓練模型對第三特征數(shù)據(jù)進行訓練得到的數(shù)據(jù)作為第二特征數(shù)據(jù)。
可選的,在一個實施例中,處理器1002還用于執(zhí)行通過預設的訓練模型對第一特征數(shù)據(jù)進行訓練得到的數(shù)據(jù)作為第四特征數(shù)據(jù);計算第三特征數(shù)據(jù)與第四特征數(shù)據(jù)之間的第一似然參考值;計算第一似然參考值、第一特征數(shù)據(jù)與第二特征數(shù)據(jù)之間的似然參考值的平均值,將平均值作為似然參考值并對似然參考值進行更新。
可選的,在一個實施例中,處理器1002還用于執(zhí)行根據(jù)預設的似然函數(shù)計算第一特征數(shù)據(jù)與第二特征數(shù)據(jù)之間的似然參考值。
可選的,在一個實施例中,處理器1002還用于執(zhí)行獲取預設的加權(quán)系數(shù),根據(jù)預設的加權(quán)系數(shù)對音符差值以及似然參考值進行加權(quán)得到相似度參考值,音符差值的加權(quán)系數(shù)小于0。
以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。