Blog

Pourquoi les applis de lecture à vue ont-elles besoin d’un clavier MIDI ?

Un clavier MIDI dit à une appli exactement quelle touche tu as enfoncée et quand. Un micro doit le déduire du son. Voici ce que coûte cette différence, chiffres de la recherche en transcription à l’appui, pourquoi le MIDI reste l’entrée que nous recommandons, et ce que notre propre mode micro sait faire ou non.

Bret Cameron
Founder of SightReader · Mis à jour le 17 September 2026 · 20 min de lecture
Deux panneaux qui comparent l’entrée MIDI, à moins de 20 ms, et la transcription par micro, à environ 174 ms

Un clavier MIDI dit à l’appli exactement quelle touche tu as enfoncée, à quel moment et avec quelle force. Un micro doit déduire tout cela du son dans la pièce, et cette déduction est bien plus difficile qu’il n’y paraît. Les deux approches existent vraiment et toutes deux équipent des produits que les gens apprécient. La différence, c’est que l’une est une mesure et l’autre une estimation, et pour un retour qui arrive pendant que tu joues encore, cette différence décide de ce que le logiciel peut honnêtement te dire.

Je développe SightReader, j’ai donc un intérêt évident dans cette affaire. Ce qui suit est le raisonnement derrière une décision de conception plutôt qu’un plaidoyer pour cette décision, et là où le compromis joue contre nous, je l’ai dit.

Une mise à jour depuis la première publication. SightReader a maintenant un mode micro, donc avoir un piano acoustique sans câble n’est plus une raison de passer son chemin. Cela n’annule rien des calculs ci-dessous. Un clavier MIDI reste l’entrée que je recommande, et les limites de ce que l’écoute peut honnêtement te dire sont ce qui a façonné ce mode. Ce qu’il fait, et ce qu’il refuse délibérément de faire, est expliqué vers la fin.

Ce que transmet le MIDI

Le MIDI n’est pas de l’audio. Il ne transporte aucun son. Quand tu appuies sur le do central d’un clavier MIDI, l’instrument envoie trois octets sur le câble :

0x90 0x3C 0x54

Le premier octet dit « note activée, canal 1 ». Le deuxième est le numéro de la note : 60, le do central. Le troisième est la vélocité, la force avec laquelle tu as frappé la touche, sur une échelle de 1 à 127. Quand tu relâches, un message de note désactivée correspondant arrive. Le navigateur horodate chaque message à son arrivée, et c’est toute la chaîne. Rien n’y est déduit. Il n’y a pas de modèle, pas de seuil, pas de score de confiance. Le clavier ne décrit pas un son qu’il a produit. Il signale un contact qui se ferme.

C’est pourquoi il n’existe pas de chiffre de précision pour la détection des notes en MIDI. La question ne se pose pas. Si l’appli dit que tu as joué un fa dièse alors que tu voulais jouer un fa, c’est que tu as joué un fa dièse.

Ce qu’un micro doit faire à la place

Un micro reçoit un seul nombre plusieurs milliers de fois par seconde : la pression de l’air. Tout le reste doit être reconstruit.

Cette tâche a un nom, la transcription musicale automatique polyphonique, et c’est l’un des problèmes vraiment difficiles du traitement audio. Une note de piano n’est pas une fréquence unique. Frappe un la à 440 Hz et tu obtiens aussi de l’énergie vers 880, 1320, 1760 et au-delà, qui décroît à des vitesses différentes, modelée par l’instrument et par la pièce. C’est la série harmonique, et c’est ce qui fait qu’un piano sonne comme un piano.

Maintenant, joue un accord. Les partiels des notes graves tombent sur les fondamentales des notes aiguës, ou tout près. Un la et le mi au-dessus partagent une grande partie de leur contenu spectral. L’algorithme doit décider si l’énergie à une fréquence donnée est une note que quelqu’un a jouée ou une harmonique d’une note que quelqu’un a jouée, et il doit le faire pour chaque note de l’accord, en continu, pendant que les notes précédentes résonnent encore et que la pédale forte les maintient peut-être toutes.

