Comment fonctionne Shazam

Shazam vous permet d’envoyer un enregistrement fait sur votre téléphone de presque n’importe quelle chanson et Shazam vous dira le nom de la chanson, le nom de l’artiste et d’autres données sur cette chanson. Ces autres données comprennent souvent des liens vers des endroits où vous pouvez acheter la chanson ainsi que les dates de tournée à venir pour cet artiste. Ces dernières années, Shazam a étendu sa bibliothèque aux publicités et à la télévision. Par exemple, vous pouvez shazamer une publicité et obtenir des informations supplémentaires sur le produit, y compris un lien pour acheter ce produit.

Fondé en 1999, Shazam est plus ancien que le smartphone. Aux premiers jours de Shazam, les utilisateurs appelaient sur un appareil qui ressemblait à ceci

Une recherche Shazam est capable de trouver une correspondance même dans des environnements bruyants comme les bars ou les boîtes de nuit, tant que cette chanson est déjà dans la base de données de Shazam. Un enregistrement d’au moins cinq secondes donnera les meilleurs résultats. Vous pouvez commencer à enregistrer à n’importe quel moment de la chanson et Shazam vous enverra une correspondance en quelques secondes. Pour que ce service fonctionne bien, Shazam dispose d’une base de données croissante de plus de 8 millions de chansons/fichiers audio. En supposant que le fichier audio moyen dure trois minutes, il faudrait plus de 45 ans pour les écouter l’un après l’autre!

Avec une base de données de cette taille, ils ont une grande couverture, mais comment Shazam trouve-t-il une correspondance si rapidement dans une base de données aussi grande ? Tout d’abord, les fichiers audio réels ne sont pas ce qui est recherché lorsque vous Shazam une chanson. Au contraire, Shazam possède une empreinte audio pour chaque fichier audio de la base de données. L’enregistrement qu’un utilisateur de Shazam soumet est également transformé en une empreinte audio, ce qui lui permet d’effectuer des comparaisons précises et rapides. Ces empreintes audio consistent en des collections de données numériques. Si vous vous demandez comment cet air entraînant que vous êtes en train de Shazamer se transforme en chiffres, la section suivante est pour vous.

Comment fonctionne le son

Dans sa définition la plus basique, le son est constitué de particules qui vibrent. Il y a trois éléments qui rendent chaque son unique : l’amplitude, la fréquence et le temps. L’amplitude est la taille de la vibration, que nous percevons comme l’intensité sonore du son. La fréquence est la vitesse à laquelle la vibration se produit. La fréquence d’un son est ce que nous percevons comme la hauteur du son. La fréquence est mesurée en Hertz (Hz), ce qui représente le nombre de fois qu’une onde sonore se répète par seconde. L’oreille humaine peut entendre des sons allant de 20 Hz à 20 000 Hz. Pour donner une idée, la note la plus grave d’un piano traditionnel à 88 touches, A0, a une fréquence de 27,5 Hz. La fréquence d’une hauteur musicale à chaque octave augmente de façon logarithmique. En d’autres termes, la fréquence de chaque octave est deux fois plus élevée que celle de l’octave inférieure. Par exemple, la fréquence de A1 est de 55Hz, celle de A2 est de 110Hz, et celle de A3 est de 220Hz.

Dans le tableau ci-dessus, vous pouvez voir que de nombreux instruments peuvent jouer les mêmes notes, mais une note sur le violon et la même note sur un piano sonneront différemment. Cette différence de qualité tonale est connue sous le nom de timbre. Le timbre d’un son est créé par des fréquences plus élevées (qui se répètent à un rythme plus rapide) que la hauteur perçue du son. Ces fréquences sont appelées harmoniques. Regardez cet enregistrement qui commence par une note (C4 261,23Hz) sur un piano suivie de chacune des harmoniques au sein du son jouées une par une et qui se termine par la même note par laquelle il a commencé.

Ces fréquences harmoniques sont ce qui donne à un instrument son timbre caractéristique.

Le temps est important car il nous donne non seulement la durée dans laquelle se produit mais aussi à quel moment un son se produit par rapport aux autres sons. Une chanson donnée peut être composée de nombreux instruments qui varient en fréquence et en amplitude lorsqu’ils se déplacent dans le temps les uns par rapport aux autres. En raison de la complexité de l’amplitude, de la fréquence et du temps, et de la capacité à les mesurer précisément, deux versions différentes d’une même chanson généreront toujours une empreinte audio unique.

