Detector de BPM de áudio
Estime o andamento (BPM, batidas por minuto) de um arquivo de áudio por meio de uma análise de energia combinada com autocorrelação. Aceita os formatos que o seu navegador sabe decodificar nativamente (WAV, MP3, OGG, M4A, conforme o navegador).
Como funciona
A ferramenta decodifica o áudio, converte-o em um único canal mono e calcula um envelope de energia (RMS) em pequenas janelas de cerca de 20 milissegundos ao longo da faixa. Uma função de detecção de ataques ("onsets") é então derivada desse envelope, mantendo apenas os aumentos de energia. Uma autocorrelação é aplicada a essa função para encontrar o intervalo de tempo que se repete com mais regularidade — esse intervalo, convertido em batidas por minuto, dá o andamento estimado.
Essa estimativa é 100% confiável?
Não, trata-se de uma estimativa algorítmica simplificada, e não de um detector de qualidade de estúdio como os usados na produção musical profissional. A precisão varia bastante conforme o estilo musical: costuma ser boa em músicas com percussão marcada e regular (eletrônica, pop, rock) e menos confiável em faixas sem batida nítida (música clássica, ambient, vozes a cappella).
Por que o resultado às vezes parece o dobro ou a metade do andamento?
É um fenômeno clássico na detecção de andamento: o algoritmo pode travar no dobro ou na metade do andamento realmente percebido (por exemplo, detectar 140 BPM quando a música é sentida a 70 BPM), porque a energia rítmica costuma ser tão forte nas subdivisões do tempo. Por isso os candidatos secundários (dobro/metade) são exibidos ao lado do resultado principal.
Por que apenas os primeiros 60 segundos são analisados?
Para manter a rapidez e não travar o navegador com arquivos longos, a análise se limita ao primeiro minuto da gravação, o que basta de sobra para estimar um andamento globalmente estável.
Processamento 100% local: a decodificação (Web Audio API) e o cálculo do andamento são feitos inteiramente no seu navegador — seu arquivo de áudio nunca é enviado a um servidor.