Pular para o conteúdo
Capa do projeto SONIQRA
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.

Tela de entrada do SONIQRA com login e o aviso de que a demonstração roda sem conta
EntradaEntrar ou criar conta, e embaixo do formulário o lembrete que define a postura do produto: o Audio Lab e a prática de demonstração funcionam sem criar conta.
Aba de criação de conta do SONIQRA com nome, e-mail e senha
Criar contaNome, e-mail e senha, e nada além disso. Instrumento e nível ficam para o onboarding, depois que a pessoa já entrou: pedir tudo de uma vez é o jeito mais rápido de perder alguém na primeira tela.
Página de compatibilidade do SONIQRA medindo os recursos do navegador e o que muda quando algum falta
CompatibilidadeA página mede o navegador de quem chegou, não uma tabela genérica: Web Audio, AudioWorklet, microfone, Web MIDI, worker, gravação. Onde o recurso falta, ela diz o que ainda funciona e o que muda.
Audio Lab do SONIQRA com o violão selecionado e a declaração de nível B
Audio LabO diagnóstico que roda antes da prática. Escolhido o instrumento, a tela declara o nível de avaliação daquela combinação: violão por microfone é nível B, uma nota por vez, com nota, desvio em cents, ataque e duração.
Audio Lab do SONIQRA escutando, com ataques detectados, latências medidas e o algoritmo YIN em uso
Medindo ao vivoO mesmo Audio Lab com a escuta ligada: ataques detectados, latência de análise e de saída em milissegundos, taxa de amostragem, quadros analisados e o algoritmo em uso. É medição do microfone, não estimativa.
Audio Lab do SONIQRA com piano selecionado e a declaração de nível C
Nível CO mesmo Audio Lab com piano no lugar do violão, e a promessa muda junto: por microfone, o piano vira nível C, estimativa harmônica com confiança. Por MIDI, o mesmo piano seria nível A, exato.
Audio Lab do SONIQRA com bateria acústica selecionada e a declaração de nível D
Nível DBateria acústica por microfone é nível D: ataques, ritmo, subdivisão e consistência. A tela avisa que identificar qual peça foi tocada depende da captação e está atrás de uma feature flag, e que bateria no celular não equivale a MIDI.
MIDI Lab do SONIQRA com a mensagem acionável de acesso negado e a lista de dispositivos
MIDI LabTeclado e bateria eletrônica, com o assistente de mapeamento de kit. Quando o navegador nega o acesso, a tela não some nem trava: diz onde clicar para liberar e o que fazer em seguida.
Tela de prática do SONIQRA com a partitura da escala de Sol maior, andamento e seletor de velocidade
Prática com partituraO exercício aberto: partitura renderizada em SVG com pauta, cifras e compassos, o andamento escrito, seletor de velocidade de 50% a 100% e os cartões de sequência e acurácia, que só acendem depois da primeira nota avaliada.
Pista de notas do SONIQRA com as seis cordas do violão e as casas a tocar
Pista de notasA mesma execução na outra leitura: as notas descem por corda e casa, do jeito que quem toca violão enxerga o braço. É a alternativa para quem ainda não lê partitura.
Prática do SONIQRA em execução, com o cursor na partitura e o aviso de nota não tocada
Prática em execuçãoO exercício rodando: o cursor anda na partitura, o painel diz o que está ouvindo e a acurácia conta quantas notas saíram no tempo. Onde nada foi detectado, a tela escreve "não tocada" em vez de inventar um acerto.
Painel de detalhes técnicos da prática do SONIQRA com latência, janela de análise, tolerância e nível
Detalhes técnicosO painel que abre no rodapé da prática: compensação de latência aplicada, janela de análise em amostras, tolerância de afinação em cents e o nível de avaliação em uso. Quem quiser conferir a régua, consegue.

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.

Confira outros projetos

Falar comigo