Shazamiga

Shazamiga

Un « Shazam » pour les musiques de C64 et d'Amiga : on lui fait écouter un morceau, il retrouve son titre, son auteur et le jeu ou la démo d'où il vient.

⬇ Télécharger la beta (PC et Android)

Pourquoi un Shazam à part ?

Shazam ne connaît rien des musiques de démos, de jeux 8 et 16 bits ou de modules : elles ne sont pas sur les plateformes de streaming. Ces musiques ne sont d'ailleurs pas enregistrées, elles sont jouées en direct par des puces sonores (SID du Commodore 64, Paula de l'Amiga). Shazamiga part donc des fichiers d'origine, pas d'enregistrements.

Comment ça marche

  1. On génère le son. Chaque fichier d'origine (SID, MOD, XM, S3M, formats Amiga natifs…) est rejoué par un émulateur, ce qui donne l'audio exact, sans aucun enregistrement.
  2. On en tire une empreinte. Le son devient un spectrogramme, dont on ne garde que les pics les plus forts. Chaque pic est associé à ses voisins : c'est cette signature, très compacte, qui est stockée dans une base. Aujourd'hui, l'index contient environ 108 000 morceaux : la High Voltage SID Collection pour le Commodore 64, et une première partie de l'Amiga. L'indexation de l'Amiga est en cours de mise à jour avec Modland : de nouveaux morceaux s’ajoutent au fil de l’indexation.
  3. On écoute, on compare. Le micro du téléphone envoie le son par petits morceaux d'environ une seconde au serveur Shazamiga, qui en calcule l'empreinte et la compare à celles de la base : c'est l'empreinte de la capture sonore qui est comparée, pas un fichier. Aucun son n'est conservé sur le serveur. Pour chaque morceau de la base, le serveur compte les signatures qui tombent au même endroit : le bon titre en réunit des dizaines, et on sait même à quel moment du morceau on se trouve.
  4. On répond. Dès que le score est assez net, le titre s'affiche, avec la durée mise à le trouver. Un « (?) » signale une réponse probable mais pas certaine.
Architecture de Shazamiga : le son va de l'appli au serveur, les empreintes de la console au serveur Serveur Shazamiga Console de management (PC) Appli Shazamiga Micro · 1 s Cloudflare tunnel HTTPS Empreinte + vote Base 108 000 morceaux Last V8 (?) Rob Hubbard Archives HVSC · Modland Programme d'index rejoue · empreinte son titre empreintes
En haut, le chemin d'une écoute : le son passe par Cloudflare jusqu'au serveur, et le titre revient par le même chemin. En bas, l'indexation : la console de management transforme les archives en empreintes et les envoie à la base du serveur.

Le principe est celui décrit par Avery Wang en 2003 pour Shazam, adapté à cette musique : même avec un bruit de fond ou la qualité d'un micro de téléphone, la signature survit.

L'application Shazamiga

Sur Android, l'application se résume à un gros bouton : on appuie, elle écoute en continu et affiche le titre dès qu'il est reconnu, avec le format du fichier (SID, SidMon, Custom pour les formats Amiga natifs…), le score et l'instant du morceau. Un historique daté garde les morceaux trouvés. La reconnaissance se fait sur un serveur, qui garde la base d'empreintes : le téléphone n'a rien à stocker.

Écran d'accueil de Shazamiga : la balle Boing de l'Amiga et « Tap to Shazamiga »
Un seul bouton. On touche la balle Boing de l'Amiga et l'application écoute. En bas, elle indique la taille de son index.
Shazamiga écoute : la balle Boing rebondit sur un damier en 3D
Elle écoute. La balle rebondit sur le damier pendant que le son est envoyé au serveur par petits morceaux.
Shazamiga a reconnu Enigma Gun, un module SidMon, sur un écran façon Workbench
Un module Amiga reconnu. Sur l'écran façon Workbench : titre, auteur, score, instant du morceau, format (ici Amiga SID1) et taille du fichier.
Shazamiga a reconnu Pelforth Blues de Moby, un module ProTracker
Un module ProTracker. Pour un MOD, l'application détaille aussi la durée, le tracker, le nombre de canaux, de positions (orders) et de patterns.
Shazamiga a reconnu Last V8 de Rob Hubbard, sur un écran façon Commodore 64
Un SID, façon Commodore 64. Le résultat s'affiche comme sur un vrai C64 : titre, auteur, score, format, durée, taille du fichier et année de sortie, tels que la base les connaît.

Le programme d'indexation

La base est alimentée par un programme Windows à part : on lui donne un dossier (les archives .zip, même imbriquées, sont ouvertes toutes seules), il rejoue chaque morceau, calcule les empreintes et les range dans la base. Une barre indique l'avancement global, et on peut l'arrêter et le reprendre plus tard sans créer de doublons.

Le programme d'indexation de Shazamiga en train d'indexer des modules de Modland
L'indexation en cours. Ici, les modules de Modland : le nombre de morceaux déjà en base, la progression, la vitesse et le temps restant estimé, et le journal qui défile, une ligne par morceau.

La bibliothèque

La base se construit à partir des grandes archives de la communauté : la High Voltage SID Collection (HVSC) pour le Commodore 64, Mods Anthology et d'autres collections pour l'Amiga. Chaque morceau ne pèse qu'environ 50 Ko d'empreintes, et toutes les sous-chansons d'un SID sont indexées. Sur PC, une petite interface sert à indexer un dossier, écouter au micro ou identifier un fichier.

Télécharger Shazamiga (beta)

Deux fichiers à télécharger : le programme pour PC (Windows) et l'application pour Android. Cliquez sur le bouton de celui qui vous intéresse.

Shazamiga pour PC

Windows · fichier zip · 27 Mo

⬇ Télécharger

Shazamiga pour Android

Android · fichier APK · 161 Ko

⬇ Télécharger

Ce qui reste à faire

N'oubliez pas de récupérer notre excellent lecteur tous formats : S3btify