Zugriff auf MP3-Musikdaten mit Python

Ich versuche, ein Python-Skript für die Suche nach doppelten mp3 / 4-Dateien mit den Song-Daten als die Basis für den Vergleich zu schreiben. Meine Situation beinhaltet viele mp3 / 4 Dateien mit ähnlichen Dateinamen, aber verschiedene ID3-Tags. Zuerst habe ich versucht, durchschleifen und md5 verwenden, um doppelte Dateien zu finden (ignorieren Dateinamen). Das hat natürlich nicht funktioniert, wenn die ID3-Tags nicht übereinstimmen.

Als Ergebnis bin ich auf der Suche nach einem Weg, um nur die Musik-Daten aus einem mp3 / 4 zu extrahieren, um es durch md5 laufen und finden Sie alle Duplikate. Was ist der beste Weg, um das zu gehen?

3 Solutions collect form web for “Zugriff auf MP3-Musikdaten mit Python”

Versuche es mit id3-py oder mutagen , alle Tags zu entfernen (sowohl ID3v1 als auch ID3v2, sie können beide auf derselben Datei sein) und dann das MD5 auf dem Ergebnis rechnen.

Angenommen, iTunes nicht manipulieren die Datei über Tags, die sie identisch sein sollten. Transcoding würde diesen Ansatz offensichtlich ungültig machen.

Verwenden Sie einen Fingerabdruck-Algorithmus. Sie wissen vielleicht über MusicBrainz . Sie haben hier einige Fingerabdruck-Algorithmen aufgelistet. Sie benutzen AcoustId jetzt was wohl das ist, was du auch benutzen solltest (es ist gut und es ist kostenlos). Es gibt die Chromaprint- Bibliothek, die einen solchen Fingerabdruck erzeugen kann.

Ich habe ein Python-Modul ffmpeg das die Decodierung über FFmpeg macht und eine einfache Funktion zur Berechnung des AcoustId-Fingerabdrucks (mit Chromaprint) zur Verfügung stellt. Hier ist eine kleine Demo für die (die sogar MusicBrainz für das Lied abfragt).

Es sollte leicht sein, ein Werkzeug zu erstellen, mit dem man alle Duplikate findet.

Der Fingerabdruck ist genau das gleiche, wenn die Audiodaten genau gleich sind. Es ist ähnlich, wenn die Audiodaten ähnlich sind. Auf der AcoustId-Homepage finden Sie weitere Informationen, wie Sie die Ähnlichkeit berechnen, wenn Sie nicht nur die Gleichheit prüfen wollen.

Das ist eigentlich ziemlich fortgeschritten, Fuzzy Logic-Type Zeug, die Sie fragen.

Dies ist keine Antwort, aber werfen Sie einen Blick auf die Diskussion in diesem Artikel: Erkennen Sie doppelte MP3-Dateien mit verschiedenen Bitraten und / oder verschiedenen ID3-Tags? (Es könnte sich als ein Dupe eigentlich qualifizieren … Es ist sogar Python-spezifisch.)

  • Codierung mp3 aus einem Audio-Stream von PyTTS
  • Erfassen Sie doppelte MP3-Dateien mit unterschiedlichen Bitraten und / oder verschiedenen ID3-Tags?
  • Wie stellst du Album-Kunst in ein MP3 mit Python?
  • Python pyglet AVBin - Wie installiere ich AVBin
  • MP3-Dateien mit Python spielen
  • Pyglet wird nach dem Spielen mp3 nicht aufhören
  • Wie kann man mit python auf einem Toshiba Laptop und Windows 7 sprechen?
  • Wie kann ich den Inhalt einer Mediendatei in Python eindeutig identifizieren, nicht die Metadaten?
  • Wie man den misencodierten String korrigiert?
  • Mono Wiedergabe von Mp3s in Python ODER C ++
  • Mit pyDub kann man eine lange Audiodatei hochklappen
  • Python ist die beste Programmiersprache der Welt.