我需要創建一個合作音樂識別服務。每個用戶都可以選擇指紋歌曲並使用其元信息發送給服務器。在開始時,服務數據庫將是空的,並且每當音樂指紋將被接收時,歌曲的元數據將被更新(如果不同的用戶將發送不同的信息給用戶,服務器將基於多數選擇將元數據分配給指紋相同的指紋)。如何選擇音頻指紋算法來創建合作音樂數據庫?
我需要計算整首歌曲的指紋,我不需要從一小部分中識別出一首歌。
指紋不應100%準確。如果兩個歌曲文件將使用不同的壓縮率編碼,我會很高興,如果兩個歌曲文件將收到相同的指紋。低噪聲獨立性將是一個優點。我們應該使用標準的靜音抑制算法(在這種情況下,不需要非常精確的結果)將它們刪除,但是在歌曲的乞討或結束時不會出現問題。
我知道有一些開源庫,如:http://echoprint.me/和https://acoustid.org/,但thees庫對我的需求是excessive,因爲如果我正確地認爲它可以從一個部分識別歌曲,這將創建一個沉重的數據庫。我需要一種算法,可以爲整首歌曲提供一個不會太重(大約kb)的指紋。
女巫是我可以使用的最簡單快速的算法嗎?
感謝所有
這個問題實際上要複雜得多似乎比。 Google在他們的內容ID算法中投入了相當多的資金,這個算法可以處理視頻中使用的音樂。它仍然是時常相當不準確的。 – Philipp
也許這[音頻Fingerprinting軟件寫在C#/NET](https://github.com/nelemans1971/AudioFingerprinting)有幫助。 – wp78de