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

旋律數(shù)據(jù)庫搜索的制作方法

文檔序號:6501714閱讀:186來源:國知局
專利名稱:旋律數(shù)據(jù)庫搜索的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種在旋律(Melody)數(shù)據(jù)庫中搜索代表一個音頻片斷的查詢字符串的方法。本發(fā)明進而涉及一種在旋律數(shù)據(jù)庫中搜索代表一個音頻片斷的查詢字符串的系統(tǒng),以及一種用于這種系統(tǒng)的服務(wù)器。
背景技術(shù)
隨著通過互聯(lián)網(wǎng)的音頻分發(fā)的增長,特定音頻音軌/標(biāo)題的獲取也變得更加重要。傳統(tǒng)上,用戶可以在元數(shù)據(jù)上搜索音頻標(biāo)題/音軌,諸如藝術(shù)家名稱,作曲家,唱片公司,等等。接著通過數(shù)據(jù)庫來搜索匹配的音軌。接著用戶從可能多個命中的結(jié)果中選擇其中一個來播放/下載。由于用戶可能不是總能夠指定任何適當(dāng)?shù)脑獢?shù)據(jù),指定查詢字符串的其它形式也變得可用了。US 5,963,957描述了所謂的“哼唱查詢”方法。用戶可以簡單地哼唱一個音軌的一部分。用戶哼唱的音頻片斷被轉(zhuǎn)換成一個查詢字符串(例如通過將哼唱的片斷轉(zhuǎn)換成一個單音序列或音單音差分序列)。接著從數(shù)據(jù)庫中搜索匹配的音軌(或者,更一般地,包括哼唱片斷的更長的音頻片斷)。匹配基于一種距離度量。可以使用統(tǒng)計標(biāo)準(zhǔn)。其它一些音頻輸入形式也是已知的,例如吟唱,口哨或節(jié)拍。
發(fā)明概述本發(fā)明的一個目的是提供一種前面所提出類型的改進的方法、系統(tǒng)和服務(wù)器,所述方法、系統(tǒng)和服務(wù)提高了在數(shù)據(jù)庫中定位音頻片斷的準(zhǔn)確性。
為了實現(xiàn)本發(fā)明的目的,在旋律數(shù)據(jù)庫中為一個代表音頻片斷的查詢字符串搜索匹配的方法包括將所述查詢字符串分解成多個查詢子串的序列;對于每個子串,獨立地從數(shù)據(jù)庫中搜索至少一個與該子串最接近的匹配;以及根據(jù)對于各個子串的搜索結(jié)果,為所述查詢字符串確定至少一個最接近的匹配。
本發(fā)明者已經(jīng)認(rèn)識到代表用戶的音頻輸入的查詢字符串事實上可能不是數(shù)據(jù)庫中表示的較大音頻片斷連貫、順序的一部分。例如,用戶可能提供了一個表示具有兩個樂句(phrase)的音頻片斷的查詢字符串用戶開始唱了一句主唱,接著唱了一句合唱,跳過了位于第一樂句和合唱樂句之間的其它樂句。只要用戶只提供了其中一個樂句,就可能在數(shù)據(jù)庫中發(fā)現(xiàn)一個“完美”匹配。常規(guī)的搜索方法企圖在數(shù)據(jù)庫中匹配兩個樂句的整個序列。在許多情況下,這不能給出非常接近的匹配(如果能夠可靠地檢測到任何匹配)并將至少減小系統(tǒng)的準(zhǔn)確性。按照本發(fā)明,查詢字符串被分解成多個查詢子串的序列。這些子串被獨立地與數(shù)據(jù)庫中存儲的音頻表示相匹配。各個匹配操作的結(jié)果被用來確定與整個查詢字符串的匹配。在用戶提供了兩個非連續(xù)樂句作為查詢字符串的例子中,可以更加可靠地定位兩個樂句。如果對于同一個音軌二者都顯示出良好的匹配,能夠可靠地將該音軌識別為與整個查詢相匹配。
近來,能夠存儲音頻的高容量本地系統(tǒng)變得很流行了。這種系統(tǒng)可以采取任何形式,諸如具有音頻播放機的PC,具有內(nèi)置調(diào)諧器和硬盤的機頂盒,硬盤記錄器,等等。另外便攜式高容量音頻存儲系統(tǒng)也變得可用了,諸如蘋果iPod以及飛利浦HDD100。這些本地存儲系統(tǒng)能夠輕松地存儲數(shù)千音軌。常規(guī)地,這些系統(tǒng)使得用戶通過指定一個或多個元數(shù)據(jù)項能夠獲取特定音軌,這些元數(shù)據(jù)項諸如藝術(shù)家、標(biāo)題、唱片等。按照本發(fā)明的方法也可被用于快速地在這種系統(tǒng)中選擇一個音軌,特別在用戶忘記相關(guān)元數(shù)據(jù)的情況下。
按照附屬權(quán)利要求2的方法,所述分解將查詢分割成子串,每個子串對應(yīng)于一個樂句。能夠以任何適當(dāng)?shù)姆绞絹頇z測樂句邊界,例如一個樂句通常為8到20個音符長,圍繞一個主音。在樂句之間可以出現(xiàn)停頓以換氣并且主音可以改變。樂句通常以放慢的哼唱結(jié)束。或者,可以通過較大的單音差別(例如間隔)和較大的單音持續(xù)時間來區(qū)分樂句。通過單獨地識別查詢字符串中表示的順序樂句,提高了準(zhǔn)確性。
按照附屬權(quán)利要求3的方法,用戶可以提供表示音頻片斷的查詢字符串,所述音頻片斷是多個由不同輸入模態(tài)輸入的音頻部分的混合。常規(guī)的旋律數(shù)據(jù)庫僅僅支持一種類型的輸入模態(tài)。因此,用戶必須使用數(shù)據(jù)庫的輸入類型。按照本發(fā)明,可以從數(shù)據(jù)庫中搜索使用多種模態(tài)輸入的音頻片斷。按照獨立權(quán)利要求4的方法,至少其中一種查詢輸入模態(tài)是以下一種哼唱,吟唱,口哨,節(jié)拍,擊掌,敲擊聲。原則上,可以使用任何適當(dāng)?shù)妮斎肽B(tài),只要數(shù)據(jù)庫支持該類型。
按照附屬權(quán)利要求5的方法,只要檢測到輸入模態(tài)中的變化,就開始一個新的子串。如上所述,常規(guī)的旋律數(shù)據(jù)庫只可以搜索整個查詢字符串。本發(fā)明者已經(jīng)認(rèn)識到用戶可能在輸入由查詢字符串表示的音頻片斷期間會改變輸入模態(tài)。例如,用戶可能吟唱合唱的一個樂句并且可能哼唱主唱的一個樂句。通過分割查詢字符串,可以獨立地搜索對應(yīng)于不同輸入模態(tài)的部分,例如使用為各個輸入模態(tài)最優(yōu)化的數(shù)據(jù)庫或在數(shù)據(jù)庫中將同一樂句表示為各種模態(tài)。
按照附屬權(quán)利要求6的方法,使用了一種對子串的位置和尺寸最優(yōu)化的迭代自動過程。以這種方式,可以自動地發(fā)現(xiàn)一種分解。對子串?dāng)?shù)量作了一個初始估計。每個子串將由各自的(具有子串的音頻特征的)質(zhì)心表示。因此,初始估計確定了質(zhì)心的初始數(shù)量。質(zhì)心初始位置的選擇可以沿著音頻片斷等距地分布。起初子串可以為等尺寸的。所述過程接著最小化子串和其質(zhì)心之間的距離。從一個輸入模態(tài)到另外一個的跳轉(zhuǎn)通常將負(fù)面地影響距離。因此,如果一個子串初始時與音頻片斷中的兩個連續(xù)輸入模態(tài)相重疊,那么最小化趨向于移動子串邊界,直到它大體上落在與其質(zhì)心相同的輸入模態(tài)中。類似地,下一個子串的邊界將被移動。
按照附屬權(quán)利要求7的方法,子串?dāng)?shù)量的初始估計(并且因而質(zhì)心的數(shù)量)基于音頻片斷的持續(xù)時間與一個樂句平均持續(xù)時間的比較。例如,可以假定具有40個單音的音頻片斷包括最多5個樂句(基于最小樂句長度為8個單音)。因此,能夠以沿著音頻片斷等距分布的5個質(zhì)心開始迭代。優(yōu)選地,這個質(zhì)心數(shù)量被用作最大質(zhì)心數(shù)量。可以對更少的質(zhì)心執(zhí)行相同的優(yōu)化,以便適用于片斷高度連貫(例如用戶唱出了一個正確的樂句序列)的情形。
按照附屬權(quán)利要求8的方法,不使用隱式地將查詢字符串分割成多個連續(xù)子串的自動最小化過程(其中距離度量作為隱式分類標(biāo)準(zhǔn)),或除了使用隱式分類之外,還可以使用顯式的分類標(biāo)準(zhǔn)進行分割。分配給相同子串的查詢字符串的每一部分滿足相同的預(yù)定分類標(biāo)準(zhǔn),并且每兩個順序子串滿足不同的預(yù)定分類標(biāo)準(zhǔn)。不同的分類標(biāo)準(zhǔn)代表各個輸入模態(tài)的音頻特征。例如,有些輸入模態(tài),如吟唱或哼唱,具有清晰的音調(diào),而其它模態(tài),如敲擊模仿,沒有清晰的音調(diào)(即是噪聲)。應(yīng)當(dāng)理解就對所有用戶適用的意義而言,有些特征是絕對的,而某些特征是相對的(例如相對于吟唱/哼唱的音調(diào),口哨的音調(diào)水平)并且只有在分析了整個音頻片斷之后或由用戶初始訓(xùn)練之后才可以被設(shè)置。
按照附屬權(quán)利要求9的方法,分類導(dǎo)致在輸入查詢字符串中檢測到指示輸入模態(tài)中變化的邊界。檢測到的邊界接著被用作自動分割的約束,使得一個子串必須落在兩個這種連續(xù)邊界之間(即一個子串不能跨越一個邊界)。應(yīng)當(dāng)理解不止一個子串(例如兩個吟唱的樂句)可以位于兩個邊界之間。在這點上,音頻片斷的開始和結(jié)束也計為邊界。
按照附屬權(quán)利要求10的方法,通過以一種相應(yīng)的相似度度量在數(shù)據(jù)庫中為每個子串搜索匹配,為每個子串給出了數(shù)據(jù)庫中N個最接近對應(yīng)部分的一個N-最佳列表(N>=2)?;讷@得的N-最佳列表,確定了對于整個查詢字符串的最優(yōu)匹配(或為整個查詢字符串創(chuàng)建了一個N-最佳列表)。
為了實現(xiàn)本發(fā)明的目的,一種在旋律數(shù)據(jù)庫中為代表音頻片斷的查詢字符串搜索匹配的系統(tǒng)包括一個用于從用戶接收查詢字符串的輸入端;一個用于存儲多個音頻片斷的相應(yīng)表示的旋律數(shù)據(jù)庫;至少一個處理器,用于在程序控制之下-將查詢字符串分解成多個查詢子串序列;-對于每個子串,獨立地從數(shù)據(jù)庫中搜索至少一個與該子串最接近的匹配;-根據(jù)對于各個子串的搜索結(jié)果,為查詢字符串確定至少一個最接近的匹配。
參考下面描述的實施例,作為非限制性的例子,本發(fā)明的這些以及其它方面將被闡明并變得清晰。
附圖簡要說明在附圖中

圖1顯示了一種執(zhí)行按照本發(fā)明方法的分布式系統(tǒng)的框圖;圖2顯示了一種執(zhí)行按照本發(fā)明方法的獨立裝置;圖3顯示了該方法一個實施例的流程圖;以及圖4A和圖4B顯示了示范子分割。
優(yōu)選實施例的詳細(xì)說明按照本發(fā)明,一個查詢字符串被分割成子串,在數(shù)據(jù)庫中對這些子串分別搜索,并且基于結(jié)果確定了一個匹配。所述子分割優(yōu)選地反映了輸入模態(tài)中的變化。這種子分割可以多種方式實現(xiàn)。下面,描述了一種采用動態(tài)編程的最小化算法并且描述了一種分類方法。也可以使用組合的方法,例如其中分類被用作最小化的預(yù)分析。作為針對輸入模態(tài)中的變化執(zhí)行子分割的備選方案,所述子分割可以基于樂句的變化。可以使用任何合適的樂句檢測。優(yōu)選地,結(jié)合在輸入模態(tài)中變化和樂句變化上的子分割。例如,只要輸入模態(tài)中發(fā)生一個變化,就首先執(zhí)行一個子分割,目的是創(chuàng)建子串。只要檢測到樂句變化,就對這些子串進一步子分割。
圖1顯示了示范系統(tǒng)100的一個框圖,其中可以應(yīng)用按照本發(fā)明的方法。在這個系統(tǒng)100中,功能被分布在服務(wù)器110和客戶端(顯示了兩個客戶端120和130)上。服務(wù)器110和客戶端120/130可以通過網(wǎng)絡(luò)140進行通信。這可以是個局域網(wǎng),諸如以太網(wǎng),WiFi,藍(lán)牙,IEEE 1394,等等。優(yōu)選地,網(wǎng)絡(luò)140是一個廣域網(wǎng),如互聯(lián)網(wǎng)。所述裝置包括用于通過網(wǎng)絡(luò)140通信的適當(dāng)?shù)挠布?軟件(在服務(wù)器110中顯示為項目112并且在客戶端中分別顯示為126和136)。這種通信HW/SW是已知的,將不再進一步說明。
在按照本發(fā)明的系統(tǒng)中,用戶直接或間接地指定一個代表音頻片斷的查詢字符串。使用圖1的功能的子分割,用戶通過各自的用戶接口122,132使用其中一個客戶端120或130指定該查詢字符串??蛻舳丝梢栽诔R?guī)的計算機上實現(xiàn),如PC或類似計算機的裝置,諸如PDA。特別地,客戶端可以在包括音樂庫(類似與RealOne,Windows媒體播放器,蘋果iTunes等的音樂庫)的裝置上實現(xiàn),從而使得用戶能夠從庫中指定一個音軌來播放或向庫中下載??梢允褂萌魏芜m當(dāng)?shù)挠脩艚涌?,如鼠?biāo),鍵盤,麥克風(fēng),等。特別地,用戶可以使用音頻或類似音頻的輸入,諸如有聲輸入來指定一個音頻片斷。例如,用戶可以吟唱、哼唱、用口哨吹出、以節(jié)拍敲出等一個音頻片斷。音頻片斷可以由客戶端通過麥克風(fēng)接收。麥克風(fēng)可以是傳統(tǒng)的模擬麥克風(fēng),在這種情況下客戶端可以包括一個A/D轉(zhuǎn)換器,諸如通常在PC的聲卡上存在的轉(zhuǎn)換器。麥克風(fēng)還可以是已經(jīng)包括A/D轉(zhuǎn)換器的數(shù)字麥克風(fēng)。這種數(shù)字麥克風(fēng)能夠以任何適當(dāng)?shù)男问竭B接到客戶端120/130,例如使用USB,藍(lán)牙,等。音頻片斷能夠以其它形式被輸入,諸如使用傳統(tǒng)的輸入裝置指定音符,例如使用鼠標(biāo)或標(biāo)準(zhǔn)的PC文字鍵盤,或使用連接到PC的音樂鍵盤。
優(yōu)選地,為了將音頻片斷轉(zhuǎn)換成查詢字符串,客戶端執(zhí)行某些形式的預(yù)處理。這種預(yù)處理可以由處理器124/134在適當(dāng)?shù)某绦蚩刂浦聢?zhí)行。程序從非易失性存儲器,諸如硬盤,ROM,或閃存,加載到處理器124/134。預(yù)處理可以被限制為壓縮音頻片斷,例如使用MP3壓縮。如果音頻片斷已經(jīng)以適當(dāng)?shù)膲嚎s格式存在,如Midi格式,在客戶端120/130上不需要進一步的預(yù)處理。預(yù)處理還可以包括轉(zhuǎn)換成一種適合通過旋律數(shù)據(jù)庫114搜索的格式。原則上,可以使用任何適當(dāng)?shù)姆椒▉肀硎緮?shù)據(jù)庫中音頻片斷的實際的音頻內(nèi)容。已知用于此目的的各種方法,如將片斷描述為單音序列,可選地具有音符持續(xù)時間。還知道其它形式,其中不是指定絕對的單音序列,而是僅僅給出了單音值的變化(單音增加,單音不變,單音降低)。如果需要的話,旋律數(shù)據(jù)庫還可以包括音頻片斷的譜信息。這些技術(shù)通??梢詮囊纛l處理領(lǐng)域了解到,特別在語音處理領(lǐng)域,這些技術(shù)用于將音頻和/或有聲輸入表示成一種適合進一步分析的形式,特別是用于從數(shù)據(jù)庫搜索匹配。例如,音調(diào)檢測技術(shù)眾所周知,并且可被用于建立單音值以及單音持續(xù)時間。這種技術(shù)不是本發(fā)明的一部分。
對于按照本發(fā)明的系統(tǒng),可以使用任何適當(dāng)?shù)男问街付ú樵冏址畞碓L問數(shù)據(jù)庫114,只要數(shù)據(jù)庫114支持該查詢字符串格式。數(shù)據(jù)庫114能夠搜索匹配查詢的數(shù)據(jù)庫記錄。支持這種查詢的旋律數(shù)據(jù)庫是已知的。優(yōu)選地,所述匹配不需要是一個“完全”匹配,而是一個“統(tǒng)計”匹配,即識別出數(shù)據(jù)庫中的一個或多個記錄具有與該查詢相似的一個字段。所述相似可以是統(tǒng)計相似性,例如基于查詢項目和相應(yīng)的數(shù)據(jù)庫字段之間的距離度量。優(yōu)選地,數(shù)據(jù)庫被索引來允許更快的獲取匹配。律師文檔號為PHNL030182的未預(yù)發(fā)布的專利中請描述了一種支持非確切匹配的索引數(shù)據(jù)庫的方法。應(yīng)當(dāng)理解對于一個標(biāo)識的記錄,數(shù)據(jù)庫存儲可能對系統(tǒng)用戶有用的信息。這些信息可能包括被標(biāo)識片斷的提要信息,如作曲家,表演藝術(shù)家,唱片公司,錄制年份,工作室,等等。一次數(shù)據(jù)庫搜索可以標(biāo)識一個或多個“匹配”記錄(優(yōu)選地以N-最佳列表的形式,例如數(shù)據(jù)庫中十個最可能命中的記錄)并且可以將這些記錄與一些或全部存儲的提要信息一起展示。在圖1的裝置中,通過網(wǎng)絡(luò)從服務(wù)器向指定了該查詢的客戶端提供信息。客戶端的用戶接口用于向用戶展示信息(例如使用一個顯示器或語音合成)或用于執(zhí)行更多的自動操作,如從互聯(lián)網(wǎng)服務(wù)器下載標(biāo)識的音軌或整個專輯。優(yōu)選地,數(shù)據(jù)庫能夠搜索一個樂句或甚至更小的片斷,諸如半個樂句,來增加搜索的魯棒性。
按照本發(fā)明,查詢字符串被分解成多個查詢子串的一個序列。對于每個子串,獨立地從數(shù)據(jù)庫中搜索至少一個與該子串最接近的匹配。如上所述,這優(yōu)選地導(dǎo)致在相應(yīng)的相似性測量下數(shù)據(jù)庫中N個最接近的對應(yīng)部分構(gòu)成的一個N-最佳列表(N≥2)。相似性測量可以是距離或相似度。對于本領(lǐng)域的技術(shù)人員,合適的距離度量/相似度是眾所周知的,并且將不再進一步說明。根據(jù)對于各個子串的搜索結(jié)果,系統(tǒng)為整個查詢串確定至少一個最接近的匹配。優(yōu)選地,系統(tǒng)為整個串產(chǎn)生一個N-最佳列表(N≥2)從而使得用戶可以從可能的有限候選列表中做出最后的選擇。對于數(shù)據(jù)庫可以為每個子串提供N-最佳列表的系統(tǒng),整個查詢串的匹配接著可以優(yōu)選地基于子串的N-最佳列表的相似性度量。眾所周知如何從子匹配的結(jié)果為整個匹配生成結(jié)果,例如,通過將子串的N-最佳列表合并成一個N-最佳列表。這可以通過對列表中所有的項目按照其到子串的歸一化距離排序來完成。備選地,可以計算出N-最佳列表中等價項目的平均歸一化距離。由于子串具有不同的長度,因而需要歸一化。注意一個項目出現(xiàn)在每個N-最佳列表中,因為后者表示所有旋律的排序。這個平均值可被用于對項目排序。在兩種情況中,對于給定的分解,最頂上的項目代表最佳的候選。
圖1顯示了服務(wù)器110的處理器116被用來執(zhí)行按照本發(fā)明的方法分解117查詢字符串,為每個子串從數(shù)據(jù)庫搜索118匹配,并且基于子串的匹配確定119一個結(jié)果。服務(wù)器可以在任何適當(dāng)?shù)姆?wù)器平臺上被實現(xiàn),諸如互聯(lián)網(wǎng)服務(wù)器使用的那些。處理器可以是任何適當(dāng)?shù)奶幚砥?,例如Intel服務(wù)器處理器。程序可以從后臺存儲器諸如硬盤(未顯示)加載。數(shù)據(jù)庫可以使用任何適當(dāng)?shù)臄?shù)據(jù)庫管理系統(tǒng)來實現(xiàn),諸如Oracle,SQL-Servef,等等。
圖2顯示了一種備選的方案,其中本發(fā)明被用在一個獨立的裝置200中。這種裝置可以例如是PC或移動音頻播放器,如蘋果iPod。在圖2中,對于圖1中已知描述的部件使用相同的參考標(biāo)號。有利地,對于存儲的音頻片斷表示,數(shù)據(jù)庫還可以包括指向包含了該片斷的音頻標(biāo)題的一個鏈接。實際的音頻標(biāo)題可以但不必存儲在數(shù)據(jù)庫中。優(yōu)選地,標(biāo)題被存儲在裝置本身。備選地,它可以通過網(wǎng)絡(luò)訪問。在這種情況中,鏈接可以是一個URL。通過將匹配鏈接到實際的標(biāo)題,諸如一個音軌或?qū)]?,?biāo)題的快速選擇成為可能。甚至有可能通過哼唱音軌的一部分,就可以標(biāo)識具有該部分的青軌并且完全自動地開始播放。
圖3顯示了一種分解查詢字符串的優(yōu)選的方式。在步驟310中分解以估計查詢字符串中存在多少個(Ns)子串開始。在一個優(yōu)選實施例中,通過系統(tǒng)傾向于每個樂句一個子串來實現(xiàn)。這可以通過計算查詢字符串中表示的音符的數(shù)量Nnotes來實現(xiàn)。由于一個樂句典型地由8到20個音符構(gòu)成,樂句的數(shù)量落在Nnotes/8和Nnotes/20之間。第一分解可以基于使用Nnotes/8作為Ns(經(jīng)過適當(dāng)取整后)。在步驟320,查詢字符串被分割成Ns個順序的子串。通過使用等距分布可以獲得一個適當(dāng)?shù)某跏挤指?。圖4A中顯示了這點。在圖4A中,查詢字符串410初始時被分割成三個子串,由420,430和440指示。初始時,這些子串都是等尺寸的,即表示由查詢字符串410表示的音頻片斷的相等持續(xù)時間。這些子串是順序的并且一起覆蓋了整個查詢字符串410。每個子串420,430和440分別由質(zhì)心425,435和445表示。質(zhì)心由X指示,在圖4A和4B中被可視化為對應(yīng)的子串的中心位置。眾所周知如何計算出代表這樣一種子串的質(zhì)心。例如,使用等尺寸的較短長度的幀(例如,20ms)來分析由用戶輸入的音頻片斷。使用常規(guī)的信號處理從這些幀中提取低級的譜特征向量,特別是適合區(qū)別不同的輸入模態(tài)(即吟唱風(fēng)格)的特征向量。在本領(lǐng)域這種特征向量眾所周知。使用對數(shù)倒頻譜系數(shù),質(zhì)心是音頻子串中向量的算術(shù)平均。以這種方式,獲得了質(zhì)心的初始值。在現(xiàn)實中,不是所有的子串都是等尺寸的(同一模態(tài)的樂句和分段輸入一般不具有相等的持續(xù)時間)。這意味著現(xiàn)在期望找到子串的最優(yōu)化位置和尺寸。優(yōu)選地,動態(tài)規(guī)劃,在文獻(xiàn)中也被稱為分級構(gòu)建,被用于發(fā)現(xiàn)最優(yōu)值。動態(tài)規(guī)劃在音頻處理領(lǐng)域,特別在語音處理領(lǐng)域,眾所周知。給定質(zhì)心,在步驟330中動態(tài)規(guī)劃可以包括改變子串的長度和位置,同時保持質(zhì)心值固定不變。以這種方式,進行了子串邊界的第一次估計。這是通過最小化每個質(zhì)心與其對應(yīng)的子串之間的總體距離度量來實現(xiàn)的。本領(lǐng)域的技術(shù)人員能夠選擇一種合適的距離度量。例如,使用對數(shù)倒頻譜系數(shù),(加權(quán)的)Euclidean距離是一種合適的距離度量。加權(quán)可用于強調(diào)/弱化特定的系數(shù)。在圖4A的例子中,在位置450指示了兩個相繼部分之間的較大停頓(例如輸入模態(tài)的改變)。圖4B顯示了第一個最小化回合之后子串的邊界是什么樣的。在這個例子中,子串420被縮短。子串420的左邊界被保持固定在查詢字符串410的開始位置。子串430被增大一點并且左邊界被左移。應(yīng)當(dāng)理解現(xiàn)在質(zhì)心的值不再完全代表對應(yīng)的子串。在步驟340中,基于當(dāng)前的子串邊界計算了新的質(zhì)心的值。迭代地重復(fù)該過程直到滿足預(yù)定的收斂標(biāo)準(zhǔn)。所述收斂標(biāo)準(zhǔn)可以是質(zhì)心與其對應(yīng)的子串之間的距離之和不再減小。在步驟350中對該標(biāo)準(zhǔn)進行了測試。可選地,(例如,基于能量水平)在查詢字符串中檢測到音符開始。音符開始可被用作樂句邊界指示符(優(yōu)選地不應(yīng)該在音符中間切斷)。因此,可以調(diào)整實際的子串邊界使之落在音符之間。
在一個實施例中,用戶可以通過混合多種查詢輸入模態(tài)來輸入查詢字符串,諸如哼唱,吟唱,吹口哨,敲節(jié)拍,擊掌,或敲擊聲。圖3的方法通常能夠準(zhǔn)確地確定輸入模態(tài)之間的變化,因為如果選擇了合適的質(zhì)心參數(shù),所述質(zhì)心參數(shù)顯示了不同輸入模態(tài)中底層的音頻差異,這種變化將影響距離度量。不同輸入模態(tài)的音頻特征可以總結(jié)如下●吟唱具有清晰的音調(diào),意味著可以在吟唱波形的譜表示中容易地檢測出諧音分量。換言之,譜峰值是單個譜峰值的倍數(shù),也就是說第一諧波或基礎(chǔ)頻率,其通常被稱為吟唱的音調(diào)。不同的音域(register)(“胸腔”,“央元音(mid)”,“頭,假音”)具有不同的頻率范圍。
●敲擊聲(鼓掌,在表面輕拍)最多具有不確定的音調(diào),意味著有多個峰值可以被解釋為第一諧音。此外,敲擊聲是瞬時的或點擊聲;可以很容易的識別出在所有頻率上功率和振幅中的快速變化。
●哼唱包含低頻帶,具有一些沒有任何顯著譜峰值的中音頻率。
●口哨聲具有從700Hz到2800Hz的音調(diào)(第一諧音)。它幾乎是具有一些很弱的諧音的純音調(diào)。一個人最低的口哨音調(diào)接近這個人最高可到的演唱音符(因此,口哨要比吟唱高1.5到2個八度音階)。
●噪音在本質(zhì)上是隨機的。這導(dǎo)致在一個頻帶(粉色噪聲)或整個頻率范圍上(白色噪聲)的扁平頻譜(一個能量級別)。如果需要,本領(lǐng)域的技術(shù)人員能夠區(qū)分更多的輸入模態(tài)。
作為使用上述自動最小化方法的子分割的備選方案,可以通過將查詢字符串分解成一個子串序列來將查詢字符串子分割成子串,其中該序列的每個子串滿足一個預(yù)定的分類標(biāo)準(zhǔn),并且每兩個連續(xù)的子串滿足不同的預(yù)定分類標(biāo)準(zhǔn)。因此,如果音頻片斷的一部分表現(xiàn)出固定的一致性(例如,在吟唱使用的固定音階范圍內(nèi)可清楚區(qū)分的音符(音調(diào)))并且下一部分表現(xiàn)出另外的一致性(例如,可以清楚區(qū)分的音調(diào),但是在通??谏谑褂玫?、高1.5個八度音階的范圍內(nèi)),這導(dǎo)致所述部分的不同分類并且分類中的變化被解釋為新的子串的開始。應(yīng)當(dāng)理解只有在對整個片斷進行預(yù)分析或由用戶訓(xùn)練之后才可以完全地確定某種分類標(biāo)準(zhǔn)。例如,這種預(yù)分析可以揭示用戶是男性或女性并且給出用于吟唱、口哨等的平均音調(diào)。對于每個人其它標(biāo)準(zhǔn)可以相同,例如打擊聲主要是單音調(diào)的(例如,噪音,沒有清楚的可識別的音調(diào))。一旦建立缺省的和/或個人特定的標(biāo)準(zhǔn),進一步分析查詢字符串(或由該查詢字符串表示的音頻片斷)。為所述查詢字符串/片斷的備部分確定了用于分類的音頻特征并與不同的分類標(biāo)準(zhǔn)進行比較。因而,所述系統(tǒng)優(yōu)選地包括不同的分類標(biāo)準(zhǔn)組,每組代表一種不同的輸入模態(tài)。將所述被分析片斷的音頻特征與每個標(biāo)準(zhǔn)組進行比較。如果所述特征與其中一組相匹配(完全或接近地),就能確定所述音頻部分最有可能是通過與該組相對應(yīng)的輸入模態(tài)指定的。分類技術(shù)眾所周知??梢允褂萌魏芜m當(dāng)?shù)募夹g(shù)。一種示范的分類方法如下。每次分析所述片斷的相對較小的部分(例如一個樂句的1/3或1/2)。在分析過程中,這種寬度的分析窗口可以在整個音頻片斷上滑動。只要該窗口完全落在整個音頻片斷的一個一致部分,就能獲得一個與對應(yīng)的分類標(biāo)準(zhǔn)組相對接近的匹配。當(dāng)窗口移過輸入模態(tài)發(fā)生變化的邊界時,所述匹配將不太接近并且隨著窗口進一步移動而繼續(xù)下降。當(dāng)窗口被偏移得足夠遠(yuǎn)進入下一個一致的部分時,將會發(fā)現(xiàn)一個與該輸入模態(tài)對應(yīng)的分類標(biāo)準(zhǔn)組更加接近的匹配。隨著窗口進一步向該部分偏移,匹配將會增加。以這種方式,可以相對準(zhǔn)確地檢測到邊界。所述分析窗口能夠以例如10到30毫秒的幀步被偏移。一旦完成對整個音頻片斷的分析并且檢測到至少一個邊界(除了整個音頻片斷的開始和結(jié)束邊界),可以在所述邊界內(nèi)形成子串。
上述分類技術(shù)可被用于按照上面的描述來執(zhí)行子分割形成子串。在一個優(yōu)選實施例中,通過約束子串的位置落在使用所述分類檢測到的兩個連續(xù)的邊界內(nèi),所述分類被用作圖3的自動過程的預(yù)處理。約束的動態(tài)規(guī)劃技術(shù)眾所周知,這里將不再進一步描述。
應(yīng)當(dāng)理解上面描述的分類信息不僅可以用來最優(yōu)化子串位置和尺寸的發(fā)現(xiàn),還可以用來改善數(shù)據(jù)庫搜索。已經(jīng)為所述音頻片斷的一部分確定了一個最佳的匹配一致性標(biāo)準(zhǔn),在大多數(shù)情況下,還知道對應(yīng)的輸入模態(tài)。這個信息可被用來提高與定位部分相對應(yīng)的子串的搜索。例如,可以為每種輸入模態(tài)使用一個最優(yōu)化的數(shù)據(jù)庫。備選地,所述數(shù)據(jù)庫可以支持使用不同輸入模態(tài)來搜索相同的片斷。因而輸入模態(tài)是一個附加查詢項并且所述數(shù)據(jù)庫為每個音頻片斷(例如樂句)存儲用于指定該片斷的輸入模態(tài)。
在圖2所示的方法中,子串?dāng)?shù)量的初始估計不再改變。所述初始估計優(yōu)選地描述了預(yù)期在整個片斷中存在的子串的最大數(shù)量。由于所述片斷可能比這個“最壞的”假設(shè)更加一致,優(yōu)選地為較少的子串重復(fù)所述相同的過程。在圖2的例子中,也可以分解成兩個子串并執(zhí)行數(shù)據(jù)庫搜索。還可以從數(shù)據(jù)庫中搜索整個子串。以這種方式,對于三個子串、兩個子串以及一個子串(即整個字符串),可以獲得整個字符串的匹配??梢詫θ齻€結(jié)果進行比較并將最有可能的一個呈現(xiàn)給用戶。因此,原則上,所述查詢字符串能夠以許多方式被分解,其中每個分解產(chǎn)生多個可以在數(shù)據(jù)庫中被獨立搜索的子串。因此,所述查詢字符串可以作為一個整體搜索,獨立于將所述查詢字符串分解成的兩個子串,獨立于將所述查詢字符串分解成的三個子串等等。對于子串的每個搜索都可以產(chǎn)生一個N-最佳可能的候選列表。這個N-最佳列表可以是數(shù)據(jù)庫中所有旋律按照它們與所述子串的距離進行排序的一個列表。例如,通過將所有可能的分解對應(yīng)的列表組合成一個列表來呈現(xiàn)給用戶,可以得到最終結(jié)果。通過合并所有列表并按照它們到對應(yīng)的子串的歸一化距離進行排序來實現(xiàn)這種合并。
如上所述,分解查詢字符串的步驟包括將查詢字符串分解成子串,每個子串基本上對應(yīng)于一個樂句。這可以是唯一的分解步驟,或者可以結(jié)合其它的分解步驟/標(biāo)準(zhǔn)一起使用,諸如在已經(jīng)執(zhí)行了針對輸入模態(tài)變化的子分割的分解之后進一步進行上述分解??梢允褂萌魏芜m當(dāng)?shù)姆绞絹頇z測樂句。樂句通常以哼唱減弱而結(jié)束?;蛘?,能夠以較大的音調(diào)差異(即間隔)和較大的音調(diào)持續(xù)時間來區(qū)分樂句。已知一些樂句檢測算法,例如從“Cambouropoulos,E.(2001)。局部邊界檢測模型(1bdm)及其在表現(xiàn)定時中的應(yīng)用。在Proc.ICMC 2001”以及“Ferrand,M.,Nelson,P.,和Wiggins,G.(2003)中。記憶與旋律密度一種旋律分割模型。在Proc of the XIV Colloguiu onMusical Informatics(XIV CIM 2003),F(xiàn)irenze,Italy,May 8-9-10,2003”。
應(yīng)當(dāng)認(rèn)識到本發(fā)明還擴展到計算機程序,特別是在一個載體中的計算機程序,適用于將本發(fā)明付諸實施。所述程序可以是源代碼、目標(biāo)代碼的形式,一種源代碼和目標(biāo)代碼中間的代碼,諸如部分編譯的形式,或任何其它適合用于實現(xiàn)按照本發(fā)明的方法的形式。所述載體可以是任何能夠攜帶所述程序的實體或裝置。例如,所述載體可以包括一個存儲介質(zhì),諸如ROM,例如CD ROM或半導(dǎo)體ROM,或磁記錄介質(zhì),例如軟盤或硬盤。此外,所述載體可以一種可傳輸?shù)妮d體,諸如電信號或光信號,它們可以通過電纜或光纜或無線電或其它裝置來傳輸。當(dāng)所述程序被體現(xiàn)在這種信號中時,所述載體可以由這種電纜或其它設(shè)備或裝置來構(gòu)成。備選地,所述載體可以是集成電路,其中所述程序被嵌入其中,所述集成電路適用于執(zhí)行相關(guān)的方法。
應(yīng)當(dāng)注意上面提到的實施例舉例說明而不是限制本發(fā)明,并且本領(lǐng)域的技術(shù)人員能夠在不背離所附的權(quán)利要求書的情況下設(shè)計出許多備選的實施例。在權(quán)利要求中,出現(xiàn)在括號中的任何參考符號不應(yīng)該被理解為限制所述權(quán)利要求。動詞“包括”及其變形詞的使用不排除存在除了權(quán)利要求中所陳述的其它元素或步驟。出現(xiàn)在元素前的冠詞“一個”不排除存在多個這種元素。本發(fā)明能夠以包括幾個不同元素的硬件方式實現(xiàn),并能夠以適當(dāng)編程的計算機方式實現(xiàn)。在裝置權(quán)利要求中枚舉了幾種裝置,這些裝置中的幾種可以被實現(xiàn)在一個相同的硬件項目中。某些方法在不同的附加權(quán)利要求說明的事實并不說明不能使用這些方法的組合獲益。
權(quán)利要求
1.一種在旋律數(shù)據(jù)庫中為一個查詢字符串搜索匹配的方法,該查詢字符串代表一個音頻片斷;所述方法包括將所述查詢字符串分解成多個查詢子串的序列;對于每個子串,獨立地從數(shù)據(jù)庫中搜索與該子串最接近的至少一個匹配;根據(jù)各個子串的搜索結(jié)果,為所述查詢字符串確定至少一個最接近的匹配。
2.按照權(quán)利要求1所述的搜索查詢字符串的方法,其中分解查詢字符串的步驟包括將查詢字符串分解成子串,每個子串實際上對應(yīng)于一個樂句。
3.按照權(quán)利要求1所述的搜索查詢字符串的方法,包括使得用戶能夠輸入混合了多個查詢輸入模態(tài)的查詢字符串。
4.按照權(quán)利要求3所述的搜索查詢字符串的方法,其中至少其中一種查詢輸入模態(tài)是下列其中之一哼唱,吟唱,吹口哨,打節(jié)拍,擊掌,敲擊聲。
5.按照權(quán)利要求3所述的搜索查詢字符串的方法,其中查詢輸入模態(tài)中的變化基本上與一個子串邊界重合。
6.按照權(quán)利要求1所述的查詢搜索字符串的方法,其中所述分解查詢字符串的步驟包括估計所述查詢字符串中存在多少個(Ns)子串;將所述查詢字符串分割成Ns個連續(xù)的子串;每個子串與表示該子串的一個質(zhì)心相關(guān)聯(lián);迭代地根據(jù)對應(yīng)的子串為每個質(zhì)心確定相應(yīng)的質(zhì)心值;通過最小化每個質(zhì)心與其對應(yīng)的子串之間的總體距離度量,為每個子串確定了對應(yīng)的子串邊界;直到滿足預(yù)定的收斂標(biāo)準(zhǔn)。
7.按照權(quán)利要求2和6的搜索查詢字符串的方法,其中估計所述查詢字符串中存在多少個(Ns)子串的步驟包括用一個樂句的平均持續(xù)時間除以所述音頻片斷的持續(xù)時間。
8.按照權(quán)利要求5所述的搜索查詢字符串的方法,其中分解查詢字符串的步驟包括為每個輸入模態(tài)檢索一種不同的分類標(biāo)準(zhǔn)并且基于所述分類標(biāo)準(zhǔn)使用一種分類算法來檢測查詢輸入模態(tài)中的變化。
9.按照權(quán)利要求3和8的搜索查詢字符串的方法,包括將一個子串限制在查詢輸入模態(tài)中兩個連續(xù)的變化內(nèi)。
10.按照權(quán)利要求1所述的搜索查詢字符串的方法,其中在數(shù)據(jù)庫中搜索每個子串的步驟包括借助一種相應(yīng)的相似度度量,為子串生成數(shù)據(jù)庫中N個最接近的對應(yīng)部分的一個N-最佳列表(N≥2);并且基于子串的N-最佳列表的相似度度量執(zhí)行為所述查詢字符串確定至少最接近的匹配。
11.一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品能夠使處理器執(zhí)行權(quán)利要求1所述的方法之步驟。
12.一種在旋律數(shù)據(jù)庫中搜索代表一個音頻片斷的查詢字符串的系統(tǒng);所述系統(tǒng)包括一個用于從用戶接收所述查詢字符串的輸入端(122,132);一個用于存儲多個音頻片斷的相應(yīng)表示的旋律數(shù)據(jù)庫(114);至少一個處理器(116),用于在程序的控制之下,-將所述查詢字符串分解(117)成多個查詢子串的序列;-對于每個子串,獨立地從數(shù)據(jù)庫中搜索(118)至少一個與該子串最接近的匹配;-根據(jù)對于各個子串的搜索結(jié)果,為所述查詢字符串確定(119)至少一個最接近的匹配。
全文摘要
一種用于在旋律數(shù)據(jù)庫(114)中搜索代表一個音頻片斷的查詢字符串的系統(tǒng),包括用于從用戶接收查詢字符串的輸入端(122,132)。所述旋律數(shù)據(jù)庫(114)存儲多個音頻片斷的相應(yīng)表示。處理器(116)用于將查詢字符串分解(117)成一個查詢子串的序列。在數(shù)據(jù)庫中為每個子串獨立地搜索(118)與該子串最接近的至少一個匹配。根據(jù)對于各個子串的搜索結(jié)果,為該查詢字符串確定(119)一個最接近的匹配。
文檔編號G06F17/30GK1890665SQ200480036395
公開日2007年1月3日 申請日期2004年11月22日 優(yōu)先權(quán)日2003年12月8日
發(fā)明者S·C·鮑維斯 申請人:皇家飛利浦電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1