C’est impressionnant que cela fonctionne, et cela fonctionne.

Ce qu’obtient la recherche

L’état de l’art actuel pour faire cela en temps réel sur un téléphone est Mobile-AMT, présenté à l’EUSIPCO 2024 par Yuta Kusaka et Akira Maezawa, chez Yamaha. C’est du bon travail et les chiffres sont solides :

  • 96,30 % de F1 par note sur des enregistrements MAESTRO propres.
  • 93,15 % de F1 par note sur des enregistrements réels, c’est le chiffre qui compte, et il est bien meilleur qu’on ne pourrait l’espérer.
  • Il tourne en temps réel sur du matériel mobile, en réduisant le coût de calcul d’environ 83 % par rapport à des méthodes comparables.

Deux autres chiffres issus des mêmes travaux comptent davantage pour ce que je fais :

  • Le F1 avec fin de note tombe à 76,80 %, même sur un audio de studio propre. Les fins de note (offsets) sont la fin des notes, autrement dit leur durée. Le chiffre le plus faible de la littérature est donc celui dont dépend l’évaluation du rythme.
  • Entraîné sans augmentation poussée pour l’acoustique des pièces, le bruit de fond et les caractéristiques des appareils, le F1 en conditions réelles s’effondre à 78,84 %. La robustesse sur le terrain n’est pas gratuite. Il faut la construire, et un produit qui n’a pas fait ce travail sera bien moins bon que ce que suggère le chiffre affiché.

Un article d’évaluation de 2024, Towards Musically Informed Evaluation of Piano Transcription Models, soulève un autre point à prendre au sérieux : des scores F1 élevés peuvent masquer des échecs musicaux. La précision des attaques se dégrade de façon mesurable quand le bruit augmente, et il y a une baisse statistiquement significative entre les jeux de données de référence propres et le même matériel réenregistré acoustiquement. Le score peut sembler bon alors que le résultat musical ne l’est pas.

Le calcul de la latence

Mobile-AMT annonce 174 ms de latence. En MIDI, l’aller-retour entre l’appui sur une touche et une tête de note colorée à l’écran prend moins de 20 ms dans un navigateur. L’API Web MIDI livre le message avec un horodatage matériel, et le reste n’est que de l’affichage.

174 contre 20, c’est environ neuf fois plus lent, mais le rapport compte moins que ce calcul :

À 60 battements par minute, un temps dure 1000 ms. Donc 174 ms, c’est environ un tiers de temps. À 120 BPM (un morceau de Grade 3 enlevé), c’est deux tiers de temps.

Pense à ce que cela signifie pour un retour pendant que tu joues. Tu frappes une note. Le temps que l’appli décide de laquelle il s’agissait, tu es déjà presque sur la suivante. Impossible de colorer une tête de note sur le moment, impossible de dire à quelqu’un qu’il traîne pendant qu’il traîne, et encore moins de noter la précision des attaques avec une tolérance plus fine que le délai nécessaire pour la mesurer. Notre tolérance rythmique est de 120 ms au plus serré. Ce budget est épuisé avant même que la transcription soit terminée.

C’est pourquoi je reviens sans cesse à la latence plutôt qu’à la précision comme argument décisif. La précision, on peut l’améliorer avec un meilleur modèle. La latence fait un vrai travail (c’est le temps dont l’algorithme a besoin pour entendre assez de la note et savoir ce qu’elle était), et la réduire sous la durée de l’attaque d’un piano n’est pas une question d’effort d’ingénierie.

Le calcul des erreurs

Passons à la précision, car la façon dont ce chiffre se comporte sur tout un morceau est pire que ce qu’il laisse croire.

Prenons 95 % de précision par note, bien dans ce que la recherche annonce pour l’audio réel. Un morceau de Grade 5 compte environ 500 notes. Cinq pour cent de 500, c’est environ 25 verdicts faux par essai.

