本發(fā)明總的來(lái)說(shuō)涉及數(shù)字音頻的領(lǐng)域,并且更具體來(lái)說(shuō),涉及導(dǎo)出可用于有意義地比較數(shù)字音頻的部分的評(píng)分的方式。
背景技術(shù):
能夠有意義地比較音樂(lè)或其它數(shù)字音頻的兩個(gè)序列以例如發(fā)現(xiàn)該音樂(lè)內(nèi)的匹配子序列是有價(jià)值的。為此,量化構(gòu)成序列和子序列的個(gè)別單元(“色度(chromae)”)的對(duì)應(yīng)度并將子序列的對(duì)應(yīng)度作為整體量化是有用的。
音頻單元和子序列的對(duì)應(yīng)度的常規(guī)量度通常缺少固有的含義。例如,對(duì)于一些量度來(lái)說(shuō),評(píng)分3可指示強(qiáng)匹配,但對(duì)于其它量度來(lái)說(shuō),評(píng)分3可指示弱匹配,評(píng)分72指示強(qiáng)匹配。類似地,常規(guī)量度不固有地傳達(dá)評(píng)分11比評(píng)分10強(qiáng)多少,或評(píng)分9比評(píng)分10弱多少,或具有評(píng)分5的兩個(gè)匹配是否表示與具有評(píng)分10的單個(gè)匹配一樣好的匹配。因此,這些常規(guī)量度需要額外經(jīng)驗(yàn)知識(shí)以能夠適當(dāng)?shù)亟庾g或應(yīng)用所得評(píng)分。
技術(shù)實(shí)現(xiàn)要素:
在一個(gè)實(shí)施例中,一種用于匹配音頻序列的計(jì)算機(jī)實(shí)施的方法包括:導(dǎo)出第一概率密度函數(shù)PM,該第一概率密度函數(shù)PM輸出音頻序列的一對(duì)色度向量的初始對(duì)應(yīng)評(píng)分指示色度向量之間的語(yǔ)義對(duì)應(yīng)的概率;導(dǎo)出第二概率密度函數(shù)PR,該第二概率密度函數(shù)PR輸出音頻序列的一對(duì)色度向量的初始對(duì)應(yīng)評(píng)分指示色度向量具有隨機(jī)對(duì)應(yīng)的概率;使用PM和PR而導(dǎo)出指示音頻序列的給定的一對(duì)色度向量是否在語(yǔ)義上對(duì)應(yīng)的匹配函數(shù);獲得第一音頻序列;使用匹配函數(shù)來(lái)比較第一音頻序列與多個(gè)已知音頻序列;以及基于比較而從已知音頻序列識(shí)別第一音頻序列的最佳匹配音頻序列。
在一個(gè)實(shí)施例中,一種非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)處理器可執(zhí)行指令,所述處理器可執(zhí)行指令包括:用于導(dǎo)出第一概率密度函數(shù)PM的指令,該第一概率密度函數(shù)PM輸出音頻序列的一對(duì)色度向量的初始對(duì)應(yīng)評(píng)分指示色度向量之間的語(yǔ)義對(duì)應(yīng)的概率;用于導(dǎo)出第二概率密度函數(shù)PR的指令,該第二概率密度函數(shù)PR輸出音頻序列的一對(duì)色度向量的初始對(duì)應(yīng)評(píng)分指示色度向量具有隨機(jī)對(duì)應(yīng)的概率;用于使用PM和PR而導(dǎo)出指示音頻序列的給定的一對(duì)色度向量是否在語(yǔ)義上對(duì)應(yīng)的匹配函數(shù)的指令;用于獲得第一音頻序列的指令;用于使用匹配函數(shù)來(lái)比較第一音頻序列與多個(gè)已知音頻序列的指令;以及用于基于比較而從已知音頻序列識(shí)別第一音頻序列的最佳匹配音頻序列的指令。
在一個(gè)實(shí)施例中,一種用于匹配音頻序列的計(jì)算機(jī)系統(tǒng)包括:計(jì)算機(jī)處理器;以及存儲(chǔ)指令的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。所述指令在由計(jì)算機(jī)處理器執(zhí)行時(shí),執(zhí)行包括以下各者的動(dòng)作:導(dǎo)出第一概率密度函數(shù)PM,該第一概率密度函數(shù)PM輸出音頻序列的一對(duì)色度向量的初始對(duì)應(yīng)評(píng)分指示色度向量之間的語(yǔ)義對(duì)應(yīng)的概率;導(dǎo)出第二概率密度函數(shù)PR,該第二概率密度函數(shù)PR輸出音頻序列的一對(duì)色度向量的初始對(duì)應(yīng)評(píng)分指示色度向量具有隨機(jī)對(duì)應(yīng)的概率;使用PM和PR而導(dǎo)出指示音頻序列的給定的一對(duì)色度向量是否在語(yǔ)義上對(duì)應(yīng)的匹配函數(shù);獲得第一音頻序列;使用匹配函數(shù)來(lái)比較第一音頻序列與多個(gè)已知音頻序列;以及基于比較而從已知音頻序列識(shí)別第一音頻序列的最佳匹配音頻序列。
附圖說(shuō)明
圖1圖示根據(jù)一個(gè)實(shí)施例的發(fā)生音頻分析的計(jì)算環(huán)境。
圖2A圖示根據(jù)一個(gè)實(shí)施例的兩個(gè)不同音頻序列的一個(gè)實(shí)例。
圖2B圖示根據(jù)一個(gè)實(shí)施例的實(shí)例子序列匹配。
圖3是圖示根據(jù)一個(gè)實(shí)施例的圖1的音頻分析模塊的詳細(xì)視圖的高階框圖。
圖4圖示根據(jù)一個(gè)實(shí)施例由圖3的對(duì)評(píng)分模塊針對(duì)圖2A和圖2B的兩個(gè)實(shí)例序列而產(chǎn)生的評(píng)分的實(shí)例集合。
圖5A圖示根據(jù)一個(gè)實(shí)施例的概率密度函數(shù)PM和PR的樣本β分布。
圖5B圖示根據(jù)一個(gè)實(shí)施例的對(duì)應(yīng)于圖5A的樣本PM和PR的樣本match()函數(shù)。
圖6是圖示根據(jù)一個(gè)實(shí)施例的在計(jì)算PM和PR(以及取決于PM和PR的match()函數(shù))時(shí)的音頻分析模塊105的操作的數(shù)據(jù)流程圖。
圖7是圖示根據(jù)一個(gè)實(shí)施例的用作圖1的音頻服務(wù)器或客戶端的一部分或全部的計(jì)算機(jī)700的物理組件的高階框圖。
圖8是根據(jù)一個(gè)實(shí)施例的響應(yīng)于用戶提供聲音輸入而尋找的歌曲音頻序列的匹配集合的實(shí)例用戶界面。
附圖僅出于圖示的目的而描繪本發(fā)明的實(shí)施例。本領(lǐng)域的技術(shù)人員將容易從下文描述認(rèn)識(shí)到,可在不偏離本文所述的本發(fā)明的原理的情況下使用本文所說(shuō)明的結(jié)構(gòu)和方法的替代實(shí)施例。
具體實(shí)施方式
圖1圖示根據(jù)一個(gè)實(shí)施例的其中發(fā)生音頻分析的計(jì)算環(huán)境。音頻服務(wù)器100包含:音頻存儲(chǔ)庫(kù)101,其中音頻存儲(chǔ)庫(kù)101存儲(chǔ)不同數(shù)字音頻序列(例如,歌曲)的集合;以及音頻分析模塊105,其中音頻分析模塊105包含分析并比較音頻序列的功能性。用戶使用客戶端裝置110與音頻互動(dòng),例如,從音頻存儲(chǔ)庫(kù)101獲得并播放序列,提交對(duì)音頻序列的查詢,將音頻序列提交到音頻數(shù)據(jù)庫(kù)等等。
音頻服務(wù)器100和客戶端110經(jīng)由網(wǎng)絡(luò)140而連接。網(wǎng)絡(luò)140可以是適用于數(shù)據(jù)傳輸?shù)娜魏芜m當(dāng)通信網(wǎng)絡(luò)。網(wǎng)絡(luò)140使用標(biāo)準(zhǔn)通信技術(shù)和/或協(xié)議,并且可包含因特網(wǎng)。在另一實(shí)施例中,網(wǎng)絡(luò)140包含定制和/或?qū)S玫臄?shù)據(jù)通信技術(shù)。
音頻存儲(chǔ)庫(kù)101中的音頻序列可表示任何類型的音頻,例如,音樂(lè)或語(yǔ)音,并且包括元數(shù)據(jù)(例如,標(biāo)題、標(biāo)簽和/或描述)和音頻內(nèi)容。在一個(gè)實(shí)施例中,音頻內(nèi)容由離散的按時(shí)間排序的單元(下文稱為“色度”)構(gòu)成。每一色度對(duì)應(yīng)于音頻序列內(nèi)的特定時(shí)間間隔(例如,特定50毫秒間隔),并具有測(cè)量頻率的集合中的每一測(cè)量頻率的值。例如,在一個(gè)實(shí)施例中,每一色度具有8音度(octave)中的12個(gè)半音(semitone)中的每一個(gè)的浮點(diǎn)值,其中該浮點(diǎn)值表示對(duì)應(yīng)時(shí)間間隔期間的此特定半音的頻率的強(qiáng)度。不同測(cè)量頻率的值的集合(例如,針對(duì)測(cè)量12個(gè)頻率的實(shí)施例,集合<0.25、1.1、2.5、1.0、0.6、0.79、1.9、2.3、1.11、4.6、1.5、2.0>)被稱為色度的“色度向量(chroma vector)”。在替代實(shí)施例中,音頻內(nèi)容作為連續(xù)信號(hào)而存儲(chǔ),并且在由音頻分析模塊105分析之前動(dòng)態(tài)轉(zhuǎn)換為離散色度。
音頻分析模塊105分析音頻存儲(chǔ)庫(kù)101中的音頻序列,以確定音頻序列對(duì)的“語(yǔ)義對(duì)應(yīng)(semantic correspondence)”,即,音頻序列對(duì)對(duì)于人類收聽者來(lái)說(shuō)聽起來(lái)相同。例如圖2A和圖2B在視覺(jué)上圖示的,音頻分析模塊105所執(zhí)行的一種類型的分析是在一對(duì)音頻序列內(nèi)尋找對(duì)應(yīng)子序列。圖2A圖示兩個(gè)不同音頻序列(SequenceA 201和SequenceB202)的一個(gè)實(shí)例。為了實(shí)例的簡(jiǎn)單起見,圖2A和圖2B中的每一序列由8個(gè)色度組成(對(duì)于SequenceA 201來(lái)說(shuō),A0到A7,并且對(duì)于SequenceB202來(lái)說(shuō),B0到B7)。然而,應(yīng)了解,兩個(gè)序列可具有任何數(shù)量的色度(例如,3,600個(gè),假設(shè)是3分鐘長(zhǎng)的音頻序列,并且每一色度對(duì)應(yīng)于50毫秒間隔),并且不需要具有與另一個(gè)相同的數(shù)量的色度。圖2B圖示實(shí)例子序列匹配,其中已發(fā)現(xiàn)色度A1到A3在語(yǔ)義上對(duì)應(yīng)于色度B3到B5,這意味作為整體,色度向量對(duì)<A1,B3>、<A2,B4>和<A3,B5>具有極類似值,并且因此將對(duì)于人類收聽者來(lái)說(shuō)聽起來(lái)一樣。
在兩個(gè)聲音序列內(nèi)尋找對(duì)應(yīng)子序列的能力實(shí)現(xiàn)許多應(yīng)用。一種應(yīng)用是確定一首歌曲是否與另一首相同(例如,由于歌曲的大的子序列對(duì)應(yīng))。另一應(yīng)用是響應(yīng)于用戶唱出或以其它方式通過(guò)音頻輸入描述歌曲的一部分,通過(guò)試圖在已知歌曲內(nèi)尋找在語(yǔ)義上對(duì)應(yīng)于用戶所提供的音頻輸入的子序列而尋找該歌曲。
為了確定個(gè)別色度——或多個(gè)色度的子序列——在語(yǔ)義上是否相互對(duì)應(yīng),需要語(yǔ)義對(duì)應(yīng)度的某一量度。作為實(shí)例,量化兩個(gè)色度c1與c2之間的語(yǔ)義對(duì)應(yīng)度的相似函數(shù)可被定義為sim(c1,c2)=c1·c2/|c1||c2|。作為3元素色度向量c1=<1,0,1>和c2=<1,1,0>(其中向量值是0或1以簡(jiǎn)化實(shí)例)的簡(jiǎn)化實(shí)例,相似評(píng)分是sim(c1,c2)=<1,0,1>·<1,1,0>/|<1,0,1>||<1,1,0>|=(1*1+0*1+1*0)/[(12+02+12)*(12+12+02)]=1/[2*2]=1/4。
然而,可難以解譯特定相似函數(shù)所產(chǎn)生的對(duì)應(yīng)評(píng)分的含義。在上文的實(shí)例中,評(píng)分1/4不固有地傳達(dá)該評(píng)分是否是“良好”評(píng)分,即,與原本通常在隨機(jī)選擇的色度對(duì)內(nèi)發(fā)生的色度向量相似所導(dǎo)致的評(píng)分相比,該評(píng)分是否表示色度之間的有意義的語(yǔ)義對(duì)應(yīng)度(以使得色度將可能對(duì)于人類收聽者來(lái)說(shuō)聽起來(lái)一樣)。額外經(jīng)驗(yàn)知識(shí)對(duì)于知曉例如0.6是在具有真正有意義的語(yǔ)義對(duì)應(yīng)的色度向量與僅具有偶然對(duì)應(yīng)度的色度向量之間最有效地進(jìn)行區(qū)別的適當(dāng)截止評(píng)分值將是必要的。額外經(jīng)驗(yàn)知識(shí)對(duì)于確定具有評(píng)分0.6的10個(gè)連續(xù)色度匹配是否表示比具有評(píng)分0.5的12個(gè)連續(xù)色度匹配強(qiáng)也將是必要的。在甚至單個(gè)色度對(duì)的對(duì)應(yīng)評(píng)分也不能傳達(dá)對(duì)應(yīng)是否確實(shí)強(qiáng)的、例如上文所述的實(shí)例中,確定由許多色度構(gòu)成的整個(gè)子序列的有意義的對(duì)應(yīng)評(píng)分更困難。
圖3是圖示根據(jù)一個(gè)實(shí)施例的圖1的音頻分析模塊105的詳細(xì)視圖的高階框圖。使用關(guān)于子序列之間的確實(shí)的語(yǔ)義對(duì)應(yīng)的已知信息并通過(guò)比較這些語(yǔ)義對(duì)應(yīng)與隨機(jī)選擇的子序列中所固有的較弱對(duì)應(yīng),音頻分析模塊105導(dǎo)出適用于色度對(duì)的對(duì)應(yīng)函數(shù)(下文稱為match()函數(shù))。在直觀上,所導(dǎo)出的對(duì)應(yīng)函數(shù)match(),針對(duì)使用某初始對(duì)應(yīng)函數(shù)(例如,上文所述的實(shí)例函數(shù)sim(c1,c2))而獲得的第一色度對(duì)應(yīng)評(píng)分,而表示相比色度c1和c2僅在其色度向量中具有偶然相似,該評(píng)分更可能指示色度c1和c2在語(yǔ)義上對(duì)應(yīng)的程度。因此,所導(dǎo)出的對(duì)應(yīng)函數(shù)match()所產(chǎn)生的語(yǔ)義對(duì)應(yīng)評(píng)分傳達(dá)固有含義,而不求助于關(guān)于評(píng)分的含義的額外經(jīng)驗(yàn)知識(shí)。
音頻分析模塊105包括表示音頻分析模塊導(dǎo)出的函數(shù)305的集合的數(shù)據(jù)。所述函數(shù)包含概率密度函數(shù)PM,其中概率密度函數(shù)PM將色度對(duì)的給定初始對(duì)應(yīng)函數(shù)(例如,sim(c1,c2))的輸出映射到其指示兩個(gè)色度的有意義的對(duì)應(yīng)的概率。所述函數(shù)還包含概率密度函數(shù)PR,其中概率密度函數(shù)PR將給定初始對(duì)應(yīng)函數(shù)的輸出映射到其指示隨機(jī)地選擇的/具有隨機(jī)對(duì)應(yīng)而不是具有確實(shí)的語(yǔ)義對(duì)應(yīng)的一對(duì)色度的概率。所述函數(shù)還包含所導(dǎo)出的對(duì)應(yīng)函數(shù)match(),其中所導(dǎo)出的對(duì)應(yīng)函數(shù)match()繼而是PM的PR的函數(shù)。在一個(gè)實(shí)施例中,match()函數(shù)被定義為match(c1,c2)=log(PM/PR)。
音頻分析模塊105包括輸入集合形成模塊310,其中輸入集合形成模塊310建立充當(dāng)對(duì)函數(shù)導(dǎo)出模塊340的輸入的音頻序列的集合,其中函數(shù)導(dǎo)出模塊340導(dǎo)出函數(shù)305。具體來(lái)說(shuō),輸入集合形成模塊310識(shí)別含有已被確定為具有語(yǔ)義對(duì)應(yīng)的音頻序列的第一集合SM。如果一對(duì)音頻序列中的兩個(gè)序列已被確定為具有類似音頻性質(zhì)(在直觀上,聽起來(lái)一樣),那么所述一對(duì)音頻序列被稱為具有語(yǔ)義對(duì)應(yīng)。在一個(gè)實(shí)施例中,音頻序列具有類似音頻性質(zhì)的確定是手動(dòng)地進(jìn)行,例如,通過(guò)人類專家收聽不同音頻序列(例如,歌曲)并確定它們聽起來(lái)一樣。
輸入集合形成模塊310還形成含有輸入集合形成模塊從音頻存儲(chǔ)庫(kù)101隨機(jī)地選擇的音頻序列的集合SR。因此,不同于集合SM內(nèi)的序列,集合SR內(nèi)的序列尚未被確定為在語(yǔ)義上對(duì)應(yīng),并且可能不在語(yǔ)義上對(duì)應(yīng)。
音頻分析模塊105還包括對(duì)評(píng)分模塊320,其中對(duì)評(píng)分模塊320針對(duì)任何兩個(gè)音頻序列而產(chǎn)生第一序列與第二序列之間的各種可能色度對(duì)的評(píng)分。評(píng)分由所導(dǎo)出的對(duì)應(yīng)函數(shù)match()的當(dāng)前狀態(tài)產(chǎn)生,其中所導(dǎo)出的對(duì)應(yīng)函數(shù)match()繼而是PM的PR的函數(shù)。例如,圖4圖示對(duì)評(píng)分模塊320針對(duì)圖2A和圖2B的兩個(gè)實(shí)例序列(即,SequenceA 201和SequenceB 202)而產(chǎn)生的評(píng)分的實(shí)例集合,其中圖2A和圖2B的兩個(gè)實(shí)例序列都具有8色度。因此,對(duì)評(píng)分模塊320產(chǎn)生可如圖4的柵格所圖示而可視化的8*8=64個(gè)評(píng)分的集合,其中元素Hi,j表示match(ci,cj)所輸出的評(píng)分,ci是SequenceA 401中的第i色度向量,并且cj是SequenceB 402中的第j色度向量。
音頻分析模塊105還包括子序列識(shí)別模塊330,其中子序列識(shí)別模塊330將對(duì)評(píng)分模塊320針對(duì)一對(duì)色度而產(chǎn)生的對(duì)評(píng)分的集合作為輸入?;趯?duì)評(píng)分,子序列識(shí)別模塊330基于子序列的構(gòu)成色度的語(yǔ)義對(duì)應(yīng)度而識(shí)別最強(qiáng)地具有語(yǔ)義對(duì)應(yīng)的子序列。例如,給定圖4所圖示的對(duì)評(píng)分的樣本集合,子序列識(shí)別模塊330可基于對(duì)應(yīng)match()評(píng)分H1,3、H2,4和H3,5的總和相對(duì)高于其它子序列的match()評(píng)分的總和而將子序列A1到A3和B3到B5識(shí)別為具有語(yǔ)義對(duì)應(yīng)。
在一個(gè)實(shí)施例中,子序列識(shí)別模塊330使用具有仿射空位罰分(affine gap penalty)的動(dòng)態(tài)編程算法以在全部序列中識(shí)別具有最大match()評(píng)分總和的連續(xù)色度的集合。
音頻分析模塊105還包括函數(shù)導(dǎo)出模塊340,其中函數(shù)導(dǎo)出模塊340從輸入集合形成模塊310所產(chǎn)生的輸入集合導(dǎo)出函數(shù)PM、PR和match()。函數(shù)導(dǎo)出模塊340基于集合SR的值而在單個(gè)迭代中導(dǎo)出函數(shù)PR。即,初始對(duì)應(yīng)函數(shù)(例如,sim())的評(píng)分是針對(duì)來(lái)自SR的不同對(duì)的隨機(jī)選擇的音頻序列而計(jì)算。所述評(píng)分接著擬合到概率分布(例如,例如β概率分布),其中該概率分布接著用作函數(shù)PR。
函數(shù)導(dǎo)出模塊340在多個(gè)迭代上導(dǎo)出函數(shù)PM和match()。在第一迭代中,PM被設(shè)定為粗略初始近似,其中粗略初始近似隨后在稍后迭代中得到改進(jìn)。例如,在一個(gè)實(shí)施例中,PM被初始化為PM(x)=2–2x,其中x是初始色度對(duì)應(yīng)函數(shù)(例如,如上所述,sim(c1,c2))所輸出的值,但應(yīng)了解,可同樣使用許多其它初始函數(shù)。所導(dǎo)出的對(duì)應(yīng)函數(shù)(match())的輸出可接著依據(jù)PM的當(dāng)前值和PR而得以計(jì)算。
在每一迭代中,函數(shù)導(dǎo)出模塊340使用PR的值與PM的當(dāng)前值以及match(),以進(jìn)一步改進(jìn)PM和match()函數(shù)。例如,函數(shù)導(dǎo)出模塊340通過(guò)使用對(duì)評(píng)分模塊320而導(dǎo)出PM的新值,以產(chǎn)生輸入集合SM中的已知的語(yǔ)義上對(duì)應(yīng)的子序列對(duì)的對(duì)評(píng)分。函數(shù)導(dǎo)出模塊340還使用子序列識(shí)別模塊330以識(shí)別具有最大match()評(píng)分總和的色度的子序列。函數(shù)導(dǎo)出模塊340將來(lái)自初始對(duì)應(yīng)函數(shù)的評(píng)分(例如,如上所述,sim()函數(shù))擬合到概率分布,其中所述概率分布充當(dāng)PM的新值。
在一個(gè)實(shí)施例中,概率分布是β分布,如圖5A所圖示,但其它分布也是可能的。具體來(lái)說(shuō),圖5A圖示特定相似函數(shù)(即,如上文所定義的sim(c1,c2)=c1·c2/|c1||c2|)的樣本PM和PR函數(shù),如β分布概率密度函數(shù)所建模。實(shí)線所表示的PM函數(shù)針對(duì)約0.93的sim()評(píng)分而達(dá)到峰值,從而指示具有語(yǔ)義對(duì)應(yīng)的一對(duì)色度將最可能產(chǎn)生0.93的sim()評(píng)分。PM針對(duì)低于0.7(舉例來(lái)說(shuō))的sim()評(píng)分而產(chǎn)生的相對(duì)低的值指示具有語(yǔ)義對(duì)應(yīng)的一對(duì)色度將產(chǎn)生低于0.7的sim()評(píng)分是根本不可能的。類似地,PR函數(shù)針對(duì)約0.79的sim()評(píng)分而達(dá)到峰值,從而意味典型的隨機(jī)選擇的一對(duì)色度將產(chǎn)生約0.79的sim()評(píng)分。
在一個(gè)實(shí)施例中,所導(dǎo)出的對(duì)應(yīng)函數(shù)match()被定義為match(c1,c2)=log(PM/PR)。圖5B圖示對(duì)應(yīng)于圖5A的樣本PM和PR概率密度函數(shù)的樣本match()函數(shù)的曲線圖。
由于對(duì)數(shù)的性質(zhì),log(PM/PR)=log PM-log PR。因此,0的match()評(píng)分指示log PM(sim(c1,c2))=log PR(sim(c1,c2)),即PM(sim(c1,c2))=PR(sim(c1,c2)),從而意味著與色度c1和c2僅具有隨機(jī)選擇的色度特有的對(duì)應(yīng)度的情況相比,色度c1和c2不會(huì)更具有語(yǔ)義對(duì)應(yīng)。圖5B的樣本match()函數(shù)針對(duì)約0.83(PM和PR曲線圖在圖5A中交叉之處的值)的輸入具有值0。
此外,由于logΠPi=Σlog Pi(即,一起發(fā)生的事件Pi的概率的對(duì)數(shù)等于個(gè)別發(fā)生的事件的概率的對(duì)數(shù)的總和)的對(duì)數(shù)性質(zhì),來(lái)自色度對(duì)的連續(xù)范圍的所導(dǎo)出的對(duì)應(yīng)函數(shù)match()的評(píng)分的總和等于該范圍上的匹配的組合概率的對(duì)數(shù)。因此,該范圍的評(píng)分X(即,在該范圍的所有對(duì)<ci,cj>上評(píng)估的評(píng)分Σlog(PM(sim(ci,cj))/PR(sim(ci,cj)))在一對(duì)語(yǔ)義上對(duì)應(yīng)的序列中發(fā)生的可能性是在隨機(jī)選擇的一對(duì)序列中的eX倍。因?yàn)閙atch()評(píng)分甚至不取決于匹配范圍中的色度對(duì)的數(shù)量,所以不同長(zhǎng)度的子序列的無(wú)偏比較是可能的。例如,與具有弱匹配的長(zhǎng)子序列一樣同樣不可能偶然發(fā)生的具有強(qiáng)匹配的短子序列將被指派相同累加match()評(píng)分。
因此,因?yàn)樯葘?duì)的連續(xù)范圍的匹配評(píng)分不取決于長(zhǎng)度,并且因?yàn)橐虼瞬煌L(zhǎng)度的子序列的匹配可被有意義地比較,所以單個(gè)范圍的匹配評(píng)分可被確定且應(yīng)用到任何長(zhǎng)度的范圍,從而構(gòu)成截止評(píng)分,其中小于截止評(píng)分的評(píng)分被視為指示非匹配,并且大于或等于截止評(píng)分的評(píng)分被視為指示匹配。在無(wú)法有意義地比較不同長(zhǎng)度的子序列的匹配評(píng)分的其它系統(tǒng)中,難以選擇產(chǎn)生良好精確率與良好查全率(recall)兩者的截止評(píng)分。例如,對(duì)于實(shí)際上長(zhǎng)度10的子序列的色度對(duì)的平均匹配評(píng)分5約等于長(zhǎng)度20的子序列上的平均匹配評(píng)分3的系統(tǒng)來(lái)說(shuō),平均評(píng)分5的截止或平均評(píng)分3的截止都不會(huì)良好適用于長(zhǎng)度10的子序列與長(zhǎng)度20的子序列兩者。例如,選擇產(chǎn)生良好精確率(即,減少假陽(yáng)性)的高截止評(píng)分(例如,在上述實(shí)例中,5)傾向于過(guò)度保守,并且導(dǎo)致低劣查全率(即,不能識(shí)別許多良好匹配);相反選擇產(chǎn)生良好查全率(即,識(shí)別多數(shù)良好匹配)的低截止評(píng)分(即,在上述實(shí)例中,3)傾向于過(guò)度激進(jìn)并且產(chǎn)生低劣精確率(即,將許多低劣匹配識(shí)別為良好匹配)。相比于這些其它系統(tǒng),因?yàn)樯衔乃龅膍atch()評(píng)分值跨越不同長(zhǎng)度的子序列保持一致,所以總的來(lái)說(shuō)良好適用于子序列的單個(gè)截止可被選擇,而不論子序列長(zhǎng)度,并且因此可產(chǎn)生良好精確率而不犧牲查全率,反之亦然。因此,截止match()評(píng)分可被選擇——手動(dòng)地且根據(jù)經(jīng)驗(yàn),或基于具有已知良好和低劣匹配的子序列的訓(xùn)練集合而以編程方式——以識(shí)別任意長(zhǎng)度的子序列的“良好”匹配,并且截止評(píng)分將關(guān)于精確率與查全率兩者而產(chǎn)生有利的結(jié)果。
應(yīng)注意,函數(shù)match()所產(chǎn)生的評(píng)分在以下意義上獨(dú)立于所使用的特定初始對(duì)應(yīng)函數(shù)(例如,上文的sim()):評(píng)分具有上文所論述的性質(zhì),而不論所使用的初始對(duì)應(yīng)函數(shù)如何。例如,不論所使用的初始對(duì)應(yīng)函數(shù)如何,一對(duì)色度的match()評(píng)分0指示相比該對(duì)色度被隨機(jī)選擇的情況,該對(duì)不會(huì)更具有語(yǔ)義對(duì)應(yīng)。
音頻分析模塊105視情況包含近似產(chǎn)生模塊350,其中近似產(chǎn)生模塊350產(chǎn)生近似函數(shù)match()并可較有效地計(jì)算的函數(shù)。例如,在一個(gè)實(shí)施例中,近似產(chǎn)生模塊350計(jì)算形式為(anxn+an-1xn-1+…+a1x+a0)/(bmxm+bm-1xm-1+…+b1x+b0)的有理內(nèi)插函數(shù),其中系數(shù)ai和bj是定義有理內(nèi)插函數(shù)的所計(jì)算的參數(shù)。假設(shè)分子和分母由多項(xiàng)式函數(shù)定義,那么分子和分母可被有效地計(jì)算。
音頻分析模塊105視情況包含音頻對(duì)應(yīng)識(shí)別模塊360,其中音頻對(duì)應(yīng)識(shí)別模塊360識(shí)別音頻序列之間的語(yǔ)義對(duì)應(yīng)。具體來(lái)說(shuō),給定第一音頻序列和第二音頻序列,對(duì)應(yīng)識(shí)別模塊360通過(guò)使用對(duì)評(píng)分模塊320以使用函數(shù)導(dǎo)出模塊340所確定的最終match()函數(shù)而產(chǎn)生兩個(gè)音頻序列的色度對(duì)之間的match()評(píng)分,來(lái)識(shí)別兩個(gè)音頻序列之間的最佳匹配子序列。給定match()函數(shù)所使用的評(píng)分,對(duì)應(yīng)識(shí)別模塊360進(jìn)一步使用子序列識(shí)別模塊330以識(shí)別最佳子匹配。對(duì)應(yīng)識(shí)別模塊360可接著基于所識(shí)別的子序列,例如,所識(shí)別的子序列的數(shù)量、所識(shí)別的子序列的累加match()評(píng)分(即,子序列中的色度對(duì)的match()評(píng)分的總和)或其某一組合,而確定兩個(gè)音頻序列作為整體是否具有語(yǔ)義對(duì)應(yīng)。
整體識(shí)別音頻序列的語(yǔ)義對(duì)應(yīng)的能力允許進(jìn)行各種音頻匹配操作。作為來(lái)自一個(gè)實(shí)施例的一個(gè)實(shí)例,用戶吹口哨或哼唱一首曲子,或以其它方式提供言語(yǔ)音頻輸入,并且音頻對(duì)應(yīng)識(shí)別模塊360比較該曲子的音頻序列與音頻存儲(chǔ)庫(kù)101中的已知音頻序列,從而將音頻序列的最佳匹配作為整體向用戶呈現(xiàn),如上文所解釋。例如,圖8是根據(jù)一個(gè)實(shí)施例的圖示響應(yīng)于用戶對(duì)用戶的裝置麥克風(fēng)輸入哼唱而發(fā)現(xiàn)的歌曲音頻序列801到804的匹配集合并允許用戶收聽這些音頻序列的實(shí)例用戶界面。在變化中,用戶例如通過(guò)上傳含有音樂(lè)的片段的文件以與已知歌曲匹配而提供非言語(yǔ)音頻輸入。作為來(lái)自一個(gè)實(shí)施例的另一實(shí)例,系統(tǒng)使用音頻對(duì)應(yīng)識(shí)別模塊360以比較給定音頻序列與已知的版權(quán)所有的音頻序列以識(shí)別可能的版權(quán)侵犯。例如,音頻服務(wù)器100自身可針對(duì)已存在于音頻存儲(chǔ)庫(kù)101中的版權(quán)所有的音頻序列而檢查提交給音頻存儲(chǔ)庫(kù)101的新音頻序列,從而如果發(fā)現(xiàn)具有相對(duì)于版權(quán)所有的音頻序列的語(yǔ)義對(duì)應(yīng),那么標(biāo)記新音頻序列。作為來(lái)自一個(gè)實(shí)施例的又一實(shí)例,系統(tǒng)使用音頻對(duì)應(yīng)識(shí)別模塊360以比較用戶語(yǔ)音與已知語(yǔ)言模型以便執(zhí)行語(yǔ)音識(shí)別。
圖6是圖示根據(jù)一個(gè)實(shí)施例的在計(jì)算PM和PR(以及取決于PM和PR的match()函數(shù))時(shí)的音頻分析模塊105的操作的數(shù)據(jù)流程圖。
在步驟610中,音頻分析模塊105例如如上文關(guān)于輸入集合形成模塊310所論述而建立輸入集合SM和SR。音頻分析模塊105還基于集合SR來(lái)計(jì)算620函數(shù)PR,并且將函數(shù)PM初始化為函數(shù)2–2x,如上文所論述。
為了計(jì)算較佳函數(shù)PM,音頻分析模塊105基于所導(dǎo)出的對(duì)應(yīng)函數(shù)match()(其繼而基于PM和PR)的當(dāng)前迭代的值而迭代地重新計(jì)算PM。這涉及識(shí)別630SM中match()函數(shù)指示具有最強(qiáng)語(yǔ)義對(duì)應(yīng)的音頻序列的子序列對(duì)。這可如上文關(guān)于子序列識(shí)別模塊330所論述來(lái)實(shí)現(xiàn)。接著,例如如上文關(guān)于函數(shù)導(dǎo)出模塊340所論述通過(guò)將所識(shí)別的子序列中的色度的初始對(duì)應(yīng)函數(shù)(例如,sim())所產(chǎn)生的評(píng)分?jǐn)M合到概率密度函數(shù)(例如,β分布函數(shù))而更新PM函數(shù)。迭代繼續(xù)直到PM函數(shù)穩(wěn)定(即,如步驟650所評(píng)估的,先前迭代以來(lái)的PM函數(shù)的改變小于給定閾值)為止。所計(jì)算的PM和PR函數(shù)存儲(chǔ)在分布存儲(chǔ)庫(kù)305中。
視情況,也可計(jì)算660相對(duì)于函數(shù)match()=log(PM/PR)的更具計(jì)算效率的近似,如上文關(guān)于近似產(chǎn)生模塊350所描述。
在一個(gè)實(shí)施例中,集合SM和SR是針對(duì)音頻存儲(chǔ)庫(kù)101的音頻序列的不同數(shù)量的子集中的每一個(gè)而形成。例如,輸入集合形成模塊310可基于音頻序列的已知音樂(lè)風(fēng)格(例如,爵士音樂(lè)、新世紀(jì)音樂(lè)、凱爾特音樂(lè)、饒舌音樂(lè)、R&B音樂(lè)等)而識(shí)別歌曲音頻序列的不同子集,從而形成每一個(gè)的集合SM和SR,并且還執(zhí)行步驟610到660以產(chǎn)生適用于每一個(gè)的函數(shù)PM和PR(以及match())。適當(dāng)子集的數(shù)據(jù)接著用于額外分析。例如,當(dāng)試圖識(shí)別語(yǔ)義上對(duì)應(yīng)于給定歌曲的歌曲音頻序列時(shí),給定歌曲的風(fēng)格用于識(shí)別對(duì)應(yīng)子集,并且適用于該子集的函數(shù)PM和PR(以及match())用于識(shí)別匹配的子序列。具有風(fēng)格特定數(shù)據(jù)(例如,SM、SR、PM、PR和match())允許例如更準(zhǔn)確地確定已知處于給定風(fēng)格內(nèi)的項(xiàng)目之間的語(yǔ)義對(duì)應(yīng)。
圖7是圖示根據(jù)一個(gè)實(shí)施例的用作圖1的音頻服務(wù)器100或客戶端110的一部分或全部的計(jì)算機(jī)700的物理組件的高階框圖。圖示耦接到芯片組704的至少一個(gè)處理器702。存儲(chǔ)器706、存儲(chǔ)裝置708、鍵盤710、圖形適配器712、指向裝置714和網(wǎng)絡(luò)適配器716也耦接到芯片組704。顯示器718耦接到圖形適配器712。在一個(gè)實(shí)施例中,芯片組704的功能性由存儲(chǔ)器控制器集線器720和/或I/O控制器集線器722提供。在另一實(shí)施例中,存儲(chǔ)器706直接耦接到處理器702而不是芯片組704。
存儲(chǔ)裝置708是任何非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如,硬盤、壓縮光盤只讀存儲(chǔ)器(CD-ROM)、DVD或固態(tài)存儲(chǔ)器裝置。存儲(chǔ)器706保持處理器702所使用的指令和數(shù)據(jù)。指向裝置714可以是鼠標(biāo)、軌跡球或其它類型的指向裝置,并且結(jié)合鍵盤710而使用以將數(shù)據(jù)輸入到計(jì)算機(jī)700中。圖形適配器712在顯示器718上顯示圖像和其它信息。網(wǎng)絡(luò)適配器716將計(jì)算機(jī)700耦接到局域網(wǎng)或廣域網(wǎng)。
如此項(xiàng)技術(shù)中已知,計(jì)算機(jī)700可具有除圖7所示的組件以外的不同的和/或其它的組件。此外,計(jì)算機(jī)700可缺少某些所圖示的組件。在一個(gè)實(shí)施例中,充當(dāng)服務(wù)器的計(jì)算機(jī)700可缺少鍵盤710、指向裝置714、圖形適配器712和/或顯示器718。此外,存儲(chǔ)裝置708可處于計(jì)算機(jī)700本地和/或遠(yuǎn)離計(jì)算機(jī)700(例如,體現(xiàn)在存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)內(nèi))。
如此項(xiàng)技術(shù)中已知,計(jì)算機(jī)700適用于執(zhí)行用于提供本文所述的功能性的計(jì)算機(jī)程序模塊。如本文所使用,術(shù)語(yǔ)“模塊”是指用于提供指定功能性的計(jì)算機(jī)程序邏輯。因此,模塊可實(shí)施在硬件、固件和/或軟件中。在一個(gè)實(shí)施例中,程序模塊存儲(chǔ)在存儲(chǔ)裝置708上,加載到存儲(chǔ)器706中并由處理器702執(zhí)行。
其它事項(xiàng)
已關(guān)于一個(gè)可能實(shí)施例特別詳細(xì)地描述本發(fā)明。本領(lǐng)域的技術(shù)人員應(yīng)了解,本發(fā)明可實(shí)踐在其它實(shí)施例中。首先,組件和變量的特定命名、術(shù)語(yǔ)的大寫、屬性、數(shù)據(jù)結(jié)構(gòu)或任何其它編程或結(jié)構(gòu)方面不是強(qiáng)制性的或重要的,并且實(shí)施本發(fā)明或其特征的機(jī)制可具有不同名稱、格式或協(xié)議。并且,本文所述的各種系統(tǒng)組件之間的功能性的特定劃分僅是出于實(shí)例的目的,并且不是強(qiáng)制性的;單個(gè)系統(tǒng)組件所執(zhí)行的功能可改為由多個(gè)組件執(zhí)行,并且多個(gè)組件所執(zhí)行的功能可改為由單個(gè)組件執(zhí)行。
上文描述的一些部分在關(guān)于信息的操作的算法和符號(hào)表示方面呈現(xiàn)本發(fā)明的特征。這些算法描述和表示是數(shù)據(jù)處理領(lǐng)域的技術(shù)人員所使用以最大有效地將其工作的實(shí)質(zhì)傳達(dá)給本領(lǐng)域的技術(shù)人員的方式。這些操作雖然是在功能或邏輯上描述,但被理解為由計(jì)算機(jī)程序?qū)嵤?。此外,已被證實(shí)時(shí)常方便的是,將操作的這些布置稱為模塊或功能名稱,而不損失通用性。
除非另外具體陳述為從上文的論述清楚,否則應(yīng)了解,在本說(shuō)明書全文中,利用例如“確定”或“顯示”等術(shù)語(yǔ)進(jìn)行的論述表示計(jì)算機(jī)系統(tǒng)或類似電子計(jì)算裝置的動(dòng)作或過(guò)程,該計(jì)算機(jī)系統(tǒng)或類似電子計(jì)算裝置在計(jì)算機(jī)系統(tǒng)存儲(chǔ)器或寄存器或其它此種信息存儲(chǔ)、傳輸或顯示裝置內(nèi)的操作和變換被表示為物理(電子)量的數(shù)據(jù)。
本發(fā)明的某些方面包含本文所述的呈算法的形式的過(guò)程步驟和指令。應(yīng)注意,本發(fā)明的過(guò)程步驟和指令可體現(xiàn)在軟件、固件或硬件中,并且當(dāng)體現(xiàn)在軟件中時(shí),可被下載以常駐在實(shí)時(shí)網(wǎng)絡(luò)操作系統(tǒng)所使用的不同平臺(tái)上并從所述不同平臺(tái)操作。
本發(fā)明還涉及用于執(zhí)行本文中的操作的設(shè)備。此設(shè)備可針對(duì)所需用途來(lái)專門構(gòu)造,或可包括可由計(jì)算機(jī)存取的計(jì)算機(jī)可讀介質(zhì)上所存儲(chǔ)的計(jì)算機(jī)程序選擇性激活或重新配置的通用計(jì)算機(jī)。此計(jì)算機(jī)程序可存儲(chǔ)在非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,例如,但不限于任何類型的盤片(包含軟盤、光盤、CD-ROM和磁光盤)、只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、EPROM、EEPROM、磁卡或光卡、專用集成電路(ASIC)或適用于存儲(chǔ)電子指令并各自耦接到計(jì)算機(jī)系統(tǒng)總線的任何類型的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。此外,本說(shuō)明書中所引用的計(jì)算機(jī)可包含單個(gè)處理器或可以是使用多個(gè)處理器設(shè)計(jì)以提高計(jì)算能力的架構(gòu)。
本文所呈現(xiàn)的算法和操作不是固有地與任何特定計(jì)算機(jī)或其它設(shè)備相關(guān)。各種通用系統(tǒng)也可根據(jù)本文中的教示與程序一起使用,或可被證實(shí)方便的是,構(gòu)造較專業(yè)化的設(shè)備以執(zhí)行所需的方法步驟。各種這些系統(tǒng)的所需結(jié)構(gòu)與等同變化對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō)將是清楚的。此外,不參考任何特定編程語(yǔ)言來(lái)描述本發(fā)明。應(yīng)了解,各種編程語(yǔ)言可用于實(shí)施如本文所述的本發(fā)明的教示,并且對(duì)特定語(yǔ)言的任何引用被提供以用于發(fā)明本發(fā)明的實(shí)現(xiàn)和最佳模式。
本發(fā)明良好適用于許多拓?fù)涞膹V泛各種計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)。在此領(lǐng)域內(nèi),大型網(wǎng)絡(luò)的配置和管理包括在例如因特網(wǎng)等網(wǎng)絡(luò)上通信地耦接到不同計(jì)算機(jī)和存儲(chǔ)裝置的存儲(chǔ)裝置和計(jì)算機(jī)。
最終,應(yīng)注意,本說(shuō)明書中所使用的語(yǔ)言已主要出于可讀性和指導(dǎo)的目的來(lái)選擇,并且可并不是為了描繪或限制本發(fā)明主題來(lái)選擇。因此,本發(fā)明的公開內(nèi)容希望說(shuō)明而不是限制本發(fā)明的范圍。