Aller au contenu
Couverture du projet SONIQRA
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.

Écran de connexion de SONIQRA avec identification et l'avis que la démonstration tourne sans compte
ConnexionSe connecter ou créer un compte, et sous le formulaire le rappel qui définit la posture du produit : l'Audio Lab et la pratique de démonstration fonctionnent sans compte.
Onglet de création de compte de SONIQRA avec nom, e-mail et mot de passe
Créer un compteNom, e-mail et mot de passe, et rien d'autre. L'instrument et le niveau sont laissés à l'onboarding, une fois la personne entrée : tout demander d'un coup est le moyen le plus rapide de perdre quelqu'un dès le premier écran.
Page de compatibilité de SONIQRA mesurant les capacités du navigateur et ce qui change quand l'une manque
CompatibilitéLa page mesure le navigateur de celui qui arrive, pas un tableau générique : Web Audio, AudioWorklet, micro, Web MIDI, worker, enregistrement. Là où une capacité manque, elle dit ce qui fonctionne encore et ce qui change.
Audio Lab de SONIQRA avec la guitare sélectionnée et la déclaration de niveau B
Audio LabLe diagnostic qui tourne avant la pratique. Une fois l'instrument choisi, l'écran déclare le niveau d'évaluation de cette combinaison : guitare au micro est niveau B, une note à la fois, avec note, écart en cents, attaque et durée.
Audio Lab de SONIQRA à l'écoute, avec attaques détectées, latences mesurées et l'algorithme YIN utilisé
Mesure en directLe même Audio Lab avec l'écoute activée : attaques détectées, latence d'analyse et de sortie en millisecondes, taux d'échantillonnage, trames analysées et l'algorithme utilisé. C'est une mesure du micro, pas une estimation.
Audio Lab de SONIQRA avec le piano sélectionné et la déclaration de niveau C
Niveau CLe même Audio Lab avec le piano à la place de la guitare, et la promesse change avec : au micro, le piano devient niveau C, une estimation harmonique avec indice de confiance. En MIDI, le même piano serait niveau A, exact.
Audio Lab de SONIQRA avec la batterie acoustique sélectionnée et la déclaration de niveau D
Niveau DUne batterie acoustique au micro est niveau D : attaques, rythme, subdivision et régularité. L'écran prévient qu'identifier quel fût a été frappé dépend de la captation et se trouve derrière un feature flag, et qu'une batterie sur mobile n'équivaut pas au MIDI.
MIDI Lab de SONIQRA avec le message d'accès refusé actionnable et la liste des appareils
MIDI LabClavier et batterie électronique, avec l'assistant de mappage du kit. Quand le navigateur refuse l'accès, l'écran ne disparaît ni ne se fige : il dit où cliquer pour l'autoriser et quoi faire ensuite.
Écran de pratique de SONIQRA avec la partition de la gamme de sol majeur, le tempo et le sélecteur de vitesse
Pratique avec partitionL'exercice ouvert : partition rendue en SVG avec portée, chiffrages et mesures, le tempo écrit, un sélecteur de vitesse de 50 % à 100 %, et les cartes de série et de précision, qui ne s'allument qu'après la première note évaluée.
Piste de notes de SONIQRA avec les six cordes de la guitare et les cases à jouer
Piste de notesLa même exécution dans l'autre lecture : les notes descendent par corde et par case, comme un guitariste voit le manche. C'est l'alternative pour celui qui ne lit pas encore la partition.
Pratique de SONIQRA en cours, avec le curseur sur la portée et l'avis de note non jouée
Pratique en coursL'exercice en marche : le curseur avance sur la portée, le panneau dit ce qu'il entend, et la précision compte combien de notes sont tombées dans le tempo. Là où rien n'a été détecté, l'écran écrit « non jouée » au lieu d'inventer une réussite.
Panneau de détails techniques de la pratique SONIQRA avec latence, fenêtre d'analyse, tolérance et niveau
Détails techniquesLe panneau qui s'ouvre en bas de l'écran de pratique : compensation de latence appliquée, fenêtre d'analyse en échantillons, tolérance de justesse en cents et le niveau d'évaluation utilisé. Qui veut vérifier la règle le peut.

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.

Voir d'autres projets

Me contacter