Vingt-cinq, ce n’est pas une catastrophe en soi. Le problème, c’est de savoir lesquels. Tu ne le sais pas. Aucune marque à l’écran ne dit « celle-ci, c’est la faute de l’algorithme », parce que si l’algorithme savait qu’il se trompait, il ne se serait pas trompé. Face à une tête de note rouge, tu dois donc décider si tu as mal lu la partition ou si le logiciel a mal entendu la pièce, et il n’y a aucun moyen de le savoir de l’intérieur.

Pour un produit dont toute la valeur repose sur la confiance qu’on peut accorder au verdict, un taux d’erreur introuvable est corrosif, d’une façon qu’un verdict plus lent ne l’est pas. Il t’apprend à ne plus tenir compte du retour, et un retour dont on ne tient pas compte ne vaut rien. Le MIDI n’a pas d’équivalent à cet échec, parce qu’il ne porte aucun jugement.

Tu n’as pas non plus à me croire sur parole quant aux conséquences pratiques. Les échecs de détection des notes sont la plainte la plus fréquente dans les avis sur les deux produits à micro les plus promus. Le centre d’aide de Simply Piano est lui-même direct sur le remède : connecter un clavier MIDI « offrira une reconnaissance parfaite des notes et résoudra tout problème de reconnaissance des notes, en particulier sur de la musique plus avancée ». Le reste de cette page parle du bruit ambiant, des coques de téléphone qui couvrent le micro et du fait de jouer plus fort. La recherche explique pourquoi ces consignes existent.

Pourquoi les fins de note comptent le plus pour nous

La lecture à vue a deux moitiés : les bonnes notes et le bon moment. Le mode Notes et rythme de SightReader note la seconde moitié séparément. Avec le métronome en marche, chaque attaque est mesurée par rapport à la pulsation, et les résultats t’indiquent le pourcentage de notes à temps, en avance et en retard, plus ta tendance moyenne en millisecondes.

Toute cette fonctionnalité repose sur les horodatages MIDI, et le chiffre des fins de note ci-dessus en est la raison. Évaluer le rythme, c’est mesurer quand les choses commencent et s’arrêtent. C’est la seule tâche où le chiffre le plus faible de la littérature est justement celui dont tu dépends, et où un délai de 174 ms n’est pas une erreur d’arrondi mais un tiers de temps.

Si je ne pouvais pas mesurer le rythme avec une tolérance en laquelle j’ai confiance, je ne publierais pas de score de rythme. En publier un quand même, sur des données déduites, produirait un chiffre qui a l’air faire autorité sans l’être, et c’est le pire résultat possible.

Ce n’est plus une hypothèse. Le mode Notes et rythme est la seule partie de SightReader que le micro ne peut pas atteindre : active le métronome pendant que le micro écoute et l’appli te le signale et te demande de connecter un clavier. Le travail des notes au micro fonctionne normalement. Je préfère retenir le score de rythme plutôt qu’en afficher un auquel je ne crois pas.

Pourquoi nous n’importons pas non plus de fichiers MIDI

C’est la partie qui surprend, parce qu’elle ressemble à une limitation sans argument derrière. La partition que tu lis doit être un fichier MusicXML, et aucun autre format. Cela exclut les fichiers MIDI, les PDF et les enregistrements.

C’est le même raisonnement que pour le micro, appliqué dans l’autre sens.

Le MIDI transporte des données d’interprétation. Il y excelle. Ce qu’il ne transporte pas, c’est la notation. Un fichier MIDI n’attribue aucune clé, donc le logiciel doit deviner quelle main joue quoi. Il n’a aucune sémantique d’armure, donc il ne peut pas te dire si cette touche noire est un la bémol ou un sol dièse : les deux portent le même numéro de note MIDI, 68, et sont des choses complètement différentes sur une page. Il n’a pas de voix, donc les lignes qui se chevauchent dans une même main se fondent en une bouillie de notes simultanées. Il n’a ni ligatures, ni articulations, ni silences tels qu’écrits, ni orthographe d’aucune sorte.

