Comment fonctionne la prise d'empreintes digitales de musique (pour les sites tels que Shazam et Lala.com)?
-
20-09-2019 - |
Question
Mon grand (120Go) collection de musique contient beaucoup de chansons en double, et je l'ai essayé de pistes d'empreintes digitales dans l'espoir de détecter les doublons. Et comme je suis un CS Major Je suis très curieux de savoir ce qui se fait là-bas? Rien que je fais a presque l'exactitude de quelque chose comme Shazam ou Lala.com. Comment font-ils des pistes « hash »? J'ai couru un hachage MD5 standard sur tous mes fichiers (26.000 fichiers) et j'ai trouvé des centaines d'égalité hash sur différentes pistes, de sorte que cela ne fonctionne pas.
Je suis plus intéressé par Lala.com car ils travaillent avec des fichiers complets, contrairement à Shazam, mais je suppose à la fois utiliser une technique similaire. Quelqu'un peut-il expliquer comment générer des identifiants uniques pour la musique?
La solution
Le document fondateur sur les empreintes digitales audio est le travail en 2002-03 par Haitsma et Kalker. Pour chaque trame de l'audio, il prétraite (différences entre les délais et les bandes de fréquences), puis stocke une version binarisée du spectre du cadre.
Cette procédure ajoute de la robustesse. Si la totalité du signal est décalé dans le temps, il fonctionne encore (du moins, on peut obtenir une limite inférieure sur la dégradation des performances). Il est assez robuste au bruit ambiant. Depuis sa création, il y a eu de nombreux articles sur la similitude de la musique à faible niveau, donc il n'y a pas de réponse unique.
Avez-vous des fichiers absolument identiques, à savoir, les signaux sont recalées, profondeur de bit est le même, le taux d'échantillonnage est le même? Ensuite, je pense qu'un hachage comme MD5 devrait fonctionner. Mais si l'un de ces paramètres sont modifiés, de même le hash. Dans un tel cas, une procédure comme celui mentionné précédemment fonctionnerait mieux.
Jetez un oeil à la procédure ISMIR en ligne gratuitement. Truc amusant. http://www.ismir.net/
Autres conseils
Après quelques recherches (même si cela ne résout pas du tout!), Je suis tombé sur le wiki à MusicBrainz.org qui détaille quelques-unes des approches qu'ils utilisent: