Detector de Tom

Detecte o tom musical, BPM e notação Camelot de qualquer áudio. Afinador YIN em tempo real e piano visual. Ideal para DJs, produtores e músicos.

Upload
Arraste e solte um arquivo de áudio aqui
ou clique para procurar
Escolha um arquivo de áudio para detectar tom e pitch (qualquer formato)

Sobre o Detector de Tom e Pitch

Este Detector de Tom e Pitch analisa um arquivo de áudio e relata o tom musical mais provável (ex. Dó maior, Lá menor, Fá# menor), a nota tônica, o modo (maior ou menor), o tempo em BPM, a notação Camelot para mixagem DJ e uma lista de tons harmonicamente compatíveis. Um modo em tempo real separado escuta seu microfone e mostra a nota atual e seu desvio em cents em relação ao tom temperado de 12 tons mais próximo, útil como afinador rápido no navegador. Tudo roda localmente no seu navegador usando Web Audio API e a biblioteca de extração de características Meyda — sem upload, sem servidor, sem log.

Detecção de tom é uma tarefa de Music Information Retrieval (MIR) com longa história acadêmica. O algoritmo aqui usa um cromagrama — um vetor de 12 elementos resumindo quanta energia há em cada classe de pitch (Dó, Dó#, Ré, ..., Si) na faixa inteira — e compara com os 24 perfis de tom Krumhansl-Schmuckler (12 maiores + 12 menores) usando similaridade cosseno. Os perfis Krumhansl-Schmuckler foram derivados nos anos 80 de experimentos perceptuais humanos e permanecem uma base sólida; sistemas MIR modernos (Mauch & Dixon 2010, Korzeniowski & Widmer 2017) adicionam redes convolucionais por cima, mas para o tipo de material claramente tonal que a maioria dos usuários analisa aqui, a abordagem clássica é rápida, transparente e precisa.

Além do tom em si, a ferramenta relata a posição Camelot (1A, 1B, 2A, ... 12A, 12B), notação popularizada pelo software Mixed In Key e usada por DJs profissionais para encontrar faixas harmonicamente compatíveis: músicas com o mesmo número mixam facilmente, e ±1 na roda também é musicalmente natural. Tons compatíveis (relativa maior/menor, dominante, subdominante) e tons alternativos (próximos candidatos mais prováveis pela pontuação) são mostrados para você verificar o resultado. BPM é detectado por método baseado em autocorrelação de onsets.

O afinador em tempo real usa o algoritmo de detecção de pitch YIN (de Cheveigné & Kawahara, 2002), padrão de fato para rastreamento monofônico de pitch em afinadores e plug-ins de correção de pitch. YIN é robusto a mistura harmônica e roda em tempo real a 44,1 kHz em hardware comum. Exibimos a classe de pitch detectada, o desvio do tom temperado mais próximo em cents e um medidor visual centrado em zero. Músicos podem usá-lo para afinar instrumentos rapidamente; cantores para checar precisão de afinação em notas longas.

Aplicações úteis: DJs preparando mixagens harmônicas (correspondências Camelot), produtores buscando músicas de packs de samples que encaixem em projeto, compositores identificando o tom de uma melodia capturada de ouvido, estudantes de música transcrevendo ou analisando repertório, regentes de coro e líderes de banda checando se cantam ou tocam no tom correto, e músicos de música popular brasileira e latina — bossa nova, MPB, samba, sertanejo, forró, pagode — onde confirmar o centro tonal rápido economiza tempo de ensaio. Privacidade é por design: o arquivo é decodificado localmente, a análise roda em JavaScript e nada é enviado.

Como funciona a detecção

Passo 1, decodificação. A Web Audio API decodifica seu arquivo (MP3, WAV, FLAC, OGG, M4A, OPUS, containers de vídeo — qualquer coisa que o navegador suporte) para um buffer PCM float de 32 bits na taxa de amostragem nativa. Somamos estéreo para mono na análise, porque tom é propriedade global que não se beneficia de processamento por canal.

Passo 2, o cromagrama. Computamos uma STFT (tipicamente fftSize 4096, hop 1024 a 44,1 kHz, dando janelas de ~93 ms com ~75 % de sobreposição). Cada espectro de magnitude é mapeado para 12 classes de pitch somando energia através de todas as oitavas de cada nota (picos espectrais em Lá2 = 110 Hz, Lá3 = 220 Hz, Lá4 = 440 Hz, Lá5 = 880 Hz contribuem para o bin 'Lá'). Pesamos por importância perceptual — pitches do registro médio (onde a maioria das melodias se situa, ~200–2000 Hz) recebem mais peso que parciais muito baixos ou muito altos. Os cromagramas de cada frame são promediados sobre a faixa inteira, dando um único vetor de 12 elementos que resume o perfil tonal da música.

Passo 3, casamento de tom usando o algoritmo Krumhansl-Schmuckler (Krumhansl & Schmuckler, 1990). Cada um dos 24 tons candidatos (12 maiores + 12 menores) tem um perfil armazenado de 12 elementos representando com que frequência cada grau da escala aparece estatisticamente em música tonal naquele tom. O perfil maior tem picos na tônica, dominante (5ª) e mediante (3ª); o menor tem picos na tônica, dominante e terça menor. Computamos a correlação de Pearson entre o cromagrama da música e cada perfil candidato. O tom com maior correlação vence. Confiança é a pontuação máxima de correlação em porcentagem; valores acima de ~80 % indicam música claramente tonal, 60–80 % confiança moderada, abaixo de 60 % material atonal ou modulante onde o resultado não é confiável.

Passo 4, detecção de BPM. Computamos um envelope de onset rastreando spectral flux — a soma das diferenças positivas entre espectros de magnitude consecutivos — e rodamos autocorrelação no envelope para encontrar a periodicidade mais forte na faixa de tempo típica (60–200 BPM). O pico da autocorrelação dá o período de batida; convertemos para BPM e limitamos à mesma faixa. É a abordagem Tempogram simples (Grosche & Müller, 2009); funciona bem para músicas com pulso claro e pior para rubato, tempo livre ou material polirrítmico.

Passo 5, detecção de pitch monofônica em tempo real. Quando o usuário inicia o modo afinador, abrimos um stream de microfone a 44,1 kHz via MediaStreamSource e alimentamos buffers de 2048 amostras ao algoritmo YIN. YIN computa uma função de diferença depois diferença normalizada cumulativa, encontra o primeiro vale abaixo de um limiar (tipicamente 0,1) e interpola por parábola o período com precisão sub-amostra. Período é convertido para frequência, frequência para número de nota MIDI, e o desvio em cents é 1200 × log2(freq_detectada / freq_nota_mais_próxima). Um pequeno medidor visual mostra o desvio em tempo real.

Precisão e quando os resultados são confiáveis

A abordagem Krumhansl-Schmuckler atinge aproximadamente 75–85 % de precisão na detecção de tom em conjuntos de teste padrão MIREX de música tonal ocidental, incluindo faixas clássicas, rock, pop e jazz selecionadas por terem um único tom claro. Sistemas modernos de aprendizado profundo empurram isso acima de 90 %. Na prática, em gravações pop e rock claramente tonais, o algoritmo aqui é confiável o suficiente para que DJs e produtores usem ferramentas baseadas em cromagrama (Mixed In Key, tags de tom do Beatport) para trabalho ao vivo. Confiança abaixo de ~70 % significa tratar o resultado como hipótese, não fato.

Onde falha ou tem dificuldade: música atonal (free jazz, muito repertório clássico do século XX, ambient drone, noise), faixas com modulações fortes (música muda de tom 3–4 vezes — o algoritmo promedia e pode reportar algo intermediário), música modal sem o forte puxão dominante-tônica da tonalidade common-practice (folk, jazz modal, K-pop pentatônico, certas tradições vietnamitas e indonésias), autotune pesado ou efeitos vocais melódicos (que distorcem o cromagrama), clipes muito curtos (< 30 s — material insuficiente para promediar cromagrama), e música onde baixo e harmonia não concordam (ex. riff de baixo sintético em Dó enquanto a progressão diz Sol).

A confusão relativa-maior / relativa-menor é um modo de falha clássico: Dó maior e Lá menor compartilham as mesmas notas mas têm tônicas diferentes. Se a música passa muito tempo na tônica do tom relativo, os vetores Krumhansl-Schmuckler ficam parecidos e o detector pode escolher errado. A lista de 'tons alternativos' sempre inclui o relativo; se seu ouvido diz menor mas a ferramenta diz maior, troque para o relativo menor e ouça de novo. Similarmente, confusão dominante-tônica (Sol maior em tom que na verdade é Dó maior) aparece ocasionalmente; a lista de alternativos ajuda a detectar.

  • Melhor em música tonal ocidental (pop, rock, clássica, jazz com harmonia funcional clara); precisão estilo MIREX 75–85 %.
  • Atonal, free jazz, ambient drone e música modal pontuam visivelmente mais baixo; trate qualquer resultado nesses com ceticismo.
  • Autotune pesado, vocoder ou leads sintéticos com correção de pitch distorcem o cromagrama e podem virar o tom detectado.
  • Faixas modulantes (vários tons) são reportadas como um único tom de melhor ajuste — o promédio — que pode não ser musicalmente significativo.
  • Clipes muito curtos (abaixo de 30 segundos) carecem de promediação suficiente do cromagrama para serem confiáveis.
  • Confusão relativa-maior / relativa-menor é comum; sempre cheque a lista de tons alternativos antes de confiar no resultado.
  • Detecção de BPM funciona melhor em músicas com pulso claro e estável; rubato, tempo livre e polirritmia pontuam mal.
  • Afinador monofônico em tempo real espera uma nota por vez; acordes ou instrumentos polifônicos confundem YIN.
  • Leituras em cents dependem da referência Lá4 = 440 Hz; prática de performance histórica (ex. barroco Lá=415 Hz) precisa de tratamento separado.

Glossário

Cromagrama (perfil de classe de pitch)
Vetor de 12 elementos resumindo quanta energia há em cada classe de pitch (Dó, Dó#, Ré, Ré#, Mi, Fá, Fá#, Sol, Sol#, Lá, Lá#, Si) de um sinal de áudio, somada através das oitavas. Base da maioria dos algoritmos de detecção de acordes e tom.
Tônica
A nota em torno da qual um tom é centrado — o tom 'casa' ao qual a música tende a retornar. Dó é a tônica de Dó maior; Lá é a tônica de Lá menor.
Modo
O padrão de intervalos que define uma escala. O modo maior tem padrão T-T-S-T-T-T-S (tons e semitons); menor natural é T-S-T-T-S-T-T. Há outros cinco 'modos eclesiásticos' clássicos (Dórico, Frígio, Lídio, Mixolídio, Lócrio) e muitos modos de música mundial.
Círculo de quintas
Forma de organizar os 12 tons em torno de um círculo de modo que posições adjacentes diferem por uma quinta, fazendo com que tons harmonicamente relacionados (dominante, subdominante) sejam visualmente adjacentes. Roda Camelot é uma reetiquetação amigável para DJs.
Roda Camelot
Notação orientada a DJs popularizada pelo Mixed In Key. Cada tom é rotulado com um número (1–12) e letra (A = menor, B = maior). Faixas com mesmo número, ou ±1, são harmonicamente compatíveis. Dó maior = 8B, Lá menor = 8A; compartilham número porque compartilham as mesmas notas.
Menor harmônica / menor melódica
Variantes da escala menor natural: a menor harmônica eleva o sétimo grau para fornecer puxão dominante–tônica mais forte; a menor melódica eleva o sexto e sétimo ao subir e os reverte ao descer.
Modulação
Mudança de tom dentro de uma peça. Música que começa em Dó maior e modula para Sol maior passa tempo no perfil Dó e no perfil Sol, o que pode confundir um detector de tom com cromagrama promediado.
Perfil de tom Krumhansl-Schmuckler
Template de 12 elementos por tom, derivado dos experimentos perceptuais de Carol Krumhansl nos anos 80, que quantifica quanto cada grau da escala tipicamente aparece em música tonal maior e menor. Correlacionado por cosseno contra o cromagrama de uma música para estimar o tom mais provável.
Detecção de pitch YIN
Algoritmo monofônico de estimativa de frequência fundamental (de Cheveigné & Kawahara, 2002). Computa função de diferença normalizada em janela deslizante e encontra primeiro vale periódico. Padrão para afinadores e correção de pitch.
Cents
Unidade logarítmica de intervalo de pitch. 100 cents = um semitom; 1200 cents = uma oitava. ±5 cents é geralmente inaudível e considerado afinado; ±20 cents é nitidamente desafinado.

Perguntas Frequentes

Como a IA detecta o tom musical?

Computa um cromagrama (12 energias de classe de pitch somadas sobre a faixa inteira) e casa com os 24 perfis Krumhansl-Schmuckler (12 maiores + 12 menores) usando correlação cosseno. O perfil com melhor casamento vence. Pontuação de confiança é reportada — valores acima de ~80 % são confiáveis, abaixo de 60 % o resultado é incerto. Todo o pipeline roda no seu navegador via Web Audio API e Meyda.

Que formatos de áudio são suportados?

Qualquer coisa que o navegador consiga decodificar: MP3, WAV, OGG, AAC, M4A, FLAC, OPUS, mais containers de vídeo (MP4, MKV, MOV, WebM) dos quais o áudio é auto-extraído. Web Audio API faz a decodificação inteiramente no seu dispositivo.

O que é tom musical, exatamente?

Tom é centro tonal mais modo. Dó maior significa que a música gravita para a nota Dó e usa o padrão de intervalos da escala maior (Dó, Ré, Mi, Fá, Sol, Lá, Si). Lá menor usa as mesmas notas mas trata Lá como casa. Saber o tom permite aos músicos transpor, harmonizar, improvisar solos que encaixam, e explica por que alguns acordes 'soam certos' juntos.

O que é a roda Camelot e como uso?

Camelot é uma numeração amigável para DJs dos 24 tons em torno de um círculo. Cada tom tem número (1–12) e letra (A para menor, B para maior). A regra: faixas com mesmo código Camelot mixam perfeitamente; ±1 ao redor da roda mixa bem; pular +7 (quinta perfeita) também funciona. Dó maior = 8B, Sol maior = 9B, Fá maior = 7B, Lá menor = 8A. Mixed In Key, RekordBox e Beatport rotulam faixas assim.

Quão precisa é a detecção de tom?

Em música ocidental claramente tonal (pop, rock, clássica, jazz com harmonia funcional), a abordagem Krumhansl-Schmuckler atinge 75–85 % de precisão nos sets MIREX padrão — competitiva com ferramentas comerciais que usam cromagramas. Faixas atonais, modais, muito curtas ou pesadamente modulantes pontuam mais baixo; o porcentual de confiança te diz o quanto confiar na resposta.

Por que a ferramenta dá um tom diferente do que penso?

Razões comuns: (1) confusão relativa-maior / relativa-menor — Dó maior e Lá menor compartilham as mesmas notas, olhe a lista de alternativos; (2) a música realmente modula, e o que você ouve é o segundo tom; (3) autotune pesado ou efeitos de pitch distorcem o cromagrama; (4) a gravação está em afinação não padrão (ex. 432 Hz ou barroco 415 Hz em vez de Lá=440 Hz). Inspecione a lista de alternativos — frequentemente a resposta correta é a segunda.

O que significa o desvio em cents?

Diz quão longe o pitch detectado está do semitom temperado mais próximo. 0 cents = perfeitamente afinado. +5 cents = ligeiramente sustenido (5 % de um semitom acima da nota mais próxima). −20 cents = visivelmente bemol. A maioria dos ouvintes detecta desvios maiores que cerca de ±10 cents em tons sustentados; ±5 cents é geralmente considerado 'afinado'.

Posso usar como afinador de violão em tempo real?

Sim. O modo em tempo real abre seu microfone via MediaStreamSource, roda detecção de pitch YIN no sinal ao vivo, e exibe a nota detectada e desvio em cents a 30+ atualizações por segundo. Funciona em qualquer instrumento monofônico: violão, baixo, violino, flauta, voz. Não funciona em acordes ou instrumentos polifônicos — YIN espera uma única fundamental por vez.

Em que se baseia a detecção de BPM?

Computamos spectral flux (a taxa de mudança do espectro de magnitude, que pula em onsets de notas) sobre a faixa inteira e rodamos autocorrelação no envelope de onset resultante. O pico da autocorrelação na faixa 60–200 BPM dá o tempo dominante. É a abordagem Tempogram padrão. É preciso em músicas com pulso claro, menos em rubato, jazz com tempo flutuante ou material em tempo livre.

Funciona em bossa nova, MPB, samba, forró, sertanejo ou outros gêneros regionais?

Sim para qualquer material tonal — a maior parte da música popular brasileira e latina senta confortavelmente em tons maiores ou menores e detecta confiavelmente. Gêneros modais (certos baião nordestinos, fado, jazz modal) podem produzir um maior ou menor de 'melhor ajuste' que aproxima o modo mas não é estritamente correto. Confiança abaixo de 70 % é seu sinal de que o gênero ou mix está lutando contra o algoritmo.

Meu áudio é seguro e privado?

Sim. Decodificação, computação de cromagrama, casamento de tom e detecção de BPM acontecem todos no seu navegador via Web Audio API e Meyda. Seu arquivo nunca é enviado. Afinação em tempo real usa seu microfone localmente e nunca transmite áudio. Não armazenamos, registramos ou compartilhamos nada do que você analisa.

E se a detecção de tom for incerta (baixa confiança)?

A ferramenta reporta porcentagem de confiança. Se abaixo de ~70 %, o resultado deve ser tratado como palpite. Tente (1) analisar uma seção diferente da música mais clara harmonicamente, (2) usar segmento de áudio mais longo, (3) checar a lista de tons alternativos, ou (4) ouvir a música contra um tom de referência conhecido em sua DAW ou app de afinação.

Referências e fontes acadêmicas

  1. Krumhansl, C. L.. (1990). Cognitive Foundations of Musical Pitch (algoritmo Krumhansl-Schmuckler) Oxford University Press.
  2. de Cheveigné, A., & Kawahara, H.. (2002). YIN, a fundamental frequency estimator for speech and music Journal of the Acoustical Society of America 111(4).
  3. Mauch, M., & Dixon, S.. (2010). Approximate Note Transcription for the Improved Identification of Difficult Chords (NNLS Chroma) ISMIR Proceedings.
  4. Temperley, D.. (2007). Music Theory of Tonal Pitch Space (extensões de Temperley a Krumhansl-Schmuckler) MIT Press.
  5. Comitê organizador MIREX. (2024). Music Information Retrieval Evaluation eXchange (MIREX) — Tarefa de detecção de tom ISMIR / IMIRSEL, University of Illinois.
  6. Korzeniowski, F., & Widmer, G.. (2017). End-to-end Musical Key Estimation Using a Convolutional Neural Network EUSIPCO.

Last reviewed: · Reviewed by Equipe de Engenharia de Áudio WuTools