Afficher une partition lisible à partir de MIDI brut oblige à déduire chacun de ces éléments. C’est le même type de problème que la transcription audio, en plus doux, et il produit le même type de résultat, c’est-à-dire une supposition plausible. Si tu as déjà importé un fichier MIDI dans un logiciel de notation et vu apparaître une mesure de silences à cinq points, tu l’as constaté.

Le MusicXML contient déjà la notation. Clés, tonalité, orthographe, voix, ligatures, liaisons, doigtés, tout y est. Ce que tu vois à l’écran est ce que le compositeur ou l’éditeur a réellement écrit, et quand l’appli marque une note fausse, elle la juge par rapport à la partition et non par rapport à une reconstruction de la partition.

Si ta musique est dans MuseScore, Sibelius, Finale ou Dorico, exporter en MusicXML prend une vingtaine de secondes. J’ai écrit un petit guide pour le faire dans chacun.

Le principe, une bonne fois

Nous ne revendiquons de la précision que là où nous l’avons.

Du MusicXML pour les partitions plutôt qu’une notation déduite, parce qu’une notation déduite d’un fichier MIDI est une supposition, et te juger par rapport à une supposition est indéfendable. Du MIDI depuis le clavier partout où un chiffre doit être exact, c’est-à-dire chaque milliseconde que nous affichons. Et là où nous écoutons, le mode est conçu pour que l’appli n’affirme jamais plus que ce qu’elle a entendu : elle retient le score de rythme, elle note un accord sur le son de l’accord au lieu de prétendre identifier chaque voix, et quand les indices sont ambigus, elle ne dit rien plutôt que de te compter faux.

Tout ce qui précède appuie cette phrase. Les sections suivantes montrent ce qu’elle donne en pratique.

Quand une autre appli est le meilleur choix

À la première publication de cet article, un piano acoustique sans clavier MIDI voulait dire que SightReader ne pouvait pas du tout t’aider. C’est ce manque que le mode micro a comblé, et le combler était la bonne décision : une estimation utilisable vaut mieux qu’une mesure inaccessible.

Ce n’était jamais un petit groupe. Ce sont les pianos droits des maisons familiales, les salles de travail des écoles, et tous les pianistes qui ont un instrument parfaitement bon et aucune envie d’en acheter un second avec une prise USB.

D’autres outils peuvent encore mieux te convenir, et autant dire pourquoi. Sight Reading Factory est bien conçu, bien considéré, utilisé par beaucoup de professeurs, et couvre plus de 60 instruments, voix comprise. Nous faisons du piano. Simply Piano, Skoove et flowkey acceptent tous l’entrée micro en plus du MIDI, et ce sont trois produits soignés avec des catalogues que nous ne pouvons pas égaler. Et si ce que tu veux, c’est un score de rythme sans clavier, nous n’en proposons pas, pour la raison expliquée plus haut.

Ce que fait notre propre mode micro

Choisis le micro lors de la configuration et SightReader écoute la pièce et corrige ce que tu joues : n’importe quel morceau, exercice, gamme ou exercice de notes, sur un piano droit, un piano à queue ou un piano numérique impossible à connecter. Il ne faut ni câble ni adaptateur. L’audio est analysé sur ton appareil au fur et à mesure, puis effacé. Rien n’est enregistré, rien n’est envoyé, et il n’y a aucun audio que nous pourrions conserver.

Il va aussi plus loin que le MIDI. Le Web MIDI fonctionne dans Chrome, Edge, Opera et Firefox sur ordinateur, et dans aucun navigateur sur iPhone ou iPad. Tout navigateur capable d’enregistrer du son peut faire tourner le mode micro, Safari et Firefox compris, et les deux applis le prennent en charge depuis une version récente.

