亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種音頻排序方法和裝置與流程

文檔序號:12364093閱讀:518來源:國知局
一種音頻排序方法和裝置與流程

本發(fā)明涉及音頻技術(shù)領域,具體涉及一種音頻排序方法和裝置。



背景技術(shù):

用戶唱歌評價功能已經(jīng)在業(yè)界多個音樂產(chǎn)品中亮相,該功能增加了音樂產(chǎn)品的多樣性以及提升了用戶體驗。

目前用戶唱歌評價功能主要涉及到音頻排序技術(shù),系統(tǒng)或者服務器在對音頻排序后,會基于音頻排序結(jié)果生成評價信息,如分數(shù)、排名等。在現(xiàn)有技術(shù)中,一般的音頻排序方式為:預先制作好歌曲原唱的音頻或者演唱特征文件上傳并保存至服務器,此文件中可能包含音高、節(jié)奏、歌詞等特征,當用戶在線演唱后,服務器獲取用戶演唱的音頻,并從該音頻中提取相應的用戶演唱特征,接著將該用戶演唱特征與預先制作好的特征進行對比,得到特征對比結(jié)果,最后根據(jù)特征對比結(jié)果進行排序。

在對現(xiàn)有技術(shù)的研究和實踐過程中,本發(fā)明的發(fā)明人發(fā)現(xiàn),現(xiàn)有音頻排序方式需要預先上傳并保存歌曲原唱的音頻或者演唱特征文件至服務器,會占用服務器的存儲空間,導致服務器的可用存儲空間較小,尤其是服務器在面臨海量歌曲原唱的演唱特征文件時,表現(xiàn)更為嚴重。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例提供一種音頻排序方法和裝置,可以增大服務器的可用存儲空間。

本發(fā)明實施例提供一種音頻排序方法,包括:

接收音頻排序請求,所述音頻排序請求指示需要音頻排序的目標歌曲;

根據(jù)所述音頻排序請求獲取目標歌曲對應的多個音頻,以得到音頻集合;

提取所述音頻集合內(nèi)所述音頻對應的基頻,并獲取所述音頻集合內(nèi)所述音頻之間的基頻差值;

根據(jù)所述基頻差值對所述音頻集合內(nèi)的音頻進行排序。

相應的,本發(fā)明實施例還提供一種音頻排序裝置,包括:

接收單元,用于接收音頻排序請求,所述音頻排序請求指示需要音頻排序的目標歌曲;

音頻獲取單元,用于根據(jù)所述音頻排序請求獲取目標歌曲對應的多個音頻,以得到音頻集合;

基頻處理單元,用于提取所述音頻集合內(nèi)所述音頻對應的基頻,并獲取所述音頻集合內(nèi)所述音頻之間的基頻差值;

排序單元,用于根據(jù)所述基頻差值對所述音頻集合內(nèi)的音頻進行排序。

本發(fā)明實施例在接收到音頻排序請求時,根據(jù)該音頻排序請求獲取目標歌曲對應的多個音頻,以得到音頻集合,然后,提取該音頻集合內(nèi)該音頻對應的基頻,并獲取該音頻集合內(nèi)該音頻之間的基頻差值,根據(jù)該基頻差值對該音頻集合內(nèi)的音頻進行排序;由于該方案通過歌曲的多個音頻之間的特征對比結(jié)果,來對音頻進行排序,無需預先存儲歌曲原唱的音頻特征文件,相對于現(xiàn)有技術(shù)而言,可以節(jié)省服務器存儲空間,從而增大服務器的可用存儲空間。

附圖說明

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

圖1是本發(fā)明實施例提供的音頻排序方法的流程圖;

圖2是本發(fā)明實施例提供的音頻排序方法的另一流程圖;

圖3是本發(fā)明實施例提供的音頻排序裝置的結(jié)構(gòu)示意圖;

圖4為本發(fā)明實施例提供的服務器的結(jié)構(gòu)示意圖。

具體實施方式

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

本發(fā)明實施例提供一種音頻排序方法和裝置。以下分別進行詳細說明。

實施例一、

本實施例將從音頻排序裝置的角度進行描述,該音頻排序裝置具體可以集成在服務器等設備中。

一種音頻排序方法,包括:在接收到音頻排序請求時,根據(jù)該音頻排序請求獲取目標歌曲對應的多個音頻,以得到音頻集合,然后,提取該音頻集合內(nèi)該音頻對應的基頻,并獲取該音頻集合內(nèi)該音頻之間的基頻差值,根據(jù)該基頻差值對該音頻集合內(nèi)的音頻進行排序。

如圖1所示,一種音頻排序方法,具體流程可以如下:

101、接收音頻排序請求,該音頻排序請求指示需要音頻排序的目標歌曲。

其中,該音頻排序請求可以通過觸發(fā)設備中預設觸發(fā)鍵或輸入框等觸發(fā)接口來進行觸發(fā),比如,當用戶點擊或劃過某個圖標時,則觸發(fā)生成該圖形界面處理請求,此時,該音頻排序裝置便可以對該音頻排序請求進行接收,比如,通過預設的指令接收接口對該音頻排序請求進行接收,等等。

在實際應用中,可以當檢測到目標歌曲有新的音頻時,接收音頻排序請求,比如,當檢查到目標歌曲有新的音頻時,觸發(fā)生成音頻排序請求,此時音頻排序裝置會對該請求進行接收。

本實施例中,該音頻排序請求可以攜帶需要音頻排序的目標歌曲的歌曲標識,以指示目標歌曲。

102、根據(jù)該音頻排序請求獲取目標歌曲對應的多個音頻,以得到音頻集合。

其中,目標歌曲對應的音頻可以為用戶演唱目標歌曲所產(chǎn)生的音頻,該目標歌曲對應的多個音頻可以包括不同用戶演唱目標歌曲產(chǎn)生的音頻,也可以包括同一用戶多次演唱目標歌曲產(chǎn)生的音頻。比如,獲取n個用戶演唱歌曲W的n個音頻,即音頻1、音頻2……音頻i……音頻n,1<n、且為正整數(shù),1≤i≤n,且i為正整數(shù)。

