Contexte
J'ai reçu un piano et j'apprends en autodidacte. Les applications qui affichent les notes à jouer sur un clavier existent, mais elles sont payantes et souvent lourdes. Je voulais un outil simple et accessible : je charge une partition, je vois quoi jouer, je répète.
Il y avait aussi une question technique derrière : est-ce qu'une simple application web peut faire ce travail, sans logiciel à installer ? Notojo est la réponse.
Enjeux
- Lire de vraies partitions, au format MusicXML exporté par MuseScore, Finale, Sibelius ou disponible sur IMSLP.
- Garder trois vues parfaitement synchronisées : la partition, les notes qui défilent et le clavier.
- Produire un son de piano crédible dans le navigateur.
- Rester simple : gratuit, sans compte, utilisable en quelques secondes.
Démarche
Notojo est une application React, sans backend : tout s'exécute dans le navigateur. La partition chargée ne quitte pas l'ordinateur de l'utilisateur.
La partition est affichée avec OpenSheetMusicDisplay et un curseur suit la lecture. Les notes défilent sur un canvas, colorées selon la main. Le clavier de 88 touches s'allume en temps réel. Le son vient d'un piano à queue échantillonné (30 samples), joué avec Tone.js, pédale de sustain comprise.
Les outils de travail sont ceux dont j'avais besoin pour apprendre : réglage du tempo de 25 % à 150 %, boucle entre deux points, choix de la main gauche, de la main droite ou des deux, affichage des doigtés, mode pas à pas et mode comparaison. Un piano numérique peut être branché en USB : les notes jouées apparaissent sur le clavier, grâce à l'API Web MIDI de Chrome et Edge.
Résultat
Notojo est en ligne, gratuit et sans inscription. La réponse à la question de départ est oui : une application web suffit pour afficher une partition, la jouer avec un son réaliste et écouter un vrai piano en MIDI.
Pour un client, c'est la démonstration qu'un outil riche et interactif peut se passer d'installation et de serveur, donc de coûts d'hébergement et de maintenance.
