
- Projeto
- SONIQRA
- Nicho
- Produto próprio · Educação musical
- Serviços
- Produto SaaS, Motor de áudio, Motor de avaliação, Partitura interativa
- Ano
- 2026
Plataforma de ensino musical que ouve o aluno tocar e diz ao professor onde ele evoluiu e onde travou.
O professor de música manda um áudio no WhatsApp pedindo que o aluno pratique uma música para domingo. Entre esse recado e o ensaio, ele não sabe nada: não sabe se o aluno praticou, não sabe onde ele travou, e descobre tudo no dia, quando não dá mais para corrigir.
Do outro lado, o aluno pratica sozinho repetindo o mesmo erro, porque nada lhe diz que o Fá sustenido está saindo natural. O SONIQRA existe para fechar essa lacuna.
O desafio
- Ouvir o instrumento de verdade: transformar o sinal do microfone em nota, afinação em cents, ataque e duração, com precisão suficiente para virar avaliação.
- Não mentir sobre a própria precisão. Um teclado MIDI e um violão captado pelo celular não permitem a mesma promessa.
- Nunca punir o aluno por limitação do equipamento: se a detecção não teve certeza, aquilo não pode virar erro dele.
- Ler partitura de verdade, e não desenho: MusicXML e MIDI com vozes, tablatura, anacruse, transpositores, letra e cifras.
- Medir o atraso do equipamento antes de julgar ritmo, porque um fone Bluetooth atrasa mais do que a diferença que se quer medir.
A solução
A cadeia é completa: partitura interativa, captação real do instrumento, avaliação, diagnóstico pedagógico, recomendação de estudo e acompanhamento do professor. O motor identifica o padrão, não o acidente isolado: quando o aluno erra o mesmo Fá sustenido várias vezes, o sistema aponta a nota, não a sessão.
A honestidade é uma regra de arquitetura, não um texto de marketing. A plataforma declara em quatro níveis o que consegue avaliar em cada combinação de instrumento e entrada, e mostra isso ao aluno antes de ele começar. Evento com confiança baixa sai da conta inteira, nem como acerto nem como erro. E métrica que não pode ser medida sai indefinida, nunca zero: bateria não tem afinação, então o cartão de afinação simplesmente não existe naquela tela.












Resultado
O núcleo técnico está completo e coberto por 322 testes automatizados, sendo 104 só na camada de teoria musical. TypeScript em modo estrito, com exactOptionalPropertyTypes.
Stack
- Next.js 16
- React 19
- TypeScript
- Supabase
- PostgreSQL
- Zod
- Web Audio API
- Web MIDI
- Vitest
- Tailwind v4
A promessa muda com a tecnologia
São quatro níveis declarados. MIDI é nível A: nota, ataque, duração, intensidade e pedal, exatos. Áudio de uma nota por vez é nível B: nota, afinação em cents, ataque e estabilidade. Acorde por microfone é nível C: classe de acorde e troca, com confiança. Percussão acústica é nível D: ataques, ritmo e subdivisão. Um piano por MIDI é A; o mesmo piano por microfone é C, e a interface diz isso antes de o aluno começar.
O bug que um teste encontrou
Um detector de altura recebendo 880 Hz reportava 176 Hz com confiança máxima: tinha travado no subharmônico. O erro não aparece ouvindo, aparece medindo. Daí a guarda de subharmônico no motor e o arnês de benchmark que roda contra sinal sintetizado a cada mudança.
Calibrar antes de julgar ritmo
A latência é medida por mediana e desvio absoluto mediano, não por um ponto único, e o motor recusa compensar quando a medição não é confiável. Trocar fone com cabo por Bluetooth invalida o perfil, porque o atraso muda e a medição de ritmo iria junto.




