本發明涉及音頻處理技術領域,特別涉及一種音頻識別方法及裝置。
背景技術:
隨著網絡應用技術的不斷發展,音樂播放類應用的功能也越來越豐富,哼唱識別就是其中一種新興的功能。
在現有的哼唱識別系統中,用戶在終端中啟動音樂播放類應用的哼唱識別功能,并對著終端的麥克風哼唱一段音樂,之后,終端提取出這段哼唱語音的音高序列,再將這些音高序列發送到服務器,由服務器將該音高序列與歌曲庫中存儲的歌曲的音高序列作對比,找出歌曲庫中與這一段音高序列最匹配的歌曲,最后將查找結果返回給終端。
在實現本發明的過程中,申請人發現現有技術存在如下問題:
用戶通過哼唱識別歌曲時,可能只記得一小段旋律,而這一小段旋律并不能滿足現有的哼唱識別功能的最低長度要求,因此需要用戶再多哼唱幾段,而多哼唱的幾段準確性通常不高,導致哼唱識別的準確性較低。
技術實現要素:
為了解決現有技術中哼唱識別的準確性較低的問題,本發明實施例提供了一種音頻識別方法及裝置,技術方案如下:
第一方面,提供了一種音頻識別方法,所述方法包括:
獲取待識別音頻的原始音高序列,所述原始音高序列用于指示所述待識別音頻在各個時間點上的頻率;
將所述原始音高序列切分成多個音高子序列;
對所述原始音高序列和所述多個音高子序列分別進行識別;
將對所述原始音高序列和所述多個音高子序列分別進行識別所獲得的識別結果進行合并,獲得對所述待識別音頻的識別結果。
第二方面,提供了一種音頻識別裝置,所述裝置包括:
序列獲取模塊,用于獲取待識別音頻的原始音高序列,所述原始音高序列用于指示所述待識別音頻在各個時間點上的頻率;
切分模塊,用于將所述原始音高序列切分成多個音高子序列;
識別模塊,用于對所述原始音高序列和所述多個音高子序列分別進行識別;
合并模塊,用于將對所述原始音高序列和所述多個音高子序列分別進行識別所獲得的識別結果進行合并,獲得對所述待識別音頻的識別結果。
本發明實施例提供的技術方案可以包括以下有益效果:
通過將待識別音頻的原始音高序列切分成多個音高子序列,對該原始音高序列和該多個音高子序列分別進行識別,并將對該原始音高序列和該多個音高子序列分別進行識別所獲得的識別結果進行合并,獲得對該待識別音頻的識別結果,將一個長音高序列切分成多個短音高序列,并對長音高序列和多個短音高序列分別進行識別,并將識別結果進行整合,從而達到提高哼唱識別的準確性的效果。
應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本發明。
附圖說明
此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本發明的實施例,并與說明書一起用于解釋本發明的原理。
圖1是本發明各個實施例涉及的一種實施環境的示意圖;
圖2是根據一示例性實施例示出的一種音頻識別方法的流程圖;
圖3是根據另一示例性實施例示出的一種音頻識別方法的流程圖;
圖4是根據一示例性實施例示出的一種音高序列切分方法的流程圖;
圖5是根據一示例性實施例示出的一種音頻識別裝置的框圖;
圖6是根據另一示例性實施例示出的一種音頻識別裝置的框圖;
圖7是根據一示例性實施例示出的一種服務器的結構示意圖;
圖8是根據一示例性實施例示出的一種終端的結構示意圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發明相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本發明的一些方面相一致的裝置和方法的例子。
圖1是本發明各個實施例涉及的一種實施環境的示意圖。如圖1所示,該實施環境包括:終端110以及服務器120。
終端110可以是智能手機、平板電腦、膝上型便攜計算機以及個人計算機等等。
服務器120可以是獨立的一個服務器,或者,服務器120也可以是由分別實現不同功能的多個服務器所組成的服務器集群,或者,服務器120也可以是一個云計算中心。
終端110和服務器120之間通過有線或者無線網絡連接并進行數據交互。
圖2是根據一示例性實施例示出的一種音頻識別方法的流程圖,該方法可以實現在上述圖1所示的實施環境中。如圖2所示,該音頻識別方法可以包括如下幾個步驟:
步驟201,獲取待識別音頻的原始音高序列,該原始音高序列用于指示該待識別音頻在各個時間點上的頻率。
步驟202,將該原始音高序列切分成多個音高子序列。
步驟203,對該原始音高序列和該多個音高子序列分別進行識別。
步驟204,將對該原始音高序列和該多個音高子序列分別進行識別所獲得的識別結果進行合并,獲得對該待識別音頻的識別結果。
綜上所述,本發明實施例提供的一種音頻識別方法,將待識別音頻的原始音高序列切分成多個音高子序列,對該原始音高序列和該多個音高子序列分別進行識別,并將對該原始音高序列和該多個音高子序列分別進行識別所獲得的識別結果進行合并,獲得對該待識別音頻的識別結果,通過將一個長音高序列切分成多個短音高序列,并對長音高序列和多個短音高序列分別進行識別,并將識別結果進行整合,從而達到提高哼唱識別的準確性的效果。
圖3是根據另一示例性實施例示出的一種音頻識別方法的流程圖,該方法可以實現在上述圖1所示的實施環境中。如圖3所示,該音頻識別方法可以包括如下幾個步驟:
步驟301,獲取待識別音頻的原始音高序列,該原始音高序列用于指示該待識別音頻在各個時間點上的頻率。
其中,該待識別音頻可以是上述圖1所示實施環境中的終端通過其內置或外接的音頻采集單元(比如麥克風)采集到的音頻。比如,以終端為智能手機為例,用戶打開智能手機中的音樂播放類應用app,啟動哼唱識別功能后,對著智能手機的麥克風哼唱一段音頻,智能手機的麥克風將采集到的音頻獲取為該待識別音頻。
對該待識別音頻中各個播放時間點上的音高依次進行提取,即可以獲得原始音高序列,其中,音高即音的高度,是聲音的基本特征之一,音高是由振動頻率決定的,且兩者成正比關系。
步驟302,將該原始音高序列切分成多個音高子序列。
原始音高序列中音高數值為0表示用戶錄制該待識別音頻時,在該0值音高對應的時間點上有一個停頓,且連續的0值音高越多,說明用戶停頓的時間越長。因此,本發明實施例所示的方案可以根據原始音高序列中數值為0的音高所在的位置對原始音高序列進行切分。
步驟303,對該原始音高序列和該多個音高子序列分別進行識別。
在本發明實施例所示的方法中,為了降低匹配計算的復雜度,可以先通過第一匹配算法,將該原始音高序列與預先設置的各個序列樣本進行匹配,確定與該原始音頻序列之間的匹配值最高的n個序列樣本,再通過第二匹配算法,將該原始音高序列和該多個音高子序列分別與該n個序列樣本進行匹配。
或者,也可以將原始音高序列和音高子序列分別通過第一匹配算法和第二匹配算法與預先設置的各個序列樣本進行匹配,即通過第一匹配算法,對原始音高序列和多個音高子序列中的任一序列,將該序列與預先設置的各個序列樣本進行匹配,確定與該序列之間的匹配值最高的n個序列樣本,再通過第二匹配算法,對原始音高序列和多個音高子序列中的任一序列,將該序列與n個序列樣本進行匹配。
其中,第一匹配算法的精度比第二匹配算法的精度低,比如,第一匹配算法可以是emd(empiricalmodedecomposition,經驗模態分解)算法、linearscale(線性標度)算法等,第二匹配算法可以是dtw(dynamictimewarping,動態時間歸整)算法。在進行匹配時,可以通過第一匹配算法,將原始音高序列與預先存儲的各個序列樣本進行匹配度計算,快速確定出與原始音高序列之間的匹配度最高的n個序列樣本,再通過第二匹配算法,計算原始音高序列和多個音高子序列分別與該n個序列樣本之間的匹配度。或者,也可以通過第一匹配算法和第二匹配算法,將原始音高序列和多個音高子序列分別單獨與預先存儲的各個序列樣本進行匹配。在本發明實施例中,可以預先存儲若干音頻(比如歌曲),上述每個序列樣本是其中一個音頻的音高序列。
需要說明的是,在上述步驟302和步驟303中,將該原始音高序列切分成多個音高子序列的執行時刻可以在步驟303之前,也可以在步驟303的執行過程中。比如,可以先將原始音高序列切分為多個音高子序列,然后再通過第一匹配算法,將該原始音高序列與預先設置的各個序列樣本進行匹配,最后再通過第二匹配算法,將該原始音高序列和該多個音高子序列分別與該n個序列樣本進行匹配。或者,也可以先通過第一匹配算法,將該原始音高序列與預先設置的各個序列樣本進行匹配,然后再將原始音高序列切分為多個音高子序列,最后通過第二匹配算法,將該原始音高序列和該多個音高子序列分別與該n個序列樣本進行匹配。
步驟304,對該原始音高序列和該多個音高子序列中每一個序列,根據該序列對應的識別結果中包含的n個序列樣本各自與該序列之間的匹配度對該n個序列樣本進行評分,該序列樣本與該序列之間的匹配度與該序列樣本的評分成正比例關系。
其中,對于該原始音高序列和該多個音高子序列中每一個序列,該序列對應的識別結果中包含n個序列樣本以及該n個序列樣本各自與該序列之間的匹配度,n為大于或者等于1的整數。
對于原始音高序列和多個音高子序列中每一個序列,該序列對應的n個序列樣本中,與該序列匹配度越高的序列樣本,其評分也越高。
步驟305,將該原始音高序列和該多個音高子序列各自對應的識別結果中的序列樣本按照對應的評分進行排列。
步驟306,根據排列結果獲得對該待識別音頻的識別結果。
將該原始音高序列和該多個音高子序列各自對應的識別結果中,總評分最高的n個序列樣本對應的音頻為該待識別音頻的識別結果,并將識別結果中的音頻的名稱等基本信息推送給用戶。
在本發明實施例中,原始音高序列和多個音高子序列中的每一個序列各自可以匹配出n個匹配度較高的序列樣本,對于這n個序列樣本,可以按照匹配度從高到低的順序進行排列,并采用倒排索引累加的方法進行排名賦值,排名越高,賦值越高,再將原始音高序列和多個音高子序列各自的識別結果中涉及的所有樣本序列按照總評分從大到小的順序進行排列,取排列結果的前n個樣本序列對應的音頻為識別結果。比如,請參考表1:
表1
在表1中,原始音高序列和多個音高子序列各自的識別結果中分別包含5個序列樣本,涉及的序列樣本有樣本1~樣本8,其中,樣本1的總評分為1+1+1/2+1=3.5,樣本2為1/2+1/4+1+1/2=2.25、樣本3為1/3+1/2+1/5≈1.03、樣本4為0.25、樣本5為1/5+1/3+1/4≈0.78、樣本6為1/5+1/3≈0.53、樣本7為1/5+1/3≈0.53、樣本8為0.25,因此,各個序列樣本按照總評分從大到小的順序為:樣本1、樣本2、樣本3、樣本5、樣本6、樣本7、樣本4以及樣本8,取總評分最高的前5個樣本序列,即樣本1、樣本2、樣本3、樣本5和樣本6對應的音頻為最終的識別結果并推送給用戶。
或者,本發明實施例所示的方案中,也可以在表1的基礎上結合原始音高序列和多個音高子序列與各自識別結果中的樣本序列的匹配度來進行積分計算,比如,采用倒排索引累加的方法進行排名賦值后,將各個樣本序列的排名賦值與其對應的匹配值的乘積作為該樣本序列的積分,比如,請參考表2:
表2
在表2中,原始音高序列和多個音高子序列各自的識別結果中分別包含5個序列樣本,涉及的序列樣本有樣本1~樣本8,其中,樣本1的總評分為2.32,樣本2為1.0925、樣本3為0.81、樣本4為0.2075、樣本5為0.5967、樣本6為0.426、樣本7為0.4167、樣本8為0.1775,因此,各個序列樣本按照總評分從大到小的順序為:樣本1、樣本2、樣本3、樣本5、樣本6、樣本7、樣本4以及樣本8,取總評分最高的前5個樣本序列,即樣本1、樣本2、樣本3、樣本5和樣本6對應的音頻為最終的識別結果并推送給用戶。
或者,本發明實施例所示的方案中,也可以在表2的基礎上結合原始音高序列和多個音高子序列各自的序列長度進行積分計算,比如,采用倒排索引累加的方法進行排名賦值后,將各個樣本序列的排名賦值、其對應的匹配值以及其對應的原始音高序列或音高子序列的長度乘積作為該樣本序列的積分。
需要說明的是,上述各個步驟可以全部由圖1所示實施環境中的終端110來執行,比如,以該終端110為智能手機中為例,該智能手機中安裝有音樂播放類app,該音樂播放類app具有哼唱識別功能,用戶啟動該哼唱識別功能后,對著智能手機的麥克風哼唱一段音頻,智能手機按照上述步驟301至步驟306所示的方法對該段音頻進行音高序列提取、切分以及匹配的處理,最終向用戶展示與用戶哼唱的音頻最匹配的幾首歌曲。
或者,上述各個步驟可以全部由圖1所示實施環境中的服務器120來執行,比如,以終端110為安裝有音樂播放類app的智能手機,服務器120為該音樂播放類app對應的服務器為例,用戶啟動該音樂播放類app的哼唱識別功能后,對著智能手機的麥克風哼唱一段音頻,智能手機將采集到的音頻發送給服務器, 服務器按照上述步驟301至步驟306所示的方法對該段音頻進行音高序列提取、切分以及匹配的處理,最終向智能手機返回與用戶哼唱的音頻最匹配的幾首歌曲,由智能手機向用戶展示。
或者,上述各個步驟也可以部分由圖1所示實施環境中的終端110來執行,其余部分由服務器120來執行,比如,以終端110為安裝有音樂播放類app的智能手機,服務器120為該音樂播放類app對應的服務器為例,用戶啟動該音樂播放類app的哼唱識別功能后,對著智能手機的麥克風哼唱一段音頻,智能手機按照步驟301和步驟302所示的方法對該段音頻進行音高序列提取和切分,并將獲得的原始音高序列和各個音高子序列發送給服務器,服務器按照步驟303至步驟306所示的方法進行匹配識別,最終向智能手機返回與用戶哼唱的音頻最匹配的幾首歌曲,由智能手機向用戶展示。
綜上所述,本發明實施例提供的一種音頻識別方法,將待識別音頻的原始音高序列切分成多個音高子序列,對該原始音高序列和該多個音高子序列分別進行識別,并將對該原始音高序列和該多個音高子序列分別進行識別所獲得的識別結果進行合并,獲得對該待識別音頻的識別結果,通過將一個長音高序列切分成多個短音高序列,并對長音高序列和多個短音高序列分別進行識別,并將識別結果進行整合,從而達到提高哼唱識別的準確性的效果。
在上述圖3對應的實施例步驟302中,在將該原始音高序列切分成多個音高子序列時,可以按照連續的0值音高的長度從高到低的順序選擇切分點,請參考圖4,其是根據一示例性實施例示出的一種音高序列切分方法的流程圖,如圖4所示,該音頻識別方法可以包括如下幾個步驟:
步驟302a,確定該原始音高序列中包含的各個靜音序列,該靜音序列是音高數值為0的序列。
比如,假設獲取到的某一待識別音頻的原始音高序列為:
{7.58,7.58,7.58,7.58,7.50,7.50,7.50,7.50,0,0,0,0,0,7.33,7.33,0,0,7.33,7.33,0,0,0,0,7.17,0,7.17,7.17,7.17,7.17,7.17}(這是一個簡化的例子,在實際應用中,非靜音段的長度一般較長,通常長度為20個音高值以上),上述原始音高序列中共有四個靜音序列,可分別標記為z1,z2,z3,z4,其長度分別為5,2,4,1。
步驟302b,根據該各個靜音序列的長度,將該各個靜音序列中的至少一個靜音序列在該原始音高序列中的位置確定為切分位置。
由于靜音序列的長度越長,表示用戶在錄制待識別音頻時,在該靜音序列處的停頓時間越長,該靜音序列兩側的兩段音高序列所對應的音頻是獨立的兩段音頻的概率也越大,反之,則兩段音高序列所對應的音頻是獨立的兩段音頻的概率越小。因此,為了提高序列切分的準確性,提高后續的識別效果,在本發明實施例中,可以按照靜音序列的長度從大到小的順序進行切分,即優先在靜音序列長的位置進行切分。
具體的,在確定切分位置時,可以判斷該各個靜音序列的數量是否大于m,m為大于或者等于1的整數;若判斷結果為各個靜音序列的數量不大于m,則將該各個靜音序列在該原始音高序列中的位置確定為該切分位置;若判斷結果為該各個靜音序列的數量大于m,則將該各個靜音序列中長度最長的k個靜音序列在該原始音高序列中的位置確定為該切分位置。其中,k小于或者等于m,且k為正整數,m和k的數值可以預先設置為一個固定值,或者,也可以自動根據原始音頻序列的長度進行設置;或者,該m和k的數值也可以由用戶自行設置。
比如,上述靜音序列的數量為4,若m的數值為4或5,此時靜音序列的數量不大于m,則可以將上述全部的4個靜音序列z1、z2、z3和z4在原始音高序列中的位置確定為切分位置;若m的數值為3,k為2,此時靜音序列的數量大于m,則可以將上述4個靜音序列中最長的兩個靜音序列z1和z3在原始音高序列中的位置確定為切分位置。
或者,在確定切分位置時,也可以將該各個靜音序列中長度大于預設長度閾值的靜音序列在該原始音高序列中的位置確定為該切分位置。比如,預設長度閾值為3,則將上述靜音序列z1、z2、z3和z4中,長度大于3的靜音序列,即靜音序列z1和z3在原始音高序列中的位置確定為切分位置。
步驟302c,根據確定的該切分位置對該原始音高序列進行切分,獲得該多個音高子序列。
需要說明的是,在本發明實施例中,在根據確定的該切分位置對該原始音高序列進行切分時,可以將切分位置處的靜音序列從切分出的音頻子序列中剔除。
以上述步驟302a下的原始音頻序列為例,假如確定出靜音序列z1在原始音高序列中的位置確定為切分位置,則上例可按z1為界拆分成兩段{7.58,7.58,7.58,7.58,7.50,7.50,7.50,7.50}和{7.33,7.33,0,0,7.33,7.33,0,0,0,0,7.17,0,7.17,7.17,7.17,7.17,7.17};如若確定出靜音序列z1和z3在原始音高序列中的位置確定為切分位置,則上例可以拆分成三段,分別為{7.58,7.58,7.58,7.58,7.50,7.50,7.50,7.50}、{7.33,7.33,0,0,7.33,7.33}、{7.17,0,7.17,7.17,7.17,7.17,7.17}。拆分的同時,也丟掉作為分界的靜音序列段。
綜上所述,本發明實施例提供的一種音高序列切分方法,確定該原始音高序列中包含的各個靜音序列,根據該各個靜音序列的長度,將該各個靜音序列中的至少一個靜音序列在該原始音高序列中的位置確定為切分位置,并根據確定的該切分位置對該原始音高序列進行切分,即優先在靜音序列長的位置進行切分,達到提高序列切分的準確性,提高后續的識別效果的目的。
請參考圖5,其示出了本發明一個實施例提供的音頻識別裝置的結構方框圖。該音頻識別裝置可以通過硬件或者軟硬結合的方式實現,比如,該音頻識別裝置可以是上述圖1所示實施環境中的服務器120,或者是該服務器120的一部分。該音頻識別裝置可以包括:
序列獲取模塊501,用于獲取待識別音頻的原始音高序列,所述原始音高序列用于指示所述待識別音頻在各個時間點上的頻率;
切分模塊502,用于將所述原始音高序列切分成多個音高子序列;
識別模塊503,用于對所述原始音高序列和所述多個音高子序列分別進行識別;
合并模塊504,用于將對所述原始音高序列和所述多個音高子序列分別進行識別所獲得的識別結果進行合并,獲得對所述待識別音頻的識別結果。
綜上所述,本發明實施例提供的一種音頻識別裝置,將待識別音頻的原始音高序列切分成多個音高子序列,對該原始音高序列和該多個音高子序列分別進行識別,并將對該原始音高序列和該多個音高子序列分別進行識別所獲得的識別結果進行合并,獲得對該待識別音頻的識別結果,通過將一個長音高序列切分成多個短音高序列,并對長音高序列和多個短音高序列分別進行識別,并 將識別結果進行整合,從而達到提高哼唱識別的準確性的效果。
請參考圖6,其示出了本發明另一實施例提供的音頻識別裝置的結構方框圖。該音頻識別裝置可以通過硬件或者軟硬結合的方式實現,比如,該音頻識別裝置可以是上述圖1所示實施環境中的服務器120,或者是該服務器120的一部分。該音頻識別裝置可以包括:
序列獲取模塊501,用于獲取待識別音頻的原始音高序列,所述原始音高序列用于指示所述待識別音頻在各個時間點上的頻率;
切分模塊502,用于將所述原始音高序列切分成多個音高子序列;
識別模塊503,用于對所述原始音高序列和所述多個音高子序列分別進行識別;
合并模塊504,用于將對所述原始音高序列和所述多個音高子序列分別進行識別所獲得的識別結果進行合并,獲得對所述待識別音頻的識別結果。
可選的,所述切分模塊502,包括:
序列確定單元502a,用于確定所述原始音高序列中包含的各個靜音序列,所述靜音序列是音高數值為0的序列;
位置確定單元502b,用于根據所述各個靜音序列的長度,將所述各個靜音序列中的至少一個靜音序列在所述原始音高序列中的位置確定為切分位置;
切分單元502c,用于根據確定的所述切分位置對所述原始音高序列進行切分,獲得所述多個音高子序列。
可選的,所述位置確定單元502b,包括:
判斷子單元502b1,用于判斷所述各個靜音序列的數量是否大于m,m為大于或者等于1的整數;
第一確定子單元502b2,用于若判斷結果為所述各個靜音序列的數量不大于m,則將所述各個靜音序列在所述原始音高序列中的位置確定為所述切分位置;
第二確定子單元502b3,用于若判斷結果為所述各個靜音序列的數量大于m,則將所述各個靜音序列中長度最長的k個靜音序列在所述原始音高序列中的位置確定為所述切分位置,k小于等于m,k為正整數。
可選的,所述位置確定單元502b,包括:
第三確定子單元502b4,用于將所述各個靜音序列中長度大于預設長度閾值 的靜音序列在所述原始音高序列中的位置確定為所述切分位置。
可選的,對于所述原始音高序列和所述多個音高子序列中每一個序列,所述序列對應的識別結果中包含n個序列樣本以及所述n個序列樣本各自與所述序列之間的匹配度,n為大于或者等于1的整數;所述合并模塊504,包括:
評分單元504a,用于對所述原始音高序列和所述多個音高子序列中每一個序列,根據所述序列對應的識別結果中包含的所述n個序列樣本各自與所述序列之間的匹配度對所述n個序列樣本進行評分,所述序列樣本與所述序列之間的匹配度與所述序列樣本的評分成正比例關系;
排序單元504b,用于將所述原始音高序列和所述多個音高子序列各自對應的識別結果中的序列樣本按照對應的評分進行排列;
獲得單元504c,用于根據排列結果獲得對所述待識別音頻的識別結果。
可選的,所述獲得單元504c,用于將所述原始音高序列和所述多個音高子序列各自對應的識別結果中,總評分最高的n個序列樣本對應的音頻獲得為所述待識別音頻的識別結果。
可選的,所述識別模塊503,包括:
第一匹配單元503a,用于通過第一匹配算法,將所述原始音高序列與預先設置的各個序列樣本進行匹配,確定與所述原始音頻序列之間的匹配值最高的n個序列樣本,n為大于或者等于1的整數;
第二匹配單元503b,用于通過第二匹配算法,將所述原始音高序列和所述多個音高子序列分別與所述n個序列樣本進行匹配。
可選的,所述識別模塊503,包括:
第三匹配單元503c,用于通過第一匹配算法,對所述原始音高序列和所述多個音高子序列中的任一序列,將所述序列與預先設置的各個序列樣本進行匹配,確定與所述序列之間的匹配值最高的n個序列樣本,n為大于或者等于1的整數;
第四匹配單元503d,用于通過第二匹配算法,對所述原始音高序列和所述多個音高子序列中的任一序列,將所述序列與所述n個序列樣本進行匹配。
綜上所述,本發明實施例提供的一種音頻識別裝置,將待識別音頻的原始音高序列切分成多個音高子序列,對該原始音高序列和該多個音高子序列分別進行識別,并將對該原始音高序列和該多個音高子序列分別進行識別所獲得的 識別結果進行合并,獲得對該待識別音頻的識別結果,通過將一個長音高序列切分成多個短音高序列,并對長音高序列和多個短音高序列分別進行識別,并將識別結果進行整合,從而達到提高哼唱識別的準確性的效果。
此外,本發明實施例提供的一種音頻識別裝置,在對原始音高序列進行切分時,確定該原始音高序列中包含的各個靜音序列,根據該各個靜音序列的長度,將該各個靜音序列中的至少一個靜音序列在該原始音高序列中的位置確定為切分位置,并根據確定的該切分位置對該原始音高序列進行切分,即優先在靜音序列長的位置進行切分,達到提高序列切分的準確性,提高后續的識別效果的目的。
圖7是根據一示例性實施例示出的一種服務器700的結構示意圖。例如,服務器700可以是圖1所示實施環境中的服務器120。參照圖7,服務器700包括處理組件722,其進一步包括一個或多個處理器,以及由存儲器732所代表的存儲器資源,用于存儲可由處理部件722執行的指令,例如應用程序。存儲器732中存儲的應用程序可以包括一個或一個以上的每一個對應于一組指令的模塊。此外,處理組件722被配置為執行指令,以執行上述圖2至圖4任一方法的全部或者部分步驟。
服務器700還可以包括一個電源組件726被配置為執行服務器700的電源管理,一個有線或無線網絡接口750被配置為將服務器700連接到網絡,和一個輸入輸出(i/o)接口758。服務器700可以操作基于存儲在存儲器732的操作系統,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或類似。
圖8是根據一示例性實施例示出的一種終端800的結構示意圖,該終端800可以是圖1所示實施環境中的終端110。本發明實施例中的終端800可以包括一個或多個如下組成部分:用于執行計算機程序指令以完成各種流程和方法的處理器,用于信息和存儲程序指令隨機接入存儲器(ram)和只讀存儲器(rom),用于存儲數據和信息的存儲器,i/o設備,界面,天線等。具體來講:
終端800可以包括rf(radiofrequency,射頻)電路810、存儲器820、輸入單元830、顯示單元840、傳感器850、音頻電路860、wifi(wirelessfidelity, 無線保真)模塊870、處理器880、電源882、攝像頭890等部件。本領域技術人員可以理解,圖8中示出的終端結構并不構成對終端的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結合圖8對終端800的各個構成部件進行具體的介紹:
rf電路810可用于收發信息或通話過程中,信號的接收和發送,特別地,將基站的下行信息接收后,給處理器880處理;另外,將設計上行的數據發送給基站。通常,rf電路包括但不限于天線、至少一個放大器、收發信機、耦合器、lna(lownoiseamplifier,低噪聲放大器)、雙工器等。此外,rf電路810還可以通過無線通信與網絡和其他設備通信。所述無線通信可以使用任一通信標準或協議,包括但不限于gsm(globalsystemofmobilecommunication,全球移動通訊系統)、gprs(generalpacketradioservice,通用分組無線服務)、cdma(codedivisionmultipleaccess,碼分多址)、wcdma(widebandcodedivisionmultipleaccess,寬帶碼分多址)、lte(longtermevolution,長期演進)、電子郵件、sms(shortmessagingservice,短消息服務)等。
存儲器820可用于存儲軟件程序以及模塊,處理器880通過運行存儲在存儲器820的軟件程序以及模塊,從而執行終端800的各種功能應用以及數據處理。存儲器820可主要包括存儲程序區和存儲數據區,其中,存儲程序區可存儲操作系統、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數據區可存儲根據終端800的使用所創建的數據(比如音頻數據、電話本等)等。此外,存儲器820可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態存儲器件。
輸入單元830可用于接收輸入的數字或字符信息,以及產生與終端800的用戶設置以及功能控制有關的鍵信號輸入。具體地,輸入單元830可包括觸控面板831以及其他輸入設備832。觸控面板831,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板831上或在觸控面板831附近的操作),并根據預先設定的程式驅動相應的連接裝置。可選的,觸控面板831可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將 它轉換成觸點坐標,再送給處理器880,并能接收處理器880發來的命令并加以執行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現觸控面板831。除了觸控面板831,輸入單元830還可以包括其他輸入設備832。具體地,其他輸入設備832可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。
顯示單元840可用于顯示由用戶輸入的信息或提供給用戶的信息以及終端800的各種菜單。顯示單元840可包括顯示面板841,可選的,可以采用lcd(liquidcrystaldisplay,液晶顯示器)、oled(organiclight-emittingdiode,有機發光二極管)等形式來配置顯示面板841。進一步的,觸控面板831可覆蓋顯示面板841,當觸控面板831檢測到在其上或附近的觸摸操作后,傳送給處理器880以確定觸摸事件的類型,隨后處理器880根據觸摸事件的類型在顯示面板841上提供相應的視覺輸出。雖然在圖8中,觸控面板831與顯示面板841是作為兩個獨立的部件來實現終端800的輸入和輸入功能,但是在某些實施例中,可以將觸控面板831與顯示面板841集成而實現終端800的輸入和輸出功能。
終端800還可包括至少一種傳感器850,比如陀螺儀傳感器、磁感應傳感器、光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環境光傳感器及接近傳感器,其中,環境光傳感器可根據環境光線的明暗來調節顯示面板841的亮度,接近傳感器可在終端800移動到耳邊時,關閉顯示面板841和/或背光。作為運動傳感器的一種,加速度傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別終端姿態的應用(比如橫豎屏切換、相關游戲、磁力計姿態校準)、振動識別相關功能(比如計步器、敲擊)等;至于終端800還可配置的氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路860、揚聲器881,傳聲器862可提供用戶與終端800之間的音頻接口。音頻電路860可將接收到的音頻數據轉換后的電信號,傳輸到揚聲器861,由揚聲器861轉換為聲音信號輸出;另一方面,傳聲器862將收集的聲音信號轉換為電信號,由音頻電路860接收后轉換為音頻數據,再將音頻數據輸出處理器880處理后,經rf電路810以發送給比如另一終端,或者將音頻數據輸出至存儲器820以便進一步處理。
wifi屬于短距離無線傳輸技術,終端800通過wifi模塊870可以幫助用戶收發電子郵件、瀏覽網頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯網訪問。雖然圖8示出了wifi模塊870,但是可以理解的是,其并不屬于終端800的必須構成,完全可以根據需要在不改變公開的本質的范圍內而省略。
處理器880是終端800的控制中心,利用各種接口和線路連接整個終端的各個部分,通過運行或執行存儲在存儲器820內的軟件程序和/或模塊,以及調用存儲在存儲器820內的數據,執行終端800的各種功能和處理數據,從而對終端進行整體監控。可選的,處理器880可包括一個或多個處理單元;優選的,處理器880可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統、用戶界面和應用程序等,調制解調處理器主要處理無線通信。可以理解的是,上述調制解調處理器也可以不集成到處理器880中。
終端800還包括給各個部件供電的電源882(比如電池),優選的,電源可以通過電源管理系統與處理器880邏輯相連,從而通過電源管理系統實現管理充電、放電、以及功耗管理等功能。
攝像頭890一般由鏡頭、圖像傳感器、接口、數字信號處理器、cpu、顯示屏幕等組成。其中,鏡頭固定在圖像傳感器的上方,可以通過手動調節鏡頭來改變聚焦;圖像傳感器相當于傳統相機的“膠卷”,是攝像頭采集圖像的心臟;接口用于把攝像頭利用排線、板對板連接器、彈簧式連接方式與終端主板連接,將采集的圖像發送給所述存儲器820;數字信號處理器通過數學運算對采集的圖像進行處理,將采集的模擬圖像轉換為數字圖像并通過接口發送給存儲器820。
盡管未示出,終端800還可以包括藍牙模塊等,在此不再贅述。
終端800除了包括一個或者多個處理器880,還包括有存儲器,以及一個或者多個模塊,其中一個或者多個模塊存儲于存儲器中,并被配置成由一個或者多個處理器執行,以實現上述圖2至圖4任一所示方法的全部或者部分步驟。
本領域技術人員在考慮說明書及實踐這里公開的發明后,將容易想到本發明的其它實施方案。本申請旨在涵蓋本發明的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本發明的一般性原理并包括本發明未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本發明的真正范圍和精神由下面的權利要求指出。
應當理解的是,本發明并不局限于上面已經描述并在附圖中示出的精確結構,并且可以在不脫離其范圍進行各種修改和改變。本發明的范圍僅由所附的權利要求來限制。