Application Shazam

5 02 2011

Shazam est une application i-phone surprenante. Elle permet d’identifier le titre et l’auteur d’un morceau inconnu. Pour ce faire il suffit d’enregistrer le morceau de musique pendant une quinzaine de secondes puis l’application se connecte via internet pour trouver les données relatives à cet échantillon. Le fonctionnement de cette application est d’autant plus extraordinaire qu’il permet la reconnaissance des morceaux de faible qualité audio, par exemple une chanson diffusée à la radio ou une musique écoutée dans un bar.

Il faut savoir que les plus grandes bases de musiques référent environs 10 millions de morceaux. En estimant la durée moyenne des morceaux à 3 minutes, cela représente un peu moins de soixante années d’écoute non stop. Malgré les performance des ordinateurs actuels, il semble peu probable que l’application compare directement les 15 secondes de musique enregistrés avec cette base de donnée. Comment fait t-elle alors pour déterminer l’identité du morceau écouté ?

En réalité l’application ne compare pas les signaux enregistrés et référencés dans le domaine temporel mais elle confrontent leurs spectres. A partir de l’enregistrement temporel d’un signal sonore il est aisé d’en déduire son spectrogramme, c’est à dire l’évolution de son spectre sonore au cours du temps. Un exemple de spectrogramme relatif à un échantillon est représenté ci dessous :

Un spectrogramme représente en ordonnée les fréquences et en abscisse le temps. La puissance sonore est codée par les couleur. La couleur rouge symbolise une forte puissance alors que la couleur bleue représente une faible intensité.

Shazam va utiliser ces représentations pour créer des empreintes du morceau enregistrée. Une empreinte est un point remarquable du diagramme temps-fréquence, comme par exemple une forte intensité sonore. Ces empreintes seront ensuite comparées à celles des morceaux de la base de donnée pour tenter de retrouver le titre inconnu.

La question est de savoir combien d’empreintes sont nécessaires pour faire correspondre le signal inconnu avec le signal réferencé et ce sans risque d’erreur. Afin d’y répondre il faut savoir que Shazam code les données relatives à une empreinte en 32 bits. Cela signifie que l’application numérise la valeur du maximum parmi 2^32 valeurs possibles, soit environ 4 milliards de valeurs. Il est intéressant de comparer ce nombre de valeurs possibles avec le nombre totale d’empreintes dans la base de donnée. Imaginons que la base de donnée de Shazam est réalisée 10 empreintes par secondes pour chacun de ses morceaux référencés . Celle ci contient environ de 18 milliards d’empreintes. En moyenne une valeur d’empreinte est donc contenue dans 5 morceaux (18 milliards sur 4). Ainsi en recherchant dans la base de données un morceau qui a deux empreintes identiques avec le morceau inconnu on peut affirmer que les deux musiques correspondent avec une chance de 1 sur 400 000 de se tromper. Deux empreintes de même valeur suffisent à assurer l’identification dans de bonnes conditions ! En pratique Shazam compare une centaine d’empreintes sur ses échantillons afin de limiter les risques d’erreur provenant d’une empreinte résultant du bruit ambiant.

Ce procédé est remarquable par le fait que l’on n’est plus obligé de stocker 60 ans de musique, soit 50 Teraoctets de données en format mp3, mais 18 milliard d’empreintes encodées en 32 bits, soit 72 Gigaoctets de données (soit 1000 fois moins). Cette réduction de la taille de la base de donnée permet aussi la réduction du temps de comparaison du morceau inconnu à celui référencé.  Ceci permet à l’application Shazam d’être fonctionnelle.


Actions

Information

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s




%d blogueurs aiment cette page :