該音頻排序請求攜帶目標歌曲的歌曲標識;此時,步驟“根據(jù)該音頻排序 請求獲取目標歌曲對應的多個音頻”可以包括:

根據(jù)該歌曲標識獲取該目標歌曲對應的多個音頻。

比如,可以接收終端發(fā)送的音頻排序請求,然后,基于音頻排序請求攜帶的歌曲標識在存儲單元中獲取歌曲標識對應的多個音頻。

103、提取該音頻集合內(nèi)該音頻對應的基頻,并獲取該音頻集合內(nèi)該音頻之間的基頻差值。

其中,基頻為基音的頻率,該基音為發(fā)音體整體振動產(chǎn)生的聲音,比如,人體聲帶振動產(chǎn)生的聲音,本實施例中,由于人在發(fā)聲時聲帶震動產(chǎn)生的頻率經(jīng)過聲道過濾后會產(chǎn)生大量泛音,為了便于后續(xù)操作和提高音頻排序的準確度,需要從音頻中提取直接表現(xiàn)聲帶震動頻率的基音(實際情況中基音也決定了整個音符的音高),然后,獲取該基音的頻率,即基頻。

為了提高基頻提取的準確性以及音頻排序的精確性,本實施例可以將音頻切割成若干音頻段,然后,提取音頻段的基頻,也即步驟“提取該音頻集合內(nèi)該音頻對應的基頻”可以包括:

對該音頻集合內(nèi)的該音頻進行切割,以得到該音頻對應的多個音頻段;

提取每個該音頻段的基頻,以得該音頻對應的基頻集合;

此時,步驟“獲取該音頻集合內(nèi)該音頻之間的基頻差值”可以包括:獲取該音頻集合內(nèi)音頻對應的基頻集合之間的基頻差值。比如,可以將音頻集合內(nèi)音頻對應的基頻集合進行兩兩對比,以得到基頻集合之間的基頻差值。

具體地,可以根據(jù)預設時間移動量以及預設音頻時長,對該音頻集合內(nèi)的該音頻進行切割;比如,引入音頻幀表示音頻時,可以根據(jù)預設幀移和幀長對該音頻集合內(nèi)的該音頻進行切割,其中,幀移和幀長可以根據(jù)實際需求設定,例如,可以按照幀移10ms,幀長30ms對音頻進行切割,以得到音頻對應的m個音頻幀,每個音頻幀即為一個音頻段。

本實施例中,可以采用預設的基頻提取算法提取每個音頻段的基頻,比如,針對每個音頻段提取一個基頻,例如,在將音頻i切割成m(m為正整數(shù))個音頻段時,可以提取每個音頻段的基頻f,得到音頻i對應的基頻集合,如對于音頻i,提取音頻段1的基頻f11、音頻段2的基頻f12……音頻段m的基頻fim,最終 得到音頻i對應的基頻集合Fi(fi1、fi2…fit…fim),其中,1≤t≤m,且t為正整數(shù)。

可選地,為方便提取基頻以及后續(xù)排序、加快音頻排序的速度,本實施例中可以在對音頻切割前,對音頻進行格式轉(zhuǎn)換,也即步驟“對該音頻集合內(nèi)的該音頻進行切割”可以包括:

將該音頻集合內(nèi)的該音頻轉(zhuǎn)換成預設格式的音頻;

對成預設格式的音頻進行切割。

其中,預設格式可以為多種音頻格式,比如,可以為PCM(脈沖編碼調(diào)制)格式的音頻等,例如,本實施例可以將音頻轉(zhuǎn)換成16k16bit PCM格式的音頻。

本實施例在提取基頻之后,需要對音頻集合內(nèi)音頻對應的基頻進行兩兩對比,以得到該音頻集合之間的基頻差值。

比如,音頻集合包括:音頻1、音頻2……音頻n,可以將音頻1對應的基頻與音頻1對應的基頻、音頻2對應的基頻……音頻n對應的基頻進行一一對比,得到n個基頻差值,音頻1與音頻2之間的基頻差值、音頻2與音頻1之間的基頻差值、音頻1與音頻3之間的基頻差值……音頻1與音頻n之間的基頻差值、音頻n與音頻1之間的基頻差值。

可選地,在獲取音頻對應的基頻集合之后,可以將音頻集合內(nèi)音頻對應的基頻集合進行兩兩對比,以得到基頻集合之間的基頻差值;比如,音頻集合包括:音頻1、音頻2……音頻n,每個音頻切割成m個音頻段,此時,可以將音頻1對應的基頻集合F1t(f11、f12……f1m)分別與音頻1對應的基頻集合F1t、音頻2對應的基頻集合F2t f21、f22……f2m)、……音頻i對應的基頻集合Fit(fi1、fi2……fim)……音頻n對應的基頻集合Fn(fn1、fn2……fnm)進行對比,從而得到F1與F2之間的基頻差值、F1與F3之間的基頻差值……F1與Fn之間的基頻差值。

本實施例中基頻集合之間的基頻差值可以包括:兩個基頻集合中相應基頻之間的基頻差值,比如,F(xiàn)i與Fj之間的基頻差值Fi-Fj可以包括:fi1-fj1、fi2-fj2、……fit-fjt……fim-fjm。

本實施例中,基頻集合兩兩對比的過程為:一個基頻集合中基頻,與另一 個基頻集合中相應的基頻進行對比;也即步驟“將該音頻集合內(nèi)該音頻對應的基頻集合進行兩兩對比”可以包括:將該音頻集合內(nèi)音頻對應的基頻集合中基頻、與其他音頻對應的基頻集合中相應的基頻進行對比,該其他音頻為音頻集合內(nèi)所有音頻,可以包含該對比音頻自身;例如,音頻i的基頻集合Fi,與音頻j的基頻集合Fj(1≤j≤n,且為正整數(shù))進行對比時,可以將Fi中fi1與Fj中fj1對比、Fi中fi2與Fj中fj2對比、Fi中fi3與Fj中fj3對比……Fi中fim與Fj中fjm對比,此時可以得到Fi與Fj之間的基頻差值,即:fi1-fj1、fi2-fj2、……fit-fjt……fim-fjm。