S’il peut fonctionner, alors que la recherche ci-dessus dit que la transcription en temps réel coûte 174 ms et quelques fausses notes sur cent, c’est parce que nous ne faisons pas de transcription. Une transcription ouverte doit répondre à la question « qu’est-ce qui a été joué », parmi les quatre-vingt-huit possibilités, à partir du son seul. Nous avons déjà la partition, donc la question est bien plus étroite : ce qui vient de sonner est-il cohérent avec les notes que nous attendons ? Connaître l’ensemble des réponses possibles vaut énormément, et c’est autour de cela que le mode est construit.

Les limites, honnêtement, une bonne fois :

  • Les notes isolées sont corrigées comme en MIDI. Vert pour juste, rouge pour faux, le curseur avance au fil du jeu.
  • Les accords sont notés sur leur son d’ensemble, pas note par note. Le mode compare l’accord que tu as joué à l’accord attendu. Quand les indices le contredisent, la position est comptée fausse. Ce qu’il ne fera pas, c’est désigner la voix intérieure que tu as ratée, parce qu’extraire cette voix d’un mélange est précisément l’inférence dont parle cet article.
  • Le mode Notes et rythme n’est pas disponible au micro. Voir la section sur les fins de note ci-dessus. Connecte un clavier en USB ou en Bluetooth et il s’active.
  • Le retour arrive un peu après la touche. La détection a besoin d’un instant de son pour être sûre. Les horodatages de notation sont ramenés à l’attaque, donc tes résultats ne sont pas faussés, mais la couleur arrive légèrement après la note.
  • L’ambiguïté joue en ta faveur. Quand le son n’est pas assez clair pour trancher, le mode ne marque rien plutôt que de faire clignoter en rouge une note que tu as peut-être très bien jouée. Il préférera sous-estimer une erreur plutôt que d’en inventer une.
  • La pièce compte. Un endroit calme, l’appareil près du piano, et un casque si tu utilises le métronome, sinon le clic revient dans le micro. Le son du piano d’entraînement est coupé par défaut dans ce mode pour la même raison.

Je ne publie pas de chiffre de précision pour ce mode. Les chiffres dont je dispose viennent de nos propres jeux de test plutôt que des salons d’inconnus, et les citer à côté de recherches évaluées par des pairs nous flatterait en comparant des choses incomparables. Ce que l’appli te dit à la place est à l’écran : les séances corrigées à l’écoute portent une mention qui le précise, et un clavier corrige chaque note exactement.

Ce que nous proposons sans clavier ni micro

Il y a un piano à l’écran que tu peux jouer avec le clavier de ton ordinateur. Il couvre deux octaves, de do3 à si4, ce qui suffit pour les morceaux du grade Initial et du début du Grade 1, et pour voir si l’appli te plaît. Ce n’est pas assez pour du vrai répertoire, et ça n’a rien à voir avec jouer du piano.

Il y a aussi le mode honneur : joue le morceau sur l’instrument que tu as, puis dis à l’appli comment ça s’est passé. Cela garde ton historique de pratique intact. C’est déclaratif, donc exactement aussi précis que toi.

MIDI et micro, côte à côte

AppCe qui arrive à l’appliLatenceTaux d’erreur sur les notesFonctionne avec un piano acoustiqueSe dégrade dans une pièce bruyante
MicroAudio, transcrit~174 ms~4–7 % sur de l’audio réel✓✓
MIDINuméro de note, vélocité, horodatageMoins de 20 msAucun (pas d’inférence)✗✗
Les chiffres de latence et de précision pour l’entrée micro viennent de Mobile-AMT (EUSIPCO 2024), l’état de l’art actuel pour la transcription en temps réel sur du matériel mobile. Les chiffres MIDI viennent de nos propres mesures dans un navigateur, en USB.

Ces chiffres du micro valent pour la transcription ouverte, c’est-à-dire le problème d’une appli qui n’a aucune idée de ce que tu vas jouer. Le mode micro de SightReader a la partition sous les yeux, ce qui est une question différente et bien plus facile, et c’est pour cela que le mode existe. Il écoute quand même, donc les limites de la section ci-dessus s’appliquent toujours.

