Nahezu doppelte Audiodateien erkennen

Nahezu doppelte Audiodateien erkennen

Angenommen, ich habe ein paar Verzeichnisse mit ungefähr 4000 Audiodateien, von denen etwa die Hälfte FLAC und die andere Hälfte MP3 sind. Angenommen, ich möchte nicht anhand der Tag-Metadaten, sondern nur anhand der Audiodaten feststellen, ob ich doppelte oder nahezu doppelte Audiodateien habe. Angenommen, ich habe sowohl eine FLAC-Version (verlustfrei) als auch eine MP3-Version (verlustbehaftet) desselben Songs. Ohne Annahmen über den Dateinamen, die Tag-Metadaten oder sogar die Abtastrate hätte ich gerne eine Möglichkeit, festzustellen, ob es sich im Wesentlichen um dieselbe Melodie handelt.

Ich habe über eine Menge Dinge nachgedacht, aber alle sind mit gewissen Problemen verbunden:

  • Datei-Hashes oder Dateigrößen können nicht verglichen werden, da das zugrunde liegende Audioformat oder die Tags unterschiedlich sein könnten
  • Die Länge der Audiodateien kann nicht verglichen werden, da die Länge der Beinahe-Duplikate nicht unbedingt genau gleich lang sein muss (sie können um sehr kleine Sekundenbruchteile voneinander abweichen) und es auch andere Audiodateien mit der gleichen Länge geben könnte
  • Die Roh-Audiodaten können nicht Sample für Sample verglichen werden, da dadurch eine verlustbehaftete und eine verlustfreie Version desselben Titels nicht erkannt werden könnte.

Ich bin mir nicht sicher, wie das geht oder ob es ein Programm gibt, das das kann. Im Grunde suche ich nach etwas wie AntiDupl.NET, aber für Audiodateien statt für Bilder. Vielleicht kann das in Python mit einer Art statistischer Analyse gemacht werden, wobei der Fehler als Schwellenwert verwendet wird, aber ich bin mir nicht sicher, wie das umgesetzt werden könnte. Irgendwelche Programmvorschläge oder andere Ideen?

verwandte Informationen