可選地,為了去除音頻中噪聲,提高音頻排序的精確性,本實施例還可以在進行基頻對比之前,對基頻集合中奇異基頻置零處理,也即步驟“獲取該音頻集合內(nèi)音頻對應的基頻集合之間的基頻差值”可以包括:

根據(jù)該基頻與其相鄰的基頻之間的基頻差值,在該基頻集合中確定奇異基頻;

將該奇異基頻的基頻值置零,以得到置零后基頻集合;

獲取該音頻集合內(nèi)該音頻對應的置零后基頻集合之間的基頻差值。比如,可以將音頻集合內(nèi)音頻對應的置零后基頻集合進行兩兩對比,以得到置零后基頻集合之間的基頻差值。

本實施例中,奇異基頻可以指的是:與其相鄰的基頻之間的基頻差值滿足預設條件的基頻,具體地,可以為與其前后基頻之間的基頻差值滿足預設條件的基頻;其中,預設條件可以根據(jù)實際需求設定,例如,以音頻i的音頻集合Fi為例,獲取基頻fij與其前基頻fij-1、后基頻fij+1之間基頻差值為Δf’、Δf”,當Δf’大于第一預設閾值,且Δf”小于第二預設閾值時,則確定該基頻fij為奇異基頻。

又比如,可以基于該基頻與其相鄰的基頻之間的基頻差值變化來確定奇異基頻,例如,當fi1=0、fi2=0、fi3=0、fi4=1、fi5=4、fi6=0、fi7=0、fi8=0、fi9=0,此時,可以確定fi4和fi5為奇異基頻。

本實施例在對奇異基頻的基頻值置零之后,音頻對應的基頻集合中就會存在零點基頻段(包括基頻值為零的基頻)和非零點基頻段(包括基頻值為非零的基頻),為了去除噪聲影響和保證音頻的完整性,從而提高排序精確性,本 實施例方法還可以對非零點基頻段中基頻進行平滑處理(如中值濾波處理),以及設置該零點基頻段中基頻的基頻值,也即步驟“獲取該音頻集合內(nèi)該音頻對應的置零后基頻集合之間的基頻差值”可以包括:

在該置零后基頻集合中確定零點基頻段和非零點基頻段,該零點基頻段包括基頻值為零的基頻,該非零點基頻段包括基頻值為非零的基頻;

對非零點基頻段中基頻進行中值濾波處理;

設置該零點基頻段中基頻的基頻值,以得到設置后基頻集合;

獲取該音頻集合內(nèi)該音頻對應的設置后基頻集合之間的基頻差值。比如,可以將該音頻集合內(nèi)該音頻對應的設置后基頻集合進行兩兩對比,以得到設置后基頻集合之間的基頻差值。

比如,在對音頻i對應的基頻集合Fi內(nèi)基頻置零后,該集合Fi中:fi1=0、fi2=0、fi3=3、fi4=4、fi5=5、fi6=0、fi7=0、fi8=7、fi9=8、fi10=9,此時,可以在集合Fim確定零點基頻段,F(xiàn)a(fi1=0、fi2=0),F(xiàn)b(fi6=0、fi7=0),非零點基頻段Fc(fi3=3、fi4=4、fi5=5),F(xiàn)d(fi8=7、fi9=8、fi10=9),然后,對非零點基頻段Fc、Fd中基頻進行中值濾波處理,設置零點基頻段Fa、Fb中基頻的基頻置。

其中,對非零點基頻段中基頻進行中值濾波處理的方式可以有多種,比如,可以基于非零點基頻段的長度來進行濾波處理,也即步驟“對非零點基頻段中基頻進行中值濾波處理”可以包括:

獲取非零點基頻段的長度;

根據(jù)該長度獲取對應的濾波窗口長度;

根據(jù)該濾波窗口長度對該非零點基頻段中基頻進行中值濾波處理。

其中,非零點基頻段的長度為非零點基頻段的時長,其可以用音頻幀的數(shù)量表示,比如,非零點基頻段長度為10個音頻幀,在本實施例中由于一個音頻段即為一個音頻幀,因此,非零點基頻段的長度可以根據(jù)非零點基頻段包含的基頻數(shù)量得到,比如,非零點基頻段包含8個基頻,非零點基頻段的長度即為8個音頻幀。該濾波窗口長度可以為窗口包含基頻的數(shù)量、或者也可以為濾波窗口的音頻時長,例如長度為7的濾波窗口包含7個基頻或包含7個音頻幀。

比如,步驟“根據(jù)該長度獲取對應的濾波窗口長度”可以包括:

判斷該長度是否小于第一預設長度(第一預設長度可以根據(jù)實際需求設定);

若是,則將該長度作為濾波窗口長度;

若否,則將預設長度作為濾波窗口長度。

比如,若非零點基頻段的長度小于35幀時,直接將該長度作為濾波窗口長度,否則濾波窗口長度為預設長度,如10幀。

本實施例中,步驟“根據(jù)該濾波窗口長度對該非零點基頻段中基頻進行中值濾波處理”可以包括:

根據(jù)該非零點基頻段中基頻和該濾波窗口長度,在該音頻對應的置零后基頻集合中選取濾波窗口;

獲取該濾波窗口對應的平均基頻值;

將該非零點基頻段中基頻的基頻值設置為該平均基頻值。

比如,以音頻i的基頻集合Fi為例,在集合Fi中確定零點基頻段,F(xiàn)a(fi1=0、fi2=0),F(xiàn)b(fi6=0、fi7=0),非零點基頻段Fc(fi3=7、fi4=4、fi5=5),F(xiàn)d(fi8=7、fi9=8、fi10=9),之后需要對Fc、Fd進行中值濾波,具體過程為:

獲取Fc的長度為4幀,其小于預設長度10幀,此時,確定濾波窗口長度為4幀,那么可以以fi3為起點向兩邊進行擴展,得到濾波窗口,比如,濾波窗口包括:fi2、fi3、fi4、fi5,此時,可以獲取濾波窗口對應的平均基頻值為4,那么可設置fi3=4,對于fi4可確定包含fi3、fi4、fi5、fi6濾波窗口,獲取濾波窗口對應的平均基頻值為4,設置fi4=4,同理對于fi5、fi8、fi9、fi10也是一樣。

