Shazam 如何聽聲辨曲
何宗丞 于 2010.09.28 19:14:38 | 源自:www.ifanr.com | 版權:轉載 | 平均/總評分:10.00/40

我們常常會遭遇到這樣的尷尬:在大街小巷邂逅一段熟悉的旋律,無奈又聽不清歌詞。遺憾也許這輩子就這樣失之交臂了。

不必懊惱,Shazam 是一款能夠識別音樂訊號的應用。相信不少朋友對它并不陌生。它在 iPhone 和 Andriod 手機里出現的頻率很高,諾基亞的某些手機甚至預裝了這樣一款軟體。

它的基本原理大家應該大概清楚:通過客戶端Shazam錄制采集十幾秒的聲音樣本,通過網路將音樂訊號發回 Shazam伺服器,經過數據分析,很快便將該樂曲的相關資訊發回手機。幸運的是我們找到了開發者的一份材料,進一步了解其中的計算方法。

  • 我們都知道,一段音樂訊號可以通過頻譜圖表示。橫軸表示時間,縱軸為頻率,另一個軸表示強度,即一個三維的頻譜。那么,一條水準線代表一段連續的音頻,垂直線代表一個瞬間的白噪聲。如下圖,圖中的每一個點都代表特定時間點的頻率強度,即為選定的“錨點”。圖中的紅色標記代表該時間點聲音強度的峰值。

  • 由開發者的材料看,他們大約是每秒提取3個錨點。然后,他們會把收集到的資訊建成一個哈希表(Hash table),其鍵值就是頻率。當 Shazam 收到一段音頻,以下表為例,它會以第一個鍵值,即 823.44 Hz 搜索匹配項。
    Frequency in Hz Time in Seconds
    823.44 1.054
    1892.31 1.321
    712.84 1.703
    …… ……
    819.71 9.943

    哈希表可能如圖所示

  • 他們不只是標注頻譜的一個點,而是一個點對,每個峰值加了第二次錨點,即一個散列的兩個點的頻率,這樣就能減少搜索時因噪聲干擾而可能產生的誤差。

    接下來就是檢索的過程了,如果一段音頻多次匹配,就會自動堅持這些頻率所對應的時間是否與哈希表一致。當兩個音頻近似時,這些錨點連成一條連線,如果能檢測出這條線,就說明音頻匹配。

  • 據悉,類似的技術最早由一家名為 Melodis 的公司推出,它推出的一款應用—— Midomi ,與 Shazam 相似。當然,也不乏基于電腦的應用,比如前不久測試的百度哼唱,是首次在國內推出的哼唱搜索引擎。 搜索引擎發展的趨勢就是越來越簡單,越來越以人為本。在搜索引擎剛起步的階段你能想到我們可以在移動裝置上語音搜索 Google Map 嗎?現在,我們可以想象了,有一天我們擺脫了鍵盤、滑鼠,我們用感官,用意念,遨游于整個互聯網。

    請評分
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    113.110.151.***
    113.110.151.***
    發表于2016.01.28 00:51:36
    25
    125.081.059.***
    125.081.059.***
    發表于2015.04.06 14:42:32
    24
    219.153.***.***
    219.153.***.***
    23
    03
    發表于2010.10.17 00:57:35
    21
    113.112.***.***
    113.112.***.***
    這個技術 索尼愛立信的手機早就有了 叫track id 很好用
    發表于2010.10.07 00:10:58
    20
    10
    發表于2010.09.29 12:40:39
    16
    03
    手機系統塞班S60 v3
    SongID powerd by Shazam
    昨晚又試了一下樂曲,識別挺好的
    趙鵬的葉塞尼亞,始終被認為是船歌
    pssunsun修改此貼于2010.09.29 11:36:51
    發表于2010.09.29 11:25:02
    15
    03
    學習了,很好的技術文章
    發表于2010.09.29 08:42:36
    13
    03
    發表于2010.09.28 22:52:39
    9
    10
    試過在車里收廣播,在馬路邊的店里音樂,準確度都極高。最BT的就是上次寫文章,識別《火柴天堂》是齊秦演唱還是熊天平演唱。
    發表于2010.09.28 21:29:29
    8
    10
    發表于2010.09.28 21:28:18
    7
    03
    同一首歌,在不同時間段測試,會有不同結果的
    這樣說來,我還沒試過無歌詞的樂曲,我一直以為是以歌詞為key搜索的
    發表于2010.09.28 21:18:02
    6
    提示
    本貼不可匿名回復,回復等級為:1 ,您現在正處在潛水狀態
    回復
    驗證碼
    8545 為防止廣告機貼垃圾,不得已而為之
    表情
    正文
    京ICP備11010137號 京ICP證110276號 京公網安備110114000469號