
- Proyecto
- SONIQRA
- Sector
- Producto propio · Educación musical
- Servicios
- Producto SaaS, Motor de audio, Motor de evaluación, Partitura interactiva
- Año
- 2026
Plataforma de enseñanza musical que escucha al alumno tocar y le dice al profesor dónde avanzó y dónde se trabó.
El profesor de música manda un audio por WhatsApp pidiendo que el alumno practique una canción para el domingo. Entre ese recado y el ensayo no sabe nada: no sabe si practicó, no sabe dónde se trabó, y lo descubre el mismo día, cuando ya no da tiempo de corregir.
Del otro lado, el alumno practica solo repitiendo el mismo error, porque nada le dice que el fa sostenido está saliendo natural. SONIQRA existe para cerrar esa brecha.
El desafío
- Escuchar el instrumento de verdad: convertir la señal del micrófono en nota, afinación en cents, ataque y duración, con precisión suficiente para volverse evaluación.
- No mentir sobre la propia precisión. Un teclado MIDI y una guitarra captada por el móvil no permiten la misma promesa.
- Nunca castigar al alumno por una limitación del equipo: si la detección no tuvo certeza, eso no puede volverse un error suyo.
- Leer partitura de verdad, y no un dibujo: MusicXML y MIDI con voces, tablatura, anacrusa, instrumentos transpositores, letra y cifrados.
- Medir el retardo del equipo antes de juzgar el ritmo, porque un auricular Bluetooth atrasa más que la diferencia que se quiere medir.
La solución
La cadena es completa: partitura interactiva, captación real del instrumento, evaluación, diagnóstico pedagógico, recomendación de estudio y seguimiento del profesor. El motor identifica el patrón, no el accidente aislado: cuando el alumno falla el mismo fa sostenido varias veces, el sistema señala la nota, no la sesión.
La honestidad es una regla de arquitectura, no un texto de marketing. La plataforma declara en cuatro niveles lo que puede evaluar en cada combinación de instrumento y entrada, y se lo muestra al alumno antes de empezar. Un evento con confianza baja sale de la cuenta entera, ni como acierto ni como error. Y una métrica que no se puede medir sale indefinida, nunca cero: la batería no tiene afinación, así que la tarjeta de afinación simplemente no existe en esa pantalla.












Resultado
El núcleo técnico está completo y cubierto por 322 pruebas automatizadas, 104 de ellas solo en la capa de teoría musical. TypeScript en modo estricto, con exactOptionalPropertyTypes.
Stack
- Next.js 16
- React 19
- TypeScript
- Supabase
- PostgreSQL
- Zod
- Web Audio API
- Web MIDI
- Vitest
- Tailwind v4
La promesa cambia con la tecnología
Son cuatro niveles declarados. MIDI es nivel A: nota, ataque, duración, intensidad y pedal, exactos. Audio de una nota por vez es nivel B: nota, afinación en cents, ataque y estabilidad. Un acorde por micrófono es nivel C: clase de acorde y cambio, con confianza. La percusión acústica es nivel D: ataques, ritmo y subdivisión. Un piano por MIDI es A; el mismo piano por micrófono es C, y la interfaz lo dice antes de que el alumno empiece.
El error que encontró un test
Un detector de altura recibiendo 880 Hz reportaba 176 Hz con confianza máxima: se había enganchado al subarmónico. Ese error no aparece oyendo, aparece midiendo. De ahí la guarda de subarmónico en el motor y el banco de pruebas que corre contra señal sintetizada en cada cambio.
Calibrar antes de juzgar el ritmo
La latencia se mide por mediana y desviación absoluta mediana, no por un punto único, y el motor se niega a compensar cuando la medición no es confiable. Cambiar auriculares con cable por Bluetooth invalida el perfil, porque el retardo cambia y la medición de ritmo se iría con él.