其中,設置零點基頻段中基頻的基頻值方式有多種,比如,可以基于零點基頻段的長度來設置,也即步驟“設置該零點基頻段中基頻的基頻值”可以包括:

獲取該零點基頻段的長度;

判斷該零點基頻段的長度是否小于第二預設長度(第二預設長度可以根據(jù)實際需求設定);

若是,則根據(jù)目標非零點基頻段內(nèi)基頻的基頻值,設置該零點基頻段中基頻的基頻值,其中,該目標非零點基頻段為與該零點基頻段相鄰的非零點基頻 段;

若否,則不對該零點基頻段中基頻的基頻值進行設置。

可選地,本實施例中目標非零點基頻段可以為零點基頻段前面的非零點基頻段,比如,可以為零點基頻段前面的非零點基頻段中最后一個基頻。

比如,以音頻i的基頻集合Fi為例,在集合Fi中確定零點基頻段Fb(fi6=0、fi7=0),非零點基頻段Fa(fi1=1、fi2=2),F(xiàn)c(fi3=7、fi4=4、fi5=5),F(xiàn)d(fi8=7、fi9=8、fi10=9),之后需要設置零點基頻段Fb內(nèi)的基頻值,具體地:

零點基頻段Fb長度為2幀,其小于預設長度15幀,因此,可以從零點基頻段Fb相鄰的非零點基頻段Fa中選取目標基頻值作為零點基頻段Fb內(nèi)基頻的值,比如,選取fi2的值作為目標基頻值,此時可以設置零點基頻段Fb內(nèi)fi6=fi2=2,fi7=fi2=2,或者也可以設置零點基頻段Fb內(nèi)fi6=fi1=1,fi7=fi1=1。

104、根據(jù)該基頻對比結(jié)果對該音頻集合內(nèi)的音頻進行排序。

經(jīng)過上述步驟對每個音頻對應的基頻集合進行處理(置零、中值濾波以及零點基頻設置)后,即可得每個音頻對應的處理后基頻集合(上述設置后基頻集合、或者置零后基頻集合),由于每個音頻均是同一個目標歌曲的音頻,因此,音頻的時長是相同的,在切割后音頻段(或者音頻幀)的個數(shù)是相同的,進而每個音頻的基頻集合內(nèi)基頻個數(shù)是相同的,在此基礎上,將每個音頻對應的處理后基頻集合兩兩進行對比,得到基頻集合之間的基頻差值,最后,可以基于基頻集合之間的基頻差值來對音頻進行排序。

本實施例中,可以獲取音頻集合內(nèi)某個音頻對應的所有基頻差值,然后,基于該所有基頻差值進行排序,為了方便運算,本實施例可以基頻集合之間的基頻差值進行處理,比如,可以獲取基頻差值之和,該基頻差值之和可以用旋律距離來表示,例如,旋律距離Lij表示音頻i對應基頻集合與音頻j對應基頻集合之間的基頻差值之和,此時,可以從旋律距離中選取某個音頻的所有旋律距離(即某個音頻對應的所有旋律距離,其指的是該音頻與集合內(nèi)音頻之間的所有基頻差值之和),然后,獲取該音頻對應的旋律距離總和S,例如音頻i對應的旋律距離總和Si;也即,步驟“據(jù)該基頻差值對該音頻集合內(nèi)的音頻進行排序”可以包括:

根據(jù)該基頻差值獲取該音頻集合內(nèi)音頻之間的旋律距離,其中,該旋律距離為音頻對應的基頻集合之間的基頻差值之和;

從該距離集合中選取該音頻集合內(nèi)目標音頻對應的旋律距離,以得到目標音頻對應的目標子距離集合;

根據(jù)該目標子距離集合獲取該音頻對應的旋律距離總和;

根據(jù)該音頻對應的旋律距離總和,對該音頻集合內(nèi)的音頻進行排序。

例如,當有n個音頻,每個音頻切割成m個音頻段后,可以得到音頻i對應的音頻集合Fi為(fi1、fi2…fit…fim),然后,將n個音頻集合進行兩兩對比,得到音頻集合之間的基頻差值,具體地通過公式:Fi-Fj=fit-fjt計算音頻集合之間的基頻差值,然后,計算音頻之間的旋律距離,即基頻集合之間的基頻差值之和,具體地計算方式通過如下公式:

<mrow> <msub> <mi>L</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>t</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <mo>|</mo> <msub> <mi>f</mi> <mrow> <mi>i</mi> <mi>t</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>f</mi> <mrow> <mi>j</mi> <mi>t</mi> </mrow> </msub> <mo>|</mo> <mi>i</mi> <mo>&Element;</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>~</mo> <mi>n</mi> <mo>)</mo> </mrow> <mi>j</mi> <mo>&Element;</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>~</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

在得到音頻之間的旋律距離之后,可以獲取音頻集合中某個音頻對應的

所有旋律距離,以得到該音頻對應的子距離集合,比如音頻i對應的旋律

距離Li1、Li2、Li3……Lim,然后,對于所有音頻進行距離和運算,得到

每個音頻對應的旋律距離總和S,如音頻i對應的旋律距離總和,具體地計

算方式可以通過如下公式:

<mrow> <msub> <mi>S</mi> <mi>i</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>L</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mi>i</mi> <mo>&Element;</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>~</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

在得到每個音頻對應的旋律距離總和之后,可以根據(jù)旋律距離總和Si的大小對音頻進行排序。

在實際情況,還可以根據(jù)音頻排序結(jié)果生成相應的評分信息(如排名或者分數(shù)等);例如,某首歌曲存在n個用戶演唱的音頻,在基于每個音頻對應的旋律距離總和進行音頻排序之后,可以獲取某個音頻7在n個音頻中的排名k(1≤k≤n),此時,可以獲取該音頻7超過其他音頻的百分比,可以通過如下公式 得到:

B=(n-k)*100/n

在獲取該百分比之后,可以提高該音頻7對應的用戶,其演唱的某某歌曲在本歌曲的所有演繹中超過了百分之B的用戶。

