
- Projet
- SONIQRA
- Secteur
- Produit propre · Éducation musicale
- Prestations
- Produit SaaS, Moteur audio, Moteur d'évaluation, Partition interactive
- Année
- 2026
Une plateforme d'enseignement musical qui écoute l'élève jouer et dit au professeur où il progresse et où il bloque.
Le professeur de musique envoie un vocal sur WhatsApp demandant à l'élève de travailler un morceau pour dimanche. Entre ce message et la répétition, il ne sait rien : ni si l'élève a travaillé, ni où il a bloqué, et il le découvre le jour même, quand il est trop tard pour corriger.
De l'autre côté, l'élève travaille seul en répétant la même erreur, parce que rien ne lui dit que le fa dièse sort naturel. SONIQRA existe pour combler ce vide.
Le défi
- Écouter vraiment l'instrument : transformer le signal du micro en note, justesse en cents, attaque et durée, avec assez de précision pour devenir une évaluation.
- Ne pas mentir sur sa propre précision. Un clavier MIDI et une guitare captée par un téléphone n'autorisent pas la même promesse.
- Ne jamais pénaliser l'élève pour une limite du matériel : si la détection n'était pas sûre, cela ne peut pas devenir son erreur.
- Lire une vraie partition, et pas un dessin : MusicXML et MIDI avec voix, tablature, anacrouse, instruments transpositeurs, paroles et chiffrages.
- Mesurer le retard du matériel avant de juger le rythme, parce qu'un casque Bluetooth décale plus que l'écart que l'on cherche à mesurer.
La solution
La chaîne est complète : partition interactive, captation réelle de l'instrument, évaluation, diagnostic pédagogique, recommandation de travail et suivi du professeur. Le moteur repère le motif, pas l'accident isolé : quand l'élève rate le même fa dièse plusieurs fois, le système désigne la note, pas la séance.
L'honnêteté est une règle d'architecture, pas un texte marketing. La plateforme déclare sur quatre niveaux ce qu'elle sait évaluer pour chaque combinaison d'instrument et d'entrée, et le montre à l'élève avant qu'il commence. Un événement peu fiable sort entièrement du calcul, ni réussite ni erreur. Et une métrique impossible à mesurer sort indéfinie, jamais zéro : une batterie n'a pas de justesse, donc la carte de justesse n'existe tout simplement pas sur cet écran.












Résultat
Le noyau technique est complet et couvert par 322 tests automatisés, dont 104 rien que dans la couche de théorie musicale. TypeScript en mode strict, avec exactOptionalPropertyTypes.
Stack
- Next.js 16
- React 19
- TypeScript
- Supabase
- PostgreSQL
- Zod
- Web Audio API
- Web MIDI
- Vitest
- Tailwind v4
La promesse change avec la technologie
Il y a quatre niveaux déclarés. Le MIDI est niveau A : note, attaque, durée, intensité et pédale, exacts. Une note à la fois en audio est niveau B : note, justesse en cents, attaque et stabilité. Un accord au micro est niveau C : classe d'accord et changement, avec un indice de confiance. La percussion acoustique est niveau D : attaques, rythme et subdivision. Un piano en MIDI est A ; le même piano au micro est C, et l'interface le dit avant que l'élève commence.
Le bug trouvé par un test
Un détecteur de hauteur recevant 880 Hz annonçait 176 Hz avec une confiance maximale : il s'était accroché au sous-harmonique. Cette erreur ne s'entend pas, elle se mesure. D'où la garde anti-sous-harmonique dans le moteur et le banc d'essai qui tourne contre du signal synthétisé à chaque modification.
Calibrer avant de juger le rythme
La latence est mesurée par médiane et écart absolu médian, pas par un point unique, et le moteur refuse de compenser quand la mesure n'est pas fiable. Passer d'un casque filaire au Bluetooth invalide le profil, parce que le retard change et la mesure du rythme partirait avec.




