Saltar para o conteúdo
Capa do projeto SONIQRA
Projeto
SONIQRA
Setor
Produto próprio · Educação musical
Serviços
Produto SaaS, Motor de áudio, Motor de avaliação, Partitura interactiva
Ano
2026

Plataforma de ensino musical que ouve o aluno tocar e diz ao professor onde ele evoluiu e onde ficou preso.

O professor de música manda um áudio no WhatsApp a pedir que o aluno pratique uma música para domingo. Entre esse recado e o ensaio, não sabe nada: não sabe se o aluno praticou, não sabe onde ficou preso, e descobre tudo no próprio dia, quando já não dá para corrigir.

Do outro lado, o aluno pratica sozinho a repetir o mesmo erro, porque nada lhe diz que o fá sustenido está a sair natural. O SONIQRA existe para fechar essa lacuna.

O desafio

  • Ouvir o instrumento a sério: 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 uma guitarra captada pelo telemóvel não permitem a mesma promessa.
  • Nunca penalizar o aluno por limitação do equipamento: se a detecção não teve a certeza, aquilo não pode tornar-se erro dele.
  • Ler partitura a sério, e não um desenho: MusicXML e MIDI com vozes, tablatura, anacruse, instrumentos transpositores, letra e cifras.
  • Medir o atraso do equipamento antes de julgar ritmo, porque uns auscultadores Bluetooth atrasam mais do que a diferença que se quer medir.

A solução

A cadeia é completa: partitura interactiva, 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 falha o mesmo fá sustenido várias vezes, o sistema aponta a nota, não a sessão.

A honestidade é uma regra de arquitectura, 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. Um evento com confiança baixa sai da conta inteira, nem como acerto nem como erro. E métrica que não se pode medir sai indefinida, nunca zero: a bateria não tem afinação, por isso o cartão de afinação simplesmente não existe nesse ecrã.

Ecrã de entrada do SONIQRA com início de sessão e o aviso de que a demonstração corre sem conta
EntradaEntrar ou criar conta, e por baixo 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.
Separador de criação de conta do SONIQRA com nome, e-mail e palavra-passe
Criar contaNome, e-mail e palavra-passe, e nada além disso. Instrumento e nível ficam para o onboarding, depois de a pessoa já ter entrado: pedir tudo de uma vez é a forma mais rápida de perder alguém no primeiro ecrã.
Página de compatibilidade do SONIQRA a medir os recursos do navegador e o que muda quando algum falta
CompatibilidadeA página mede o navegador de quem chega, não uma tabela genérica: Web Audio, AudioWorklet, microfone, Web MIDI, worker, gravação. Onde o recurso falta, diz o que ainda funciona e o que muda.
Audio Lab do SONIQRA com a guitarra seleccionada e a declaração de nível B
Audio LabO diagnóstico que corre antes da prática. Escolhido o instrumento, o ecrã declara o nível de avaliação daquela combinação: guitarra por microfone é nível B, uma nota de cada vez, com nota, desvio em cents, ataque e duração.
Audio Lab do SONIQRA a escutar, com ataques detectados, latências medidas e o algoritmo YIN em uso
A medir 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 seleccionado e a declaração de nível C
Nível CO mesmo Audio Lab com piano no lugar da guitarra, e a promessa muda com ele: por microfone, o piano passa a nível C, estimativa harmónica com confiança. Por MIDI, o mesmo piano seria nível A, exacto.
Audio Lab do SONIQRA com bateria acústica seleccionada 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. O ecrã avisa que identificar qual peça foi tocada depende da captação e está atrás de uma feature flag, e que bateria no telemóvel não equivale a MIDI.
MIDI Lab do SONIQRA com a mensagem accionável de acesso negado e a lista de dispositivos
MIDI LabTeclado e bateria electrónica, com o assistente de mapeamento de kit. Quando o navegador nega o acesso, o ecrã não desaparece nem bloqueia: diz onde clicar para autorizar e o que fazer a seguir.
Ecrã de prática do SONIQRA com a partitura da escala de sol maior, andamento e selector de velocidade
Prática com partituraO exercício aberto: partitura desenhada em SVG com pauta, cifras e compassos, o andamento escrito, selector de velocidade de 50% a 100% e os cartões de sequência e exactidão, que só acendem depois da primeira nota avaliada.
Pista de notas do SONIQRA com as seis cordas da guitarra e as casas a tocar
Pista de notasA mesma execução na outra leitura: as notas descem por corda e casa, como quem toca guitarra vê 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 a correr: o cursor anda na partitura, o painel diz o que está a ouvir e a exactidão conta quantas notas saíram a tempo. Onde nada foi detectado, o ecrã 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, 104 deles 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, exactos. Áudio de uma nota de cada vez é nível B: nota, afinação em cents, ataque e estabilidade. Acorde por microfone é nível C: classe de acorde e mudança, 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 di-lo antes de o aluno começar.

O erro que um teste encontrou

Um detector de altura a receber 880 Hz reportava 176 Hz com confiança máxima: tinha ficado preso no sub-harmónico. Esse erro não aparece a ouvir, aparece a medir. Daí a guarda de sub-harmónico no motor e o banco de ensaio que corre contra sinal sintetizado a cada alteração.

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 é fiável. Trocar auscultadores com fio por Bluetooth invalida o perfil, porque o atraso muda e a medição de ritmo iria atrás.

Veja outros projetos

Falar comigo