由上可知,本發(fā)明實施例在接收到音頻排序請求時,根據(jù)該音頻排序請求獲取目標歌曲對應的多個音頻,以得到音頻集合,然后,提取該音頻集合內(nèi)該音頻對應的基頻,并獲取該音頻集合內(nèi)該音頻之間的基頻差值,根據(jù)該基頻差值對該音頻集合內(nèi)的音頻進行排序;由于該方案通過歌曲的多個音頻之間的特征對比結(jié)果,來對音頻進行排序,無需預先存儲歌曲原唱的音頻特征文件,相對于現(xiàn)有技術(shù)而言,可以節(jié)省服務器存儲空間,從而增大服務器的可用存儲空間。

實施例二、

根據(jù)實施例一所描述的方法,以下將舉例作進一步詳細說明。

在本實施例中,將以該音頻排序裝置集成在服務器中為例進行說明。

如圖2所示,一種音頻排序方法,具體流程可以如下:

201、服務器接收音頻排序請求,該音頻排序請求指示需要音頻排序的目標歌曲。

其中,音頻排序請求可以通過觸發(fā)設備中預設觸發(fā)鍵或輸入框等觸發(fā)接口來進行觸發(fā),比如,當用戶點擊或劃過某個圖標時,則觸發(fā)生成該音頻排序請求。

具體地,可以當檢查到目標歌曲有新的音頻時,接收音頻排序請求。

202、服務器根據(jù)該音頻排序請求獲取目標歌曲對應的n個音頻,以得到音頻集合,1<n、且為正整數(shù)。

其中,目標歌曲對應的音頻可以為用戶演唱目標歌曲所產(chǎn)生的音頻,該目標歌曲對應的n個音頻可以包括n個不同用戶演唱目標歌曲產(chǎn)生的音頻,也可以為同一用戶n次演唱目標歌曲產(chǎn)生的音頻。

比如,服務器可以根據(jù)音頻排序請求從本地存儲中提取目標歌曲對應的n個音頻,如音頻1、音頻2、……音頻n。

203、服務器將音頻集合中每個音頻切割成m個音頻段,并提取每個音頻段的基頻,以得到每個音頻對應的基頻集合。

具體地,服務器可以根據(jù)預設幀移和預設幀長對每個音頻進行切割,比如,可以按照幀移5ms,幀長30ms對音頻進行切割,其中,一個音頻段即為一個音頻幀,該音頻幀的幀長為預設幀長,如30ms。

其中,基頻集合包括m個基頻,如將音頻i切割成m個音頻段,然后,分別提取每個音頻段的基頻x,從而得到音頻i對應的基頻集合Fi,該集合包括:fi1、fi2……fim,1≤i≤n,且i為正整數(shù)。

為方便提取基頻以及后續(xù)排序、加快音頻排序的速度,本實施例中可以在對音頻切割前,對音頻進行格式轉(zhuǎn)換,比如,可以將音頻i轉(zhuǎn)換成PCM(脈沖編碼調(diào)制)格式的音頻i。

204、對于每個音頻對應的基頻集合,服務器根據(jù)基頻與其相鄰的基頻之間的基頻差值,在該基頻集合中確定奇異基頻,并將該奇異基頻的基頻值置零,以得到每個音頻對應的置零后基頻集合。

本實施例中,奇異基頻可以指的是:與其相鄰的基頻之間的基頻差值滿足預設條件的基頻,具體地,可以為與其前后基頻之間的基頻差值滿足預設條件的基頻。例如,以音頻i的音頻集合Fi為例,獲取基頻fij與其前基頻fij-1、后基頻fij+1之間基頻差值為Δf’、Δf”,當Δf’大于第一預設閾值,且Δf”小于第二預設閾值時,則確定該基頻fij為奇異基頻。

本實施例中,還可以基于該基頻與其相鄰的基頻之間的基頻差值變化來確定奇異基頻,例如,當fi1=0、fi2=0、fi3=0、fi4=1、fi5=4、fi6=0、fi7=0、fi8=0、fi9=0,此時,可以確定fi4和fi5為奇異基頻。

通過步驟204可以置零處理后,可以得到每個音頻對應的置零后基頻集合,比如,音頻i對應的置零后基頻集合Fi。

205、對于每個置零后基頻集合,服務器可以在該置零后基頻集合中確定零點基頻段和非零點基頻段,并對非零點基頻段中基頻進行中值濾波處理,以得到每個音頻對應的濾波后基頻集合。

比如,在對音頻i對應的基頻集合Fi內(nèi)基頻置零后得到置零后基頻集合Fi’, 該集合Fi中:fi1=0、fi2=0、fi3=3、fi4=4、fi5=5、fi6=0、fi7=0、fi8=7、fi9=8、fi10=9,此時,可以在集合Fim確定零點基頻段,F(xiàn)a(fi1=0、fi2=0),F(xiàn)b(fi6=0、fi7=0),非零點基頻段Fc(fi3=3、fi4=4、fi5=5),F(xiàn)d(fi8=7、fi9=8、fi10=9),然后,對非零點基頻段Fc、Fd中基頻進行中值濾波處理,設置零點基頻段Fa、Fb中基頻的基頻置,從而得到濾波后基頻集合Fi”。

其中,對非零點基頻段中基頻進行中值濾波處理的方式可以有多種,比如,可以基于非零點基頻段的長度來進行濾波處理,也即步驟“服務器對非零點基頻段中基頻進行中值濾波處理”可以包括:

服務器獲取非零點基頻段的長度;

服務器根據(jù)該長度獲取對應的濾波窗口長度;

服務器根據(jù)該濾波窗口長度對該非零點基頻段中基頻進行中值濾波處理。

其中,非零點基頻段的長度為非零點基頻段的時長,其可以用音頻幀的數(shù)量表示,比如,非零點基頻段長度為8個音頻幀。該濾波窗口長度可以為窗口包含基頻的數(shù)量、或者也可以為濾波窗口的音頻時長,例如長度為7的濾波窗口包含7個基頻或包含7個音頻幀。

該服務器根據(jù)該長度獲取對應的濾波窗口長度的過程可以包括:

