Comment comparer les mp3 par programmation
J'aime être en mesure de comparer les mp3 par programmation. Le problème je ne sais pas par quoi.
L'en-tête? Histogramme? les canaux? Quelqu'un a une expérience avec ce sujet?
Vous voulez faire quoi?
Je suppose que vous voulez dire "comparer", pensez-vous?
Les programmes utilisés pour la comparaison audio référencé dans les réponses ci-dessous semblent abandonnés il y a des années. Est-il toujours maintenu? J'ai aussi face à ce problème et j'ai besoin d'un programme pour comparer deux fichiers mp3 et obtenir un rapport avec les différences.
Je suppose que vous voulez dire "comparer", pensez-vous?
Les programmes utilisés pour la comparaison audio référencé dans les réponses ci-dessous semblent abandonnés il y a des années. Est-il toujours maintenu? J'ai aussi face à ce problème et j'ai besoin d'un programme pour comparer deux fichiers mp3 et obtenir un rapport avec les différences.
OriginalL'auteur user63898 | 2009-02-15
Vous devez vous connecter pour publier un commentaire.
J'ai écrit ma thèse de maîtrise sur l'empreinte numérique. La thèse énumère quelques-unes des solutions open source pour le problème de la comparaison de ce que la musique sonne comme, et fournit des comparaisons de performances entre eux. Peut-être exagéré, mais il y a vraiment décent applications.
Si vous ne souhaitez comparer par des données étiquetées, la norme à examiner est ID3. En gros, il existe deux versions, la première est très simple (ID3v1) et se compose de 128 octets bloc à la fin d'un MP3. ID3v2 met un plus grand, de taille variable bloc au début de la MP3.
URL de mise à jour dans le post.
l'URL des liens vers votre thèse de master est brisé, pourriez-vous le mettre à jour s'il vous plaît?
URL de post mis à jour. Quelqu'un a modifié la structure de l'URL: daim.idi.ntnu.n/masteroppgaver/004/4014/masteroppgave.pdf
OriginalL'auteur Vegard Larsen
J'ai eu la même question. J'ai trouvé que l'itunes a modifié beaucoup de mes Amazon MP3 downloads, la modification de l'heure et de date, la taille de fichier et donc le MD5 de signatures. Mes sauvegardes soudainement eu beaucoup de fichiers en double.
Quand j'ai fait un VIM diff, j'ai pu voir que les modifications ont été limitées à de très petites parties de ces fichiers. Les fichiers regardé identiques côte à côte dans Audacity, même à un proche de zoom.
Ma solution est de créer une entete WAV dump du mp3 et de comparer les signatures MD5 de chaque WAV. FFMPEG peut faire la traduction assez facilement.
ffmpeg -y-i $mp3 $mp3.wav;
md5sum $mp3.wav
J'ai créé une table de hachage avec MD5 comme la touche de pointage à l'original MP3 fichier spec. Mettre le fichier wav sur un disque SSD pour la vitesse.
La force Brute, mais il fonctionne.
avconv -i wav.wav -map 0 -map_metadata 0:s:0 -c copy nometa.wav
OriginalL'auteur user1556337
Je suppose qu'il ya un certain nombre d'approches que vous pouvez prendre pour ce:
1. Comparer les balises
Vous pouvez comparer les données contenues dans les fichiers mp3 tags. Les balises sont détenus dans le ID3 format. Il y a un certain nombre de bibliothèques pour vous aider à accéder à la page des tags, tagLib est un choix populaire (TagLib Sharp pour .net applications)
2. Empreinte acoustique
C'est de loin la plus robuste de la méthode, vous permettant de trouver des correspondances quelle que soit la compression ou même format. Une empreinte unique est créé à partir de l'audio à partir du fichier permettant la chanson être identifié echoprint est un opensource exemple.
3. La création d'un hachage du fichier
Ce est une méthode plus rapide, vous permettant de rechercher un fichier avec le contenu qui correspond exactement.
Quelques lectures complémentaires:
Il y a un intéressant article de MSDN sur la gestion d'une collection de mp3 (y compris la lecture des tags) ici:
texte du lien (C'est dans visual basic, mais peut encore vous être utile).
Il y a une petite description du format de fichier ici:
texte du lien
OriginalL'auteur Wilfred Knievel
Qu'entendez-vous par comparaison ? Les méta-données (auteur, titre, etc...), les données audio ? Pour quel but ?
Populaire et de la façon la plus simple de comparer des données audio est de calculer une sorte de distance sur certaines des caractéristiques spectrales, comme MFCC:
http://en.wikipedia.org/wiki/Mel_frequency_cepstral_coefficient
OriginalL'auteur David Cournapeau
Pour répondre à votre question mieux, je pense que nous avons besoin de savoir exactement ce que vous cherchez à faire.
Si vous êtes à la recherche pour comparer la chanson proprement dite, musicDNS disposer d'une bibliothèque qui sont en mesure de créer des empreintes numériques. La bibliothèque appelée libOFA peut être trouvé ici. Cette empreinte le système est utilisé, par exemple, musicbrainz pour correspondre numérique audiofiles à leur base de données. En théorie, vous pouvez l'utiliser pour comparer deux fichiers numériques.
Si vous êtes à la recherche pour comparer les données de l'étiquette (id3v1/id3v2) il y a beaucoup de bibliothèques qui peuvent le faire pour vous, taglib est mentionné et aussi libmpg123 ont leurs propres fonctions pour extraire les données de l'étiquette.
La bonne chose à propos de la libOFA approche est que vous pouvez comparer les différents formats depuis la prise de ses empreintes se fait sur l'audio.
OriginalL'auteur Tobias R
J'utilise fréquemment fdupes sur linux pour localiser les fichiers en double. fdupes utilise les sommes de contrôle md5.
OriginalL'auteur krosenvold
Si vous êtes simplement à la recherche pour comparer les mp3 basée sur les balises, je le recommande taglib.
OriginalL'auteur Kevin Tighe