Questions fréquentes

Ai-je besoin d’un clavier MIDI pour une appli de lecture à vue ?

Pour le retour le plus précis, oui. Le MIDI est un protocole de données : le clavier indique quelle touche s’est enfoncée, quand et avec quelle force, sans rien deviner. Les applis qui écoutent par un micro doivent déduire tout cela du son, ce qui est plus lent et imparfait. Beaucoup de bonnes applis le font quand même, SightReader compris, et si tu as un piano acoustique, c’est l’option qui fonctionne.

Une appli peut-elle entendre mon piano acoustique ?

Oui. SightReader a un mode micro, tout comme Sight Reading Factory, Simply Piano, Skoove et flowkey. Ce que l’écoute ne peut pas faire, c’est égaler la précision temporelle ou la certitude du MIDI : la meilleure transcription de piano en temps réel publiée tourne à environ 174 ms de latence et se trompe sur quelques notes sur cent, et aucun de ces deux chiffres ne t’est visible pendant que tu joues. C’est pourquoi, dans SightReader, les notes isolées sont corrigées comme en MIDI, les accords sont notés sur leur son d’ensemble plutôt que note par note, et le mode Notes et rythme demande un clavier connecté.

Pourquoi les applis ne peuvent-elles pas détecter les accords à partir du son ?

Elles le peuvent. La transcription polyphonique du piano fonctionne, et bien : des recherches récentes font état de scores F1 par note autour de 95 % sur des enregistrements réels. Le problème, c’est qu’elle est approximative et lente d’une façon qui compte pour un retour en direct. Une seule note de piano produit toute une série harmonique, et les partiels d’une note tombent sur les fondamentales d’autres notes, donc séparer un accord demande de l’inférence. L’inférence prend du temps et produit parfois de mauvaises réponses.

Quelle est la différence entre MIDI et MusicXML ?

Le MIDI décrit une interprétation : quelle note, quand elle a commencé, quand elle s’est arrêtée, avec quelle force. Le MusicXML décrit la notation : clés, armures, orthographe enharmonique, voix, ligatures, articulations. On peut générer un fichier MIDI approximatif à partir d’une partition, mais faire le chemin inverse oblige à deviner tout ce que le fichier MIDI ne contient pas. C’est pourquoi SightReader lit le MusicXML pour les partitions, et rien d’autre.

SightReader fonctionne-t-il sans clavier MIDI ?

Oui. Le mode micro écoute le piano que tu as, qu’il soit droit, à queue ou numérique sans possibilité de connexion, et corrige ce que tu joues. Les notes isolées sont corrigées comme en MIDI, les accords sont notés sur leur son d’ensemble plutôt que note par note, et le mode Notes et rythme demande un clavier connecté. Il y a aussi un piano à l’écran qui couvre deux octaves (do3 à si4), et le mode honneur, où tu joues sur n’importe quel instrument et indiques toi-même ton résultat. Un clavier MIDI reste la façon la plus précise de travailler.

Sources

  • Kusaka, Y. et Maezawa, A., Mobile-AMT: Real-Time Polyphonic Piano Transcription for In-the-Wild Recordings, EUSIPCO 2024 : PDF
  • Towards Musically Informed Evaluation of Piano Transcription Models, 2024 : arXiv:2406.08454
  • Kong, Q. et al., High-resolution Piano Transcription with Pedals by Regressing Onset and Offset Times, 2020 : arXiv:2010.01815
  • Centre d’aide de Simply Piano, Ways to Improve Note Recognition in Simply Piano : help.hellosimply.com

Chiffres vérifiés le 1er août 2026. Mis à jour le 17 septembre 2026 pour couvrir le mode micro de SightReader.

Bret Cameron
Bret founded SightReader. He's a software engineer learning piano on the side, and he started the project after failing to find a sight-reading tool that did what he needed.

Continuer la lecture