判斷該長度是否小于第一預設長度(第一預設長度可以根據(jù)實際需求設定);

若是,則將該長度作為濾波窗口長度;

若否,則將預設長度作為濾波窗口長度。

比如,若非零點基頻段的長度小于35幀時,直接將該長度作為濾波窗口長度,否則濾波窗口長度為預設長度,如9幀。

本實施例服務器根據(jù)該濾波窗口長度對該非零點基頻段中基頻進行中值濾波處理可以包括:

根據(jù)該非零點基頻段中基頻和該濾波窗口長度,在該音頻對應的置零后基頻集合中選取濾波窗口;

獲取該濾波窗口對應的平均基頻值;

將該非零點基頻段中基頻的基頻值設置為該平均基頻值。

比如,以音頻i的基頻集合Fi為例,在集合Fi中確定零點基頻段,F(xiàn)a(fi1=0、fi2=0),F(xiàn)b(fi6=0、fi7=0),非零點基頻段Fc(fi3=7、fi4=4、fi5=5),F(xiàn)d(fi8=7、fi9=8、fi10=9),之后需要對Fc、Fd進行中值濾波,以對Fd進行中值濾波為例,具體過程為:

獲取Fd的長度為3幀,其小于預設長度9幀,此時,確定濾波窗口長度為3幀,那么可以以fi8為起點向兩邊進行擴展,得到濾波窗口,比如,濾波窗口包括:fi7、fi8、fi9,此時,可以獲取濾波窗口對應的平均基頻值為7.5,那么可設置fi8=7.5,對于fi9可確定包含fi8、fi9、fi10濾波窗口,獲取濾波窗口對應的平均基頻值為12,設置fi9=7.5,同理對于fi10也是一樣。

206、對于每個濾波后基頻集合,服務器獲取該零點基頻段的長度,并根據(jù)長度設置該零點基頻段中基頻的基頻值,以得到每個音頻對應的設置后基頻集合。

比如,服務器可以判斷該零點基頻段的長度是否小于第二預設長度(第二預設長度可以根據(jù)實際需求設定),若是,則根據(jù)目標非零點基頻段內(nèi)基頻的基頻值,設置該零點基頻段中基頻的基頻值,其中,該目標非零點基頻段為與該零點基頻段相鄰的非零點基頻段,若否,則不對該零點基頻段中基頻的基頻值進行設置。

其中,目標非零點基頻段可以為零點基頻段前面的非零點基頻段,比如,可以為零點基頻段前面的非零點基頻段中最后一個基頻。

比如,以音頻i的基頻集合Fi為例,在集合Fi中確定零點基頻段Fb(fi6=0、fi7=0),非零點基頻段Fa(fi1=1、fi2=2),F(xiàn)c(fi3=7、fi4=4、fi5=5),F(xiàn)d(fi8=7、fi9=8、fi10=9),之后需要設置零點基頻段Fb內(nèi)的基頻值,具體地:

零點基頻段Fb長度為2幀,其小于預設長度9幀,因此,可以從零點基頻段Fb相鄰的非零點基頻段Fc或者Fd中選取目標基頻值作為零點基頻段Fb內(nèi)基頻的值,比如,選取fi8的值作為目標基頻值,此時可以設置零點基頻段Fb內(nèi)fi6=fi8=7,fi7=fi8=7,或者也可以設置零點基頻段Fb內(nèi)fi6=fi10=9,fi7=fi10=9。

經(jīng)過步驟206的處理,本實施例可以得到每個音頻對應的設置后基頻集合或者基頻序列Fi,由于設置后基頻集合或者基頻序列的個數(shù)為n,每個音頻均 是同一個目標歌曲的音頻,因此,音頻的時長是相同的,在切割后音頻段(或者音頻幀)的個數(shù)是相同的,進而每個音頻的基頻集合內(nèi)基頻個數(shù)是相同,比如為m個。

207、服務器對n個基頻集合進行兩兩對比,以得到基頻集合之間的基頻差值,并根據(jù)該基頻差值獲取音頻之間的旋律距離,得到旋律距離集合。

其中,音頻之間的旋律距離為基頻差值之和,例如,旋律距離Lij表示音頻i對應基頻集合與音頻j對應基頻集合之間的基頻差值之和。具體地,可以通過如下公式來計算音頻之間的旋律距離:

<mrow> <msub> <mi>L</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>t</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <mo>|</mo> <msub> <mi>f</mi> <mrow> <mi>i</mi> <mi>t</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>xf</mi> <mrow> <mi>j</mi> <mi>t</mi> </mrow> </msub> <mo>|</mo> <mi>i</mi> <mo>&Element;</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>~</mo> <mi>n</mi> <mo>)</mo> </mrow> <mi>j</mi> <mo>&Element;</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>~</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

經(jīng)過步驟207可以得到每個音頻對應的旋律距離L,旋律距離集合包含的旋律距離個數(shù)為n2。

208、服務器從旋律距離集合中選取每個音頻對應的所有旋律距離,并計算每個音頻的旋律距離總和。

比如,服務器可以從n2個旋律距離中獲取音頻i對應的所有旋律距離,即Li1、Li2……Lim,然后,計算音頻i的旋律距離總和Si=Li1+Li2+……+Lim,即可以通過如下公式來計算音頻i的旋律距離總和Si:

<mrow> <msub> <mi>S</mi> <mi>i</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>L</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mi>i</mi> <mo>&Element;</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>~</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

經(jīng)過步驟208處理,可以得到每個音頻的旋律距離總和S,比如音頻1的旋律距離總和S1、音頻2的旋律距離中S2、……音頻i的旋律距離總和Si……音頻n的旋律距離總和Sn。

209、服務器根據(jù)每個音頻的旋律距離總和,對音頻集合內(nèi)n個音頻進行排序。

比如,可以根據(jù)旋律距離總和Si的大小對音頻進行排序。

在實際情況,還可以根據(jù)音頻排序結(jié)果生成相應的評分信息(如排名或者分數(shù)等);例如,某首歌曲存在n個用戶演唱的音頻,在基于每個音頻對應的旋 律距離總和進行音頻排序之后,可以獲取某個音頻i在n個音頻中的排名k(1≤k≤n),此時,可以獲取該音頻i超過其他音頻的百分比,可以通過如下公式得到:

