2 points par GN⁺ 2023-12-06 | 1 commentaires | Partager sur WhatsApp

Titre résumé : Le principe de la technologie de reconnaissance musicale de Shazam

Qu'est-ce que Shazam ?

  • Shazam est une application qui identifie la musique diffusée autour de vous.
  • Il suffit d'ouvrir l'application et d'enregistrer l'audio pendant quelques secondes pendant que la musique joue, puis elle effectue une recherche dans sa base de données.
  • Par le passé, le service était proposé via un numéro de téléphone, et la qualité des appels rendait la reconnaissance musicale difficile.

Pourquoi la reconnaissance musicale est difficile

  • Pour les personnes peu familières avec le traitement du signal, la reconnaissance musicale est un problème difficile en raison de la complexité des signaux audio.
  • Une approche par force brute consistant à retrouver une partie précise d'une chanson dans toute la piste est très lente, et la forme du signal peut fortement varier à cause du bruit de fond et des effets de fréquence.

Vue d'ensemble du système

  • Shazam se divise en deux flux, l'enregistrement des morceaux et leur reconnaissance, et les deux partagent des étapes communes comme le calcul du spectrogramme, la recherche des pics dans le spectrogramme et le hachage des pics.
  • Le flux d'enregistrement stocke les hachages dans la base de données, tandis que le flux de reconnaissance les compare à ceux de la base pour identifier la chanson en cours de lecture.

Calcul du spectrogramme

  • Pour obtenir le spectrogramme d'un audio, il faut comprendre la transformée de Fourier.
  • La transformée de Fourier indique quelles fréquences sont présentes dans l'audio, ce qui permet de générer un spectrogramme représentant l'évolution des fréquences au fil du temps.

Spectrogramme

  • Pour mieux représenter les fréquences qui évoluent dans le temps, le spectrogramme découpe la chanson en petits segments et applique la transformée de Fourier.
  • Le spectrogramme est un graphique en 3D composé du temps (axe X), de la fréquence (axe Y) et de l'intensité (axe Z/couleur).

Génération de l'empreinte

  • En repérant dans le spectrogramme les pics correspondant aux fréquences les plus fortes, on extrait une empreinte unique de l'audio.
  • Ces pics résistent bien au bruit et à d'autres distorsions, ce qui les rend adaptés à la génération d'empreintes.

Recherche des pics

  • Les pics du spectrogramme représentent les fréquences les plus fortes du signal et doivent être répartis de façon homogène pour être utilisés dans une empreinte audio.
  • Une technique de filtre maximum est utilisée pour mettre en évidence les pics du spectrogramme et en localiser la position.

Hachage

  • Des hachages sont créés en formant des paires de pics du spectrogramme, ce qui augmente l'unicité.
  • Les hachages incluent les fréquences des deux pics ainsi que leur différence temporelle, puis sont stockés dans la base de données.

Correspondance

  • Cette partie explique comment trouver, dans la collection d'empreintes de la base de données, celles qui correspondent à un échantillon audio donné.
  • On recherche les hachages, on les regroupe par chanson, puis on vérifie les correspondances de hachage afin de sélectionner la piste qui correspond le plus.

Conclusion

  • Shazam suit un processus comprenant le calcul du spectrogramme, l'extraction des pics, la création de paires de hachages et le stockage des empreintes afin d'enregistrer et reconnaître les chansons.

L'avis de GN⁺

  • Le point le plus important de cet article est qu'il explique de manière accessible le processus complexe par lequel Shazam reconnaît la musique.
  • Il est intéressant et convaincant de voir les détails techniques décomposés étape par étape, de façon à être compréhensibles même pour un ingénieur logiciel débutant.

1 commentaires

 
GN⁺ 2023-12-06
Commentaires Hacker News
  • L’approche efficace de Shazam fondée sur le hachage

    Lors du lancement de Shazam en 2008, développer une méthode pour convertir des chansons en hash de manière efficace sur le plan computationnel était une approche judicieuse. Si un tel service était lancé aujourd’hui, on adopterait probablement une approche de R&D consistant à entraîner un modèle, mais cela pourrait être inefficace et coûteux. Comme le nombre de chansons est fini, une approche fondée sur le hachage peut offrir de bien meilleures performances.

  • Le charme durable et presque magique de Shazam

    Shazam est l’un des rares produits qui, plus de 20 ans après, donne encore une impression de magie, et c’est le genre d’objectif auquel les technologues devraient aspirer.

  • Une vidéo du Wall Street Journal expliquant le fonctionnement de Shazam

    Il existe une très belle vidéo produite par le Wall Street Journal qui explique comment Shazam crée son empreinte audio unique.

  • Explication de Chromaprint et AcoustID

    Chromaprint fonctionne à partir de motifs de variation de hauteur plutôt qu’à partir des maxima du spectre, et il est utilisé dans une grande base de données ouverte appelée AcoustID pour relier les enregistrements MusicBrainz aux empreintes audio. Il est étonnant que, malgré un soutien commercial bien moindre que celui de Shazam, la base contienne autant de musique.

  • Un article intéressant sur Shazam et le traitement numérique du signal

    C’est une excellente introduction au fonctionnement de Shazam et au traitement numérique du signal, indispensable pour quiconque veut comprendre comment fonctionne la reconnaissance d’empreintes audio.

  • Des algorithmes similaires applicables à d’autres médias

    Il existe des algorithmes d’approximation similaires applicables non seulement à la reconnaissance d’empreintes audio, mais aussi à d’autres médias, et toute personne souhaitant comprendre le hachage dans le monde réel devrait étudier cet article attentivement.

  • L’importance du site Every Noise At Once

    Every Noise At Once est un site remarquable qui applique l’appariement algorithmique à la classification des genres musicaux et aux sous-genres ramifiés introduits par les signatures de nouvelles chansons. Il risque de disparaître à cause de problèmes d’hébergement, ce qui serait une grande perte pour le World Wide Web.

  • Le caractère intuitif du processus de reconnaissance musicale

    Ce système identifie des fragments de mélodie et les fait correspondre dans l’ordre, d’une manière très proche de notre propre processus de perception, ce qui correspond à la façon dont nous reconnaissons une chanson après avoir entendu quelques notes.

  • La transformée de Fourier utilisée pour la reconnaissance musicale

    Il est fait mention de la transformée de Fourier, souvent utilisée pour la reconnaissance musicale, également employée dans une version open source appelée Echoprint, dont le service a été arrêté après son acquisition par Spotify.