2010-01-12 10 views
18

Meine große (120gb) Musiksammlung enthält viele Duplikate, und ich habe versucht, Spuren in der Hoffnung zu finden, Duplikate zu finden. Und da ich CS-Major bin, bin ich sehr neugierig, was dort draußen gemacht wird? Nichts, was ich tue, hat fast die Genauigkeit von etwas wie Shazam oder Lala.com. Wie "hacken" sie Tracks? Ich habe einen Standard-MD5-Hash auf allen meinen Dateien (26.000 Dateien) ausgeführt und ich habe Hunderte von gleichen Hashes auf verschiedenen Spuren gefunden, so dass das nicht funktioniert.Wie funktioniert Musik-Fingerprinting (für Websites wie Shazam und Lala.com)?

Ich bin mehr interessiert an Lala.com, da sie mit vollen Dateien arbeiten, im Gegensatz zu Shazam, aber ich nehme an, beide verwenden eine ähnliche Technik. Kann jemand erklären, wie man eindeutige Kennzeichnungen für Musik erzeugt?

+5

Sie gefunden Hunderte von MD5-Kollisionen? Ich denke, einige Sicherheitsforscher würden daran interessiert sein. MD5 wird an dieser Stelle als unsicher angesehen, aber Sie müssen immer noch ziemlich versuchen, zwei Dateien mit demselben Hash, aber unterschiedlichen Inhalten zu erstellen. – keegan

+0

Jemand schrieb einmal ein schönes Papier, das den Algorithmus von Shazams Patent [1] zusammenfasste, aber die Anwälte von Shazam ließen sie es niederschreiben. Ich bin nicht davon überzeugt, dass das Schreiben eines solchen Papiers eine Patentverletzung wäre, aber es braucht zu viel Zeit und Geld, um das Gegenteil zu beweisen. Angeblich ist das Patent selbst im Vergleich zu vielen Patenten, die nicht im Dunkeln liegen, gut lesbar. [1]: https://www.techdirt.com/articles/20100708/04230710128.shtml –

Antwort

9

Das bahnbrechende Papier über Audio-Fingerabdrücke ist die Arbeit von Haitsma und Kalker in 2002-03. Für jedes Audioframe verarbeitet es vor (Unterschiede zwischen Zeitrahmen und Frequenzbändern) und speichert dann eine binärisierte Version des Frame-Spektrums.

Dieses Verfahren erhöht die Robustheit. Wenn das gesamte Signal zeitlich verschoben ist, funktioniert es immer noch (zumindest kann man eine untere Grenze für die Leistungsverschlechterung ableiten). Es ist ziemlich robust gegenüber Umgebungslärm. Seit seiner Gründung gab es viele Artikel über Musikähnlichkeit auf niedriger Ebene, daher gibt es keine einzige Antwort.

Haben Sie absolut identische Dateien, d. H. Die Signale sind zeitlich ausgerichtet, die Bittiefe ist gleich, die Abtastrate ist gleich? Dann würde ich denken, ein Hash wie MD5 sollte funktionieren. Aber wenn einer dieser Parameter geändert wird, werden auch die Hashes geändert. In solch einem Fall würde ein Verfahren wie das zuvor erwähnte besser funktionieren.

Werfen Sie einen Blick auf die ISMIR-Verfahren kostenlos online verfügbar. Lustige Sachen. http://www.ismir.net/

+0

Steve - danke, genau das habe ich gesucht. Ich werde die Haitsma und Kalker Zeitung lesen. Die ISMIR-Prozesse sehen wie eine großartige Quelle aus. Ja, in meinem Fall habe ich doppelte Songs, aber sie sind bei verschiedenen Bitraten, oder in einigen Fällen habe ich einen Teil-Song und einen anderen vollen Track usw. –

3

Werfen Sie einen Blick auf die Acoustic Fingerprint Seite auf Wikipedia. Es enthält Referenzen für einige Arbeiten sowie Links zu Implementierungen (einschließlich der Open Source fdmf).

5

Es gibt viele Algorithmen für den akustischen Fingerabdruck. Einige der beliebtesten sind:

  1. AMG LASSO
  2. AudioID
  3. LibFooID

In der Tat libfooId Open Source ist, so dass Sie in Google-Code sein Code überprüfen können !!

+0

Die waren gut, obwohl die wikipedia Referenzen und musicbrainz Referenzen gute theoretische Informationen gaben, die ich auch sehr schätze !! –

+0

Leider sieht LibFooID so gut wie tot aus und besteht aus den Überbleibseln eines Forschungsprojektes. –