B=(n-k)*100/n

在獲取該百分比之后,可以提高該音頻7對應的用戶,其演唱的某某歌曲在本歌曲的所有演繹中超過了百分之B的用戶。

由上可知,本發(fā)明實施例在接收到音頻排序請求時,根據(jù)該音頻排序請求獲取目標歌曲對應的多個音頻,以得到音頻集合,然后,提取該音頻集合內(nèi)該音頻對應的基頻,并獲取該音頻集合內(nèi)該音頻之間的基頻差值,根據(jù)該基頻差值對該音頻集合內(nèi)的音頻進行排序;由于該方案通過歌曲的多個音頻之間的特征對比結(jié)果,來對音頻進行排序,無需預先存儲歌曲原唱的音頻特征文件,相對于現(xiàn)有技術(shù)而言,可以節(jié)省服務器存儲空間,從而增大服務器的可用存儲空間。

此外,本發(fā)明實施例還可以通過對基頻進行置零處理、中值濾波處理以零基頻填充處理,來優(yōu)化音頻的基頻特征,從而可以提升音頻排序的準確性。

實施例三、

為了更好地實施上述方法,本發(fā)明實施例還提供一種音頻排序裝置,如圖3所示,該圖形界面的處理裝置可以包括接收單元301、音頻獲取單元302、基頻處理單元303和基頻處理單元304,如下:

(1)接收單元301;

接收單元301,用于接收音頻排序請求,該音頻排序請求指示需要音頻排序的目標歌曲。

其中,圖音頻排序請求可以通過觸發(fā)設備中預設觸發(fā)鍵或輸入框等觸發(fā)接口來進行觸發(fā),比如,當用戶點擊或劃過某個圖標時,則觸發(fā)生成該音頻排序請求,即:

接收單元301、具體用于接收用戶通過觸發(fā)接口觸發(fā)的音頻排序請求。

(2)音頻獲取單元302;

音頻獲取單元302,用于根據(jù)該音頻排序請求獲取目標歌曲對應的多個音 頻,以得到音頻集合。

其中,目標歌曲對應的音頻可以為用戶演唱目標歌曲所產(chǎn)生的音頻,該目標歌曲對應的多個音頻可以包括不同用戶演唱目標歌曲產(chǎn)生的音頻,也可以包括同一用戶多次演唱目標歌曲產(chǎn)生的音頻。

該音頻排序請求攜帶目標歌曲的歌曲標識,該音頻獲取單元302,具體用于音頻排序請求攜帶的歌曲標識在存儲單元中獲取歌曲標識對應的多個音頻。(3)基頻處理單元303;

基頻處理單元303,用于基頻處理單元。

比如,該基頻處理單元303可以具體用于:

對該音頻集合內(nèi)的該音頻進行切割,以得到該音頻對應的多個音頻段;

提取每個該音頻段的基頻,以得該音頻對應的基頻集合;

獲取該音頻集合內(nèi)音頻對應的基頻集合之間的基頻差值。

又比如,該基頻處理單元303可以包括:切割子單元、基頻提取子單元和差值獲取子單元;

該切割子單元,用于對該音頻集合內(nèi)的該音頻進行切割,以得到該音頻對應的多個音頻段;

該基頻提取子單元,用于提取每個該音頻段的基頻,以得該音頻對應的基頻集合;

該差值獲取子單元,具體用于:

根據(jù)該基頻與其相鄰的基頻之間的基頻差值,在該基頻集合中確定奇異基頻;

將該奇異基頻的基頻值置零,以得到置零后基頻集合;

獲取該音頻集合內(nèi)該音頻對應的置零后基頻集合之間的基頻差值。

可選地,該差值獲取子單元,具體可以用于:

在該置零后基頻集合中確定零點基頻段和非零點基頻段,該零點基頻段包括基頻值為零的基頻,該非零點基頻段包括基頻值為非零的基頻;

對非零點基頻段中基頻進行中值濾波處理;

設置該零點基頻段中基頻的基頻值,以得到設置后基頻集合;

獲取該音頻集合內(nèi)該音頻對應的設置后基頻集合之間的基頻差值。

其中,對非零點基頻段中基頻進行中值濾波處理的過程可以包括:

獲取非零點基頻段的長度;

根據(jù)該長度獲取對應的濾波窗口長度;

根據(jù)該濾波窗口長度對該非零點基頻段中基頻進行中值濾波處理。

本實施例中,根據(jù)該濾波窗口長度對該非零點基頻段中基頻進行中值濾波處理,包括:

根據(jù)該非零點基頻段中基頻和該濾波窗口長度,在該音頻對應的置零后基頻集合中選取濾波窗口;

獲取該濾波窗口對應的平均基頻值;

將該非零點基頻段中基頻的基頻值設置為該平均基頻值。

設置該零點基頻段中基頻的基頻值的過程可以包括:

獲取該零點基頻段的長度;

判斷該零點基頻段的長度是否小于預設長度;

若是,則根據(jù)目標非零點基頻段內(nèi)基頻的基頻值,設置該零點基頻段中基頻的基頻值,其中,該目標非零點基頻段為與該零點基頻段相鄰的非零點基頻段。

(4)排序單元304;

排序單元304,用于根據(jù)該基頻差值對該音頻集合內(nèi)的音頻進行排序。例如,可以如下:

該排序單元304,具體可以用于:

根據(jù)該基頻差值獲取該音頻集合內(nèi)音頻之間的旋律距離,其中,該旋律距離為音頻對應的基頻集合之間的基頻差值之和;

從該距離集合中選取該音頻集合內(nèi)目標音頻對應的旋律距離,以得到目標音頻對應的目標子距離集合;

根據(jù)該目標子距離集合獲取該音頻對應的旋律距離總和;

根據(jù)該音頻對應的旋律距離總和,對該音頻集合內(nèi)的音頻進行排序。

具體實施時,以上各個單元可以作為獨立的實體來實現(xiàn),也可以進行任意 組合,作為同一或若干個實體來實現(xiàn),以上各個單元的具體實施可參見前面的方法實施例,在此不再贅述。

