Clavio apprend le piano façon Duolingo, avec un Casio CT-S100 ou n'importe quel clavier MIDI branché en USB. Un parcours de 28 leçons, des séries de jours, et surtout : on importe n'importe quel fichier MIDI et l'app nous l'apprend note par note.
« J'avais un clavier Casio et aucune idée de par où commencer. »
Les applis pour apprendre le piano sont souvent payantes, en anglais, ou ne savent pas lire ce qu'on joue vraiment. Or un petit clavier comme le CT-S100 a un port USB qui parle MIDI : le navigateur peut savoir exactement quelle touche est enfoncée.
Clavio part de là : un vrai parcours pour débutant, la motivation d'un jeu (cœurs, XP, séries, badges), et un lecteur MIDI maison pour apprendre ensuite les morceaux de son choix.
02En images
À quoi ça ressemble.
Mode pas à pas : la musique attend la bonne note.Le parcours : 8 unités, 28 leçons.Lire la portée, en clé de Sol puis de Fa.Des exercices de rythme.Une erreur ? L'exercice revient à la fin.Pour chaque piste : je joue, l'app joue, ou muet.
03Comment ça marche
Sous le capot.
Tout tourne dans le navigateur, en JavaScript pur, découpé en petits modules.
1
Le clavier parle MIDI
L'API Web MIDI reçoit chaque touche enfoncée sur le piano, avec sa vélocité. Sans clavier, on joue à la souris, au doigt ou avec le clavier de l'ordi.
2
Un lecteur MIDI maison
Le parseur lit les fichiers .mid, convertit les ticks en secondes grâce à la carte des tempos, sépare les canaux et devine la main (grave à gauche, aigu à droite).
3
Trois façons de jouer
Pas à pas (la musique attend), en rythme (on est noté « Parfait » ou « Bien »), ou en écoute. Vitesse réglable de 20 % à 150 %.
4
La motivation
5 cœurs par leçon, XP, niveaux, objectif quotidien, série de jours et 16 badges, sauvegardés dans le navigateur.
✦À toi de jouer
Le mode pas à pas
Les notes tombent, et la musique t'attend. Joue à la souris ou avec les touches Q, S, D, F, G, H, J, K.
!Les défis
Ce qui a résisté.
Lire un fichier MIDI à la main
ProblèmeLes fichiers MIDI comptent le temps en « ticks », avec des changements de tempo en cours de route, et parfois un en-tête RIFF en plus.
SolutionUn parseur maison : carte des tempos pour convertir en secondes, gestion des notes jamais relâchées, et séparation des canaux mélangés sur une même piste.
Un morceau trop grand pour le clavier
ProblèmeUn MIDI peut utiliser 88 touches, le CT-S100 n'en a que 61.
SolutionLes notes hors tessiture sont ramenées dans les octaves disponibles, et le morceau est découpé en parties de 4 mesures notées sur 3 étoiles.
Deux sons qui se marchent dessus
ProblèmeLe piano joue déjà son propre son, et l'app aussi.
SolutionPar défaut, l'app coupe son propre son pour les notes jouées sur le clavier. Un réglage permet de le rétablir.
⏱Journal de bord
Comment c'est arrivé.
Un programme complet
De « trouver le Do » jusqu'aux deux mains, avec un morceau bonus par unité.
N'importe quel morceau
Glisser-déposer un .mid, choisir les pistes, apprendre partie par partie.
Reconnaissance des accords
Les 61 touches, les accords nommés en direct, un métronome et un enregistreur.
Publication
Mise en ligne sur GitHub avec un README illustré.
→Et ensuite
La suite du projet.
Une version en ligne, sans rien télécharger.
Un mode « deux mains séparées » pour travailler chaque main à part.
Astuce : les flèches ←→ de ton clavier passent d'un projet à l'autre.