Jouez de vrais accords de guitare dans le micro pour faire sauter un personnage, peindre à l’écran ou marquer des points — six mini-jeux qui écoutent votre instrument en temps réel.
Vue d’ensemble
Guitare Game écoute le micro, y détecte en temps réel les notes et les accords joués sur une vraie guitare, et s’en sert pour piloter des mini-jeux en Canvas 2D — inspiré de strumsurfer.com. Jouez un accord précis pour faire sauter un personnage par-dessus des obstacles, peindre à l’écran, ou déclencher les bonnes cases dans un jeu de mémoire : chaque mini-jeu propose ses propres cartes de diagrammes d’accords pour apprendre les positions au fur et à mesure.
Six mini-jeux sont disponibles au lancement : un runner d’accords classique, un jeu de rythme façon Guitar Hero, un jeu de mémoire (Chord Simon), un Snake piloté aux accords, un mode peinture libre et un jeu d’altitude piloté à la hauteur de la note jouée. Pas de guitare sous la main ? La barre d’espace simule un saut pour tester sans instrument.
Fonctionnalités
- Détection de notes et d’accords en temps réel — reconnaissance monophonique par autocorrélation et polyphonique par chromagramme, directement depuis le micro.
- Six mini-jeux — 🎸 Runner d’accords, 🎯 Chord Hero (rythme), 🧠 Chord Simon (mémoire), 🐍 Snake (accords), 🎨 Guitar Paint et 🚀 Pitch Flight (hauteur), sélectionnables dans un menu déroulant.
- Anti-faux positifs — un accord doit être détecté sur plusieurs frames consécutives avant d’être validé, pour éviter le clignotement de détection.
- Diagrammes d’accords à l’écran — cartes SVG et diagrammes en jeu qui montrent la position à jouer pour chaque mini-jeu.
- Architecture ouverte aux mini-jeux — un nouveau jeu s’ajoute en étendant une classe de base et apparaît automatiquement dans le menu.
- Jouable sans guitare — la barre d’espace simule un saut pour tester l’interface sans instrument sous la main.
Sous le capot
Le pipeline audio et les jeux sont totalement découplés : ils ne communiquent que par des événements JavaScript (noteDetected, chordDetected, etc.) diffusés sur le document — un jeu n’importe jamais le moteur audio directement. Pour une note seule, la détection utilise l’autocorrélation (variante ACF2+) sur le signal temporel, avec interpolation parabolique pour affiner la fréquence trouvée. Pour un accord, le spectre FFT est replié en 12 classes de hauteur (chromagramme), puis corrélé à des gabarits d’accords (majeur, mineur, 7e…) pour les 12 toniques possibles — l’approche standard en analyse musicale automatique, bien plus robuste que l’autocorrélation dès qu’il y a plusieurs notes en même temps.
Tous les mini-jeux partagent une seule boucle de rendu (requestAnimationFrame) gérée par un gestionnaire central, qui démonte proprement le jeu précédent avant d’en monter un nouveau. Chaque jeu s’abonne aux événements d’accords à son montage et se désabonne automatiquement à son démontage — impossible d’oublier un listener actif après avoir changé de jeu. Les seuils de détection (confiance minimale, sensibilité au silence, stabilité requise avant validation) sont tous calibrables, ce qui permet d’adapter l’appli à un micro plus ou moins sensible ou à une guitare plus ou moins forte.
Contrôles
| Entrée | Action |
|---|---|
| Accord joué à la guitare | Détecté par le micro, déclenche l’action du mini-jeu actif |
| Espace | Simule un saut (test sans guitare) |
| Menu déroulant | Change de mini-jeu |
Stack technique
- Vanilla JS (modules ES6), zéro framework
- Web Audio API — getUserMedia, AudioContext, AnalyserNode pour l’analyse spectrale
- Détection de pitch par autocorrélation (ACF2+) — reconnaissance de notes monophoniques
- Chromagramme + gabarits d’accords (FFT) — reconnaissance d’accords polyphoniques
- Canvas 2D — rendu des six mini-jeux et des diagrammes d’accords
- SVG — cartes de diagrammes d’accords hors jeu
Cas d’usage
Outil d’entraînement ludique pour un guitariste débutant qui veut mémoriser ses accords en jouant, ou simplement mini-jeux d’arcade détournés pour transformer une séance de gratte en session de jeu.
Le bon accord au bon moment, et c’est votre guitare qui tient la manette.