該音頻排序裝置具體可以集成在服務器等設備中。

由上可知,本發(fā)明實施例在接收到音頻排序請求時,可以由音頻獲取單元302根據(jù)該音頻排序請求獲取目標歌曲對應的多個音頻,以得到音頻集合,然后,由基頻處理單元303提取該音頻集合內(nèi)該音頻對應的基頻,并獲取該音頻集合內(nèi)該音頻之間的基頻差值,由排序單元304根據(jù)該基頻差值對該音頻集合內(nèi)的音頻進行排序;由于該方案通過歌曲的多個音頻之間的特征對比結(jié)果,來對音頻進行排序,無需預先存儲歌曲原唱的音頻特征文件,相對于現(xiàn)有技術(shù)而言,可以節(jié)省服務器存儲空間,從而增大服務器的可用存儲空間。

此外,本發(fā)明實施例還可以通過對基頻進行置零處理、中值濾波處理以零基頻填充處理,來優(yōu)化音頻的基頻特征,從而可以提升音頻排序的準確性。

實施例四、

此外,本發(fā)明實施例還提供一種服務器,其中可以集成本發(fā)明實施例的音頻排序裝置,如圖4所示,其示出了本發(fā)明實施例所涉及的服務器的結(jié)構(gòu)示意圖,具體來講:

該服務器可以包括一個或者一個以上處理核心的處理器401、一個或一個以上計算機可讀存儲介質(zhì)的存儲器402、射頻(Radio Frequency,RF)電路403、電源404、輸入單元405、以及顯示單元406等部件。本領域技術(shù)人員可以理解,圖4中示出的服務器結(jié)構(gòu)并不構(gòu)成對服務器的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中:

處理器401是該服務器的控制中心,利用各種接口和線路連接整個服務器的各個部分,通過運行或執(zhí)行存儲在存儲器402內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器402內(nèi)的數(shù)據(jù),執(zhí)行服務器的各種功能和處理數(shù)據(jù),從而對服務器進行整體監(jiān)控??蛇x的,處理器401可包括一個或多個處理核心;優(yōu)選的,處理器401可集成應用處理器和調(diào)制解調(diào)處理器,其中,應用處理器主要處理操作系統(tǒng)、用戶界面和應用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器401中。

存儲器402可用于存儲軟件程序以及模塊,處理器401通過運行存儲在存儲器402的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數(shù)據(jù)處理。存儲器402可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)服務器的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲器402可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。相應地,存儲器402還可以包括存儲器控制器,以提供處理器401對存儲器402的訪問。

RF電路403可用于收發(fā)信息過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,交由一個或者一個以上處理器401處理;另外,將涉及上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路403包括但不限于天線、至少一個放大器、調(diào)諧器、一個或多個振蕩器、用戶身份模塊(SIM)卡、收發(fā)信機、耦合器、低噪聲放大器(LNA,Low Noise Amplifier)、雙工器等。此外,RF電路403還可以通過無線通信與網(wǎng)絡和其他設備通信。所述無線通信可以使用任一通信標準或協(xié)議,包括但不限于全球移動通訊系統(tǒng)(GSM,Global System of Mobile communication)、通用分組無線服務(GPRS,General Packet Radio Service)、碼分多址(CDMA,Code Division Multiple Access)、寬帶碼分多址(WCDMA,Wideband Code Division Multiple Access)、長期演進(LTE,Long Term Evolution)、電子郵件、短消息服務(SMS,Short Messaging Service)等。

服務器還包括給各個部件供電的電源404(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器401邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。電源404還可以包括一個或一個以上的直流或交流電源、再充電系統(tǒng)、電源故障檢測電路、電源轉(zhuǎn)換器或者逆變器、電源狀態(tài)指示器等任意組件。

該服務器還可包括輸入單元405,該輸入單元405可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與用戶設置以及功能控制有關(guān)的鍵盤、鼠標、操作桿、光學或者軌跡球信號輸入。

該服務器還可包括顯示單元406,該顯示單元406可用于顯示由用戶輸入的 信息或提供給用戶的信息以及服務器的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標、視頻和其任意組合來構(gòu)成。顯示單元408可包括顯示面板,可選的,可以采用液晶顯示器(LCD,Liquid Crystal Display)、有機發(fā)光二極管(OLED,Organic Light-Emitting Diode)等形式來配置顯示面板。

具體在本實施例中,服務器中的處理器401會按照如下的指令,將一個或一個以上的應用程序的進程對應的可執(zhí)行文件加載到存儲器402中,并由處理器401來運行存儲在存儲器402中的應用程序,從而實現(xiàn)各種功能,如下:

接收音頻排序請求,所述音頻排序請求指示需要音頻排序的目標歌曲;

根據(jù)所述音頻排序請求獲取目標歌曲對應的多個音頻,以得到音頻集合;

提取所述音頻集合內(nèi)所述音頻對應的基頻,并獲取所述音頻集合內(nèi)所述音頻之間的基頻差值;

根據(jù)所述基頻差值對所述音頻集合內(nèi)的音頻進行排序。

上述操作具體可參見前面的方法實施例,在此不再贅述。

由上可知,本發(fā)明實施例在接收到音頻排序請求時,根據(jù)該音頻排序請求獲取目標歌曲對應的多個音頻,以得到音頻集合,然后,提取該音頻集合內(nèi)該音頻對應的基頻,并獲取該音頻集合內(nèi)該音頻之間的基頻差值,根據(jù)該基頻差值對該音頻集合內(nèi)的音頻進行排序;由于該方案通過歌曲的多個音頻之間的特征對比結(jié)果,來對音頻進行排序,無需預先存儲歌曲原唱的音頻特征文件,相對于現(xiàn)有技術(shù)而言,可以節(jié)省服務器存儲空間,從而增大服務器的可用存儲空間。

本領域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:只讀存儲器(ROM,Read Only Memory)、隨機存取記憶體(RAM,Random Access Memory)、磁盤或光盤等。

以上對本發(fā)明實施例所提供的一種音頻排序方法和裝置進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜 上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1