正文

第83節(jié):歌曲大搜索之哼哼也可以(1)

揭秘微軟亞洲研究院:微軟的夢工場 作者:微軟亞洲研究院


歌曲大搜索之哼哼也可以

作者:蘆烈

通過這幾年的工作,我逐漸從一個對研究所知甚少的學生逐漸成長為一個在音頻分析領域略有成績的研究員。哼唱搜索,作為其中我曾經負責的一個項目,也從起初的一個練手項目發(fā)展成為技術轉讓項目。從中其實也能看到我成長的點點滴滴。

先打點兒基礎吧!

研究院的光環(huán)是奪目的。她總是與世界級專家、領先的學術成果、自由的學術氛圍等令人向往的詞聯系在一起。當我得知自己被研究院錄取的時候,心中的興奮之情可想而知(后來我還得知我是研究院錄取的第一批碩士生之一,而且還很有可能是第一個,而以前研究院是只招收博士生的)。我其實并沒有對此抱有很高的希望。因為我在大學時期擁有的專業(yè)知識(我是電路與系統(tǒng)專業(yè))和一些基本的項目經驗,與計算機科學的學術研究相比,還真有些隔行如隔山的感覺。

當我懷著興奮的心情來到位于北京中關村的希格瑪大廈,見到了眾多世界級專家和當代佼佼的青年學者及同事時,我更加意識到自己其實對研究幾乎一無所知。就連一些基本的算法,像模式識別和機器學習,也沒有系統(tǒng)地學過。我知道自己必須惡補更多的知識,積累更多的經驗。這對我來說既是挑戰(zhàn)更是巨大的機會,因為我即將步入令人興奮的多媒體研究的殿堂。

當時我們組叫媒體計算組,主要從事多媒體計算,包括圖像、視頻、及音頻的內容分析和檢索。我們組的學術領頭人是張宏江博士,多媒體分析的先驅之一。由于我還具有一些信號處理和語音處理的背景,而且對音頻信號頗感興趣,于是音頻和音樂內容分析及檢索便成為我的主要研究方向。

在另一個研究員江灝的工作基礎上,我開展了音頻分類分割的工作。其主要目標是將一個音頻片斷(比如影片中的音軌),按照其內容分為語音、音樂、背景聲音等等。這是音頻分析的第一步。這個項目幫助我很快地熟悉了機器學習和模式識別的算法。

好玩的哼唱搜索

經過一段時間的學習和工作,我逐漸熟悉了研究的方法論。哼唱搜索(query-by-humming)便成為我第一個獨立研究項目。在傳統(tǒng)的搜索引擎中,大家都習慣于用文本或關鍵字去搜索歌曲,比如用歌手或者歌名。但是在很多情況下,你有可能忘記了或者根本不知道一首歌的歌手和歌名。那么,還有什么辦法把那首歌找出來呢?哼唱搜索便提供了另外一種搜索方式:哼一段旋律,通過旋律匹配把歌找出來。

這個項目的起因其實就是張宏江的一個問話:“能不能簡單哼一下就把一首歌給找出來?”“ 挺好玩。”當時第一個感覺就是這個問題很好玩。仔細一想,其實這也是一個現實的問題。比如說我自己(不少人也是)經常記不清歌名,但還能哼兩句主旋律。如果我們真能有一個哼唱搜歌的系統(tǒng),說不定真可能派上用場。同時,這還是一個獨立、完整的系統(tǒng),設計開發(fā)這樣一個系統(tǒng)對我也是一個有益的鍛煉。于是,我和一個實習生由紅開始了這個項目。

我們首先翻閱了資料,發(fā)現哼唱搜索其實在1995年的ACM多媒體大會上就由Asif Ghias博士(康奈爾大學)等提出并給出了一個解決方法。以后又有些研究員陸續(xù)提出了一些改進方法。但是,我們發(fā)現以前的方法還是有不少的局限性。比如,旋律本來是一個音符序列,包括每個音符的音高和時長;但在很多方法中,旋律被簡化為只包含反映下一個音符相對于上個音符上升、持平、下降的字符串。有些方法為了加快搜索速度,要求只能哼唱歌曲的起始部分。還有些則為了避免哼唱節(jié)奏的影響,要求用戶使用一個節(jié)拍器。這都限制了這些方法的可應用性。我們覺得里面還有許多方面可以提高。

我們把系統(tǒng)分成了三個部分:數據庫處理(從音樂中提取旋律),哼唱處理(從哼唱中提取旋律)和旋律匹配。其中的關鍵問題是旋律表征、旋律提取、和旋律匹配算法。鑒于以前對旋律表征過于簡化,除了以前使用的上升下降等量化數據,我們還保持了旋律中每個音符的音高和時長作為更精確的表征。在旋律匹配過程中,我們采用了兩步法以加快搜索速度:先用簡化旋律作一初選,然后再用音高和時長,通過音高匹配模型和節(jié)奏匹配模型,來更精確地尋找相似的音樂。

經過半年時間的努力,我們終于完成了算法,建立了一個演示系統(tǒng)。算法在測試集上的性能也挺不錯:在搜索結果中,前五位內能找到正確歌曲的比率(hit rate)達到了80%。然而,雖然算法取得了不錯的結果,回想起來,還是有不少地方可以提高。比如我們所用的開發(fā)集及測試集都比較小,這樣可能并不能完全反映算法的性能。我們還發(fā)現我們在分析哼唱數據將其轉化為旋律時,使用了不少啟發(fā)式規(guī)則,一些參數的設置過于局限于開發(fā)集而失去了通用性,使得這個系統(tǒng)對某些人工作很好,但對另一些人卻不好。而且,要成為一個真正能為大眾使用的產品,我們還缺少一個關鍵觸發(fā)點:一個好的應用場景。對于最重要的一個應用場景——網絡音樂的搜索,哼唱搜索還無法勝任。這是因為目前的算法對 mp3等音頻數據還無法有效處理來提取旋律,我們使用的數據庫主要基于MIDI 數據。但是不管怎樣,這是一個完全從零開始的項目,我在整個過程中,從查閱資料、設計模塊、設計算法,到編寫代碼、數據收集、算法評價及相應改進,都得到了不少的鍛煉,對研究方法也更有心得了。

由于其他項目的開展,哼唱搜索暫時告一段落。我想,其實它也是在等待一個更好的機會。

忽現轉機

幾年后(2006夏)的某一天,搜索技術中心(STC)的開發(fā)項目主管謝育濤突然跟我聯系,說他正好看到張貼在研究院中有關哼唱搜索的海報,要跟我討論一下將其用在手機搜索上的可行性。謝育濤主要負責的是手機搜索,那時他正在跟位于深圳的Windows Live Mobile China (WLMC) 做圖鈴搜索,也就是提供高效算法來搜索手機圖片和手機鈴聲。除了傳統(tǒng)的文本搜索之外,他們還在尋求一些與其他搜索產品不同的新功能。哼唱搜索可能是一個好的選擇。


上一章目錄下一章

Copyright ? 讀書網 m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號