2010-05-29 8 views
0

Ceci est une question en 2 parties. Tout d'abord, est-il possible d'accéder aux données audio dans un MP3 indépendamment des balises ID3, et deuxièmement, est-il possible de le faire en utilisant les bibliothèques disponibles?Accéder aux données audio MP3 indépendamment des tags ID3?

J'ai récemment consolidé ma collection de musique à partir de 3 ordinateurs et je me suis retrouvé avec des chansons qui avaient changé de tags ID3, mais les données audio elles-mêmes n'étaient pas modifiées. L'exécution d'une recherche de fichiers en double a échoué parce que le fichier a changé avec le changement de tag ID3, mais je pense qu'il devrait être possible d'identifier les fichiers dupliqués si je fais juste une déduplication en utilisant les données audio pour la comparaison. Je sais qu'il est possible de rechercher une position particulière après l'en-tête ID3 dans le fichier, et de lire directement les données, mais je me demandais s'il y avait une bibliothèque qui exposerait les données audio afin que je puisse simplement extraire les données, exécutez une somme de contrôle dessus, et stockez le résultat calculé quelque part, puis recherchez des sommes de contrôle identiques. (En outre, je devrais probablement utiliser une sorte de bibliothèque lorsque vous prenez en compte les en-têtes de longueur variable.)

+0

Des questions similaires, puisqu'il ne semble pas y avoir de boîte de dialogue 'Lien vers une question différente': Lecture des tags ID3 - http://stackoverflow.com/questions/1645803/how-to-read-mp3-file-tags (Consensus: Utiliser une bibliothèque) Lecteurs de tags pour Java - http://stackoverflow.com/questions/73147/i-need-an-id3-tag-reader-library-for-java-preferably-a-fast-one http://stackoverflow.com/questions/86083/any-good-recommandations-pour-mp3-sound-libraries-for-java http://stackoverflow.com/questions/278612/java-mp3-audio-editing-trimming-library – Kyle

+0

Aussi, cela semble être mon meilleur pari, pour autant que je sache: http://stackoverflow.com/questions/476227/detect-duplicate-mp3-files-with-different-bitrates-and-or-different-id3-tags – Kyle

Répondre

0

Par coïncidence, je voulais faire quelque chose de similaire l'autre jour.

Voici un script Ruby que je fouetté:

http://code.google.com/p/kodebucket/source/browse/trunk/bin/mp3dump.rb

Il dépotoirs cadres mpeg à stdout, on pourrait donc saisir une somme de contrôle comme ceci:

# mp3dump.rb file.mp3 | md5sum

+0

Hmm. Genre de ce que je cherchais, même si je n'ai aucune idée de ce que ça fait. Je vais l'accepter, mais cela ne me dérangerait pas une explication de ce qu'il fait. Je présume que la séquence à moins filtre les tags ID3 en quelque sorte, mais ne peut pas dire comment. Un lien vers n'importe quel document que vous avez utilisé pour créer ceci serait génial. :) – Kyle

+0

Oui, c'est probablement un peu obscurci; flux de conscience codant ... L'essentiel: ouvrir un fichier mp3; lu 4 octets; si les octets que nous avons lus sont des en-têtes mp3 valides, lisez le cadre et envoyez-le à stdout; sinon nous rembobiner 3 octets et réessayer jusqu'à ce que nous atteignions la fin du fichier. J'ai utilisé la ressource de trame MPEG suivante: http://www.datavoyage.com/mpgscript/mpeghdr.htm – user358390

+0

Ce script a transformé mon MP3 en 54 Ko brisés. –

Questions connexes