Ir al contenido
Portada del proyecto SONIQRA
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.

Pantalla de entrada de SONIQRA con inicio de sesión y el aviso de que la demostración funciona sin cuenta
EntradaEntrar o crear cuenta, y debajo del formulario el recordatorio que define la postura del producto: el Audio Lab y la práctica de demostración funcionan sin cuenta.
Pestaña de creación de cuenta de SONIQRA con nombre, correo y contraseña
Crear cuentaNombre, correo y contraseña, y nada más. Instrumento y nivel quedan para el onboarding, cuando la persona ya entró: pedir todo de una vez es la forma más rápida de perder a alguien en la primera pantalla.
Página de compatibilidad de SONIQRA midiendo los recursos del navegador y qué cambia cuando falta alguno
CompatibilidadLa página mide el navegador de quien llega, no una tabla genérica: Web Audio, AudioWorklet, micrófono, Web MIDI, worker, grabación. Donde falta un recurso, dice qué sigue funcionando y qué cambia.
Audio Lab de SONIQRA con la guitarra seleccionada y la declaración de nivel B
Audio LabEl diagnóstico que corre antes de la práctica. Elegido el instrumento, la pantalla declara el nivel de evaluación de esa combinación: guitarra por micrófono es nivel B, una nota por vez, con nota, desvío en cents, ataque y duración.
Audio Lab de SONIQRA escuchando, con ataques detectados, latencias medidas y el algoritmo YIN en uso
Midiendo en vivoEl mismo Audio Lab con la escucha encendida: ataques detectados, latencia de análisis y de salida en milisegundos, tasa de muestreo, cuadros analizados y el algoritmo en uso. Es medición del micrófono, no estimación.
Audio Lab de SONIQRA con piano seleccionado y la declaración de nivel C
Nivel CEl mismo Audio Lab con piano en vez de guitarra, y la promesa cambia con él: por micrófono, el piano pasa a nivel C, estimación armónica con confianza. Por MIDI, el mismo piano sería nivel A, exacto.
Audio Lab de SONIQRA con batería acústica seleccionada y la declaración de nivel D
Nivel DBatería acústica por micrófono es nivel D: ataques, ritmo, subdivisión y consistencia. La pantalla avisa que identificar qué pieza se tocó depende de la captación y está detrás de una feature flag, y que batería en el móvil no equivale a MIDI.
MIDI Lab de SONIQRA con el mensaje accionable de acceso denegado y la lista de dispositivos
MIDI LabTeclado y batería electrónica, con el asistente de mapeo de kit. Cuando el navegador niega el acceso, la pantalla no desaparece ni se traba: dice dónde hacer clic para permitirlo y qué hacer después.
Pantalla de práctica de SONIQRA con la partitura de la escala de sol mayor, tempo y selector de velocidad
Práctica con partituraEl ejercicio abierto: partitura renderizada en SVG con pentagrama, cifrados y compases, el tempo escrito, un selector de velocidad de 50% a 100% y las tarjetas de racha y precisión, que solo se encienden tras la primera nota evaluada.
Pista de notas de SONIQRA con las seis cuerdas de la guitarra y los trastes a tocar
Pista de notasLa misma ejecución en la otra lectura: las notas bajan por cuerda y traste, como un guitarrista ve el mástil. Es la alternativa para quien todavía no lee partitura.
Práctica de SONIQRA en ejecución, con el cursor en la partitura y el aviso de nota no tocada
Práctica en ejecuciónEl ejercicio corriendo: el cursor avanza en la partitura, el panel dice qué está oyendo y la precisión cuenta cuántas notas salieron a tiempo. Donde no se detectó nada, la pantalla escribe "no tocada" en vez de inventar un acierto.
Panel de detalles técnicos de la práctica de SONIQRA con latencia, ventana de análisis, tolerancia y nivel
Detalles técnicosEl panel que abre al pie de la práctica: compensación de latencia aplicada, ventana de análisis en muestras, tolerancia de afinación en cents y el nivel de evaluación en uso. Quien quiera comprobar la regla, puede.

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.

Mira otros proyectos

Hablar conmigo