Comment une empreinte digitale est réalisée

Pour réaliser une empreinte audio, un fichier audio est converti en un spectrogramme où l’axe des y représente la fréquence, l’axe des x représente le temps et la densité de l’ombrage représente l’amplitude (Fig 1A).

Pour chaque section d’un fichier audio, les pics les plus forts sont choisis et le spectrogramme est réduit à un nuage de points. A ce stade, l’amplitude n’est plus nécessaire (Fig 1B).

Nous disposons maintenant de toutes les données de base pour faire correspondre deux fichiers qui ont subi le processus de prise d’empreinte. Cependant, il n’est possible de les faire correspondre que si un utilisateur de Shazam a commencé à enregistrer à la milliseconde exacte du début de la chanson. Comme ce n’est presque jamais le cas, le processus d’empreinte audio comporte des étapes supplémentaires. Grâce à un processus appelé hachage combinatoire, les points du diagramme de dispersion sont choisis pour être des ancres qui sont liées à d’autres points du diagramme qui se produisent après le point d’ancrage pendant une fenêtre de temps et de fréquence connue sous le nom de zone cible (Fig 1C).

Chaque paire ancrage-point est stockée dans un tableau contenant la fréquence de l’ancre, la fréquence du point, et le temps entre l’ancre et le point connu sous le nom de hash. Ces données sont ensuite liées à une table qui contient le temps entre l’ancre et le début du fichier audio. Les fichiers dans la base de données ont également des identifiants uniques qui sont utilisés pour récupérer plus d’informations sur le fichier, comme le titre de la chanson et le nom de l’artiste.

Comment trouver une correspondance

Maintenant que nous avons créé des empreintes digitales pour les deux fichiers audio, chacune des paires de points d’ancrage de l’enregistrement de l’utilisateur de Shazam est envoyée à la base de données de Shazam pour rechercher des paires de points d’ancrage correspondantes. Cette recherche renverra les empreintes audio de toutes les chansons qui contiennent des paires de hachage. Une fois que nous avons toutes les correspondances possibles pour l’enregistrement de l’utilisateur de Shazam, nous devons trouver le décalage temporel entre le début de l’enregistrement de l’utilisateur de Shazam et le début de l’une de ces correspondances possibles dans la base de données. Ce décalage temporel peut être calculé en soustrayant l’heure d’occurrence de la paire de points d’ancrage dans l’enregistrement de l’utilisateur de Shazam de l’heure d’occurrence du hachage correspondant dans le fichier audio de la base de données de Shazam. Si une quantité significative de hachages correspondants ont le même décalage temporel, cette chanson est déterminée comme étant une correspondance !

Lorsqu’ils sont mis en correspondance sur un diagramme de dispersion où l’axe des y représente le temps auquel le hachage se produit dans l’enregistrement de l’utilisateur Shazam et l’axe des x représente le temps auquel le hachage se produit dans le fichier audio de la base de données de Shazam, les hachages correspondants formeront une ligne diagonale (Fig 3A). Dans un histogramme des mêmes données où l’axe des y représente les heures de décalage et l’axe des x représente la quantité de correspondances, il y aura un pic important à l’heure de décalage correcte (Fig 3B).

Cette méthode de recherche audio est suffisamment précise pour trouver des correspondances même si l’enregistrement de l’utilisateur de Shazam contient des bruits tels que des gens qui parlent, le bruit de la route et même d’autres chansons. Comme le nombre de hachages de points d’ancrage créés par une empreinte audio est beaucoup plus élevé que le nombre de correspondances de points d’ancrage nécessaires pour renvoyer un résultat de recherche positif, les hachages de points d’ancrage qui sont masqués par le bruit externe ne sont pas suffisants pour empêcher Shazam de trouver systématiquement une correspondance pour un fichier audio de la base de données. Étant donné que l’algorithme de recherche est conçu pour trouver des correspondances avec les enregistrements audio de la base de données de Shazam, si vous assistez à un concert et que vous obtenez une correspondance positive en utilisant Shazam pour une chanson, il est fort probable que l’interprète utilise des pistes d’accompagnement et/ou fait du playback. Un autre effet secondaire est que Shazam renvoie l’enregistrement original dont provient un échantillon si un artiste n’a pas combiné l’échantillon avec d’autres sons et n’a pas modifié l’échantillon de quelque manière que ce soit.

Leave a Reply