Seite 1 von 1

MP3 Duplikate finden/löschen anhand des Inhalts...

Verfasst: Donnerstag 17. Juni 2010, 13:13
von jens
Kennt jemand ein Python Modul mit dem man Musik nach Inhalt und nicht Byte für Byte vergleichen kann?

Interessant wäre das, um MP3 Duplikate zu finden und nicht einfach Dateiname, Dateigröße und/oder MP3-Tags zu vergleichen.

Ich hab mal gesucht und nur ein Freeware Programm gefunden, was genau das kann: http://www.music-similarity.com/

Re: MP3 Duplikate finden/löschen anhand des Inhalts...

Verfasst: Donnerstag 17. Juni 2010, 15:08
von Hyperion
Das Feststellen von Ähnlichkeiten ist eben nicht gerade trivial. Da gibts zig verschiedene Ansätze, die sicherlich auch je nach Anwendungs-Domäne verschieden gut sind.

Re: MP3 Duplikate finden/löschen anhand des Inhalts...

Verfasst: Donnerstag 17. Juni 2010, 15:52
von frabron
Da gibt es doch musicbrainz, was mp3s anhand eines fingerabdrucks erkennen kann. Funktioniert nach meinen Tests zu 65% recht zuverlässig. Vllt. haben die ja ne API oder sowas

Re: MP3 Duplikate finden/löschen anhand des Inhalts...

Verfasst: Donnerstag 17. Juni 2010, 15:58
von jens
65% ist jetzt nicht so sonderlich viel. Gerade wenn man Duplikate löschen will :)

Aber ja, das gibt es was für Python: http://musicbrainz.org/doc/PythonMusicbrainz

Aber kann es sein, das es bei musicbrainz ehr darum geht, einen Fingerabdruck einer CD zu erhalten? Also nicht von einem Lied?

EDIT: Auch das Tagging Programm http://musicbrainz.org/doc/MusicBrainz_Picard ist in Python geschrieben.

EDIT2: Zum Thema "Audio fingerprint" gibt es bei musicbrainz eine Menge Info's:
http://musicbrainz.org/doc/Audio_Fingerprint
http://musicbrainz.org/doc/PUID
http://musicbrainz.org/doc/How_PUIDs_Work
http://musicbrainz.org/doc/libofa

Demnach, kann man mit libofa einen Fingerprint für ein Lied erhalten. Zu libofa gibt es u.a. diese Python Anbindung: http://furius.ca/pyofa/


Theoretisch könnte man es so machen:
  • Alle MP3's mit os.walk() abarbeiten
    Fingerprint mit libofa/pyofa erzeugen (wenn noch nicht in MP3 Tags existiert)
    Fingerprint + pfad zur MP3 Datei zwischenspeichern (evtl. in SQlite Datenbank)
    evtl. Fingerprint in MP3 Tags einfügen (z.B. mit http://pypi.python.org/pypi/eyeD3/ )
    Duplikate anhand des Fingerprints identifizieren und löschen oder dem Anwender zur auswahl stellen.

Re: MP3 Duplikate finden/löschen anhand des Inhalts...

Verfasst: Donnerstag 17. Juni 2010, 20:08
von noisefloor
Hallo,

das Problem ist (bei mir) auch immer, dass das gleiche Stück von 2 verschiedenen CDs (z.B. einmal vom Original, einmal von einer Compilation) nicht unbedingt also identisch erkannt werden, weil das eine Stück z.B. 0,5 Sekunden mehr "Stille" am Anfang hat. Ähnliches hat man auch immer, wenn man das gleiche Stück 1x von CD und einmal von Platte aufgenommen hat. Dann laufen i.d.R. alle Checksummenprogramme ins Leere laufen...

Gruß, noisefloor

Re: MP3 Duplikate finden/löschen anhand des Inhalts...

Verfasst: Donnerstag 17. Juni 2010, 23:22
von BlackJack
@noisefloor: Die Programme von denen hier die Rede ist versuchen die Struktur der Audiodaten zu erkennen und erstellen keine einfachen Prüfsummen über die Bytes. Da sind also durchaus grössere Abweichungen in den Bytewerten erlaubt, so lange die Stücke für den Algorithmus ähnlich genug "klingen".

Re: MP3 Duplikate finden/löschen anhand des Inhalts...

Verfasst: Freitag 18. Juni 2010, 07:02
von frabron
jens hat geschrieben:65% ist jetzt nicht so sonderlich viel. Gerade wenn man Duplikate löschen will :)
Das ist eigentlich nicht schlecht, je nach Quellenlage und je nach dem, was noch an Störgeräuschen in den zu vergleichenden mp3s drin ist. Ich hab das immer benutzt, um mit Streamripper aufgenommene mp3s zu taggen. Das ging erstaunlich gut. Jedoch gibt es manchmal einfach Ausfälle, auch bei regulär gerippten CDs, die für mich nicht nachvollziehbar sind. Denn wenn man dann die Suchparameter nur ein wenig verändert, kommt man doch zum Ziel - was das Programm immer ein wenig unvorhersehbar macht. Und es müssen natürlich schon Vergleiche in der Musicbrainz Datenbank liegen, zumindest wenn es ums Taggen geht ...

Re: MP3 Duplikate finden/löschen anhand des Inhalts...

Verfasst: Freitag 18. Juni 2010, 07:29
von jens
Die 65% sind also ehr auf das finden der richtigen Taggs bezogen? Mir geht es ja um das vergleichen...

Ich hab ein wenig gesucht, denn ich kann mir nicht vorstellen, das es nicht schon ein Programm gibt, welches dubletten löschen kann... Aber viel mehr als dieses similarity hab ich nicht gefunden.

Kennt jemand einen dubsfinder auf libofa Basis?