Analisador de Espectro

Visualize o espectro de áudio com FFT em tempo real, forma de onda e barras de frequência. Grave em MP4/WebM. 100% no navegador, sem upload.

Upload
Arraste e solte um arquivo de áudio aqui
ou clique para procurar (MP3, WAV, FLAC, OGG, M4A, MP4, MOV, AVI)
Escolha um arquivo de áudio para analisar (qualquer formato)

Sobre este analisador de espectro

Um analisador de espectro converte o sinal de domínio do tempo que você ouve em uma imagem de domínio da frequência que você pode ler. Em vez de plotar amplitude versus tempo, ele plota magnitude versus frequência, revelando exatamente quais tons, harmônicos e componentes de ruído estão presentes a cada instante. Esta ferramenta online roda inteiramente dentro do seu navegador usando a Web Audio API e a biblioteca de extração de características Meyda — seus arquivos de áudio nunca saem do dispositivo. As mesmas técnicas são usadas pelos sistemas de medição profissionais da Audio Precision, Rohde & Schwarz e da Universidade Stanford CCRMA.

A ferramenta aceita praticamente qualquer container que o navegador consiga decodificar: MP3, WAV, FLAC, OGG, M4A, OPUS, AAC, além de arquivos de vídeo (MP4, MOV, AVI, MKV) dos quais extraímos a faixa de áudio com ffmpeg.wasm. Após a decodificação, o buffer passa por um AnalyserNode que calcula uma FFT em tempo real sobre janelas sobrepostas. O resultado é renderizado como curva suave de frequência, barras verticais clássicas ou forma de onda no domínio do tempo, tudo movido por requestAnimationFrame para 60 fps estáveis.

Engenheiros de áudio em estúdios brasileiros — desde mixagem de bossa nova no Rio de Janeiro até produção de samba e MPB em São Paulo — recorrem à análise de espectro ao mixar e masterizar: uma rápida olhada mostra se o bumbo tem o fundamental esperado em 60–80 Hz, se a voz está na banda de presença 2–5 kHz, ou se está se acumulando lama em 200–400 Hz. Músicos usam para verificar afinação, professores demonstram harmônicos, podcasters detectam zumbido da rede em 50/60 Hz, e acústicos investigam modos de sala quando há um microfone calibrado. A ferramenta também grava vídeo da animação como WebM (VP9/VP8) ou MP4 (H.264) — útil para conteúdo no YouTube em português e visualizadores musicais.

Três controles merecem atenção. A suavização (timeSmoothingConstant do FFT) faz a média dos frames sucessivos: valores próximos de 0 dão uma resposta nervosa que expõe transientes; valores próximos de 0,9 produzem visual tranquilo mas escondem eventos curtos. O tipo de visualização alterna entre linha de espectro contínua, barras discretas (estilo VU vintage de hi-fi) e forma de onda crua. As ferramentas de download permitem salvar capturas ou gravações do espectro para tutoriais e posts em redes sociais. Todo o processamento é local, todo o resultado é seu, e nenhuma telemetria do conteúdo de áudio é coletada.

Como o analisador funciona

O áudio é decodificado pela Web Audio API em um buffer PCM float de 32 bits na taxa de amostragem nativa do arquivo (tipicamente 44,1 kHz ou 48 kHz). O buffer é roteado pela cadeia AudioBufferSourceNode → AnalyserNode → AudioContext.destination. O AnalyserNode é configurado com fftSize = 2048 por padrão, gerando 1024 bins de frequência cobrindo de 0 Hz a Nyquist (sampleRate / 2). Cada bin representa portanto sampleRate / fftSize ≈ 21,5 Hz a 44,1 kHz — o limite fundamental de resolução de frequência desta ferramenta.

Antes da FFT, o AnalyserNode aplica uma janela de Blackman a cada frame. A janela atenua as bordas do frame de análise para zero, evitando o vazamento espectral que uma janela retangular causaria quando as frequências não caem exatamente no centro do bin. Outras escolhas DSP comuns — Hann, Hamming, Kaiser — equilibram largura do lóbulo principal e rejeição de lóbulos laterais; Blackman é o padrão Web Audio e uma escolha sensata de uso geral.

Após a FFT, o analisador retorna amostras do domínio do tempo (getByteTimeDomainData) para a vista de forma de onda, ou dados de magnitude espectral em dBFS (getByteFrequencyData, escalado para 0–255 entre minDecibels = −100 dBFS e maxDecibels = −30 dBFS). Frames sucessivos são suavizados pela fórmula: out[i] = α · prev[i] + (1−α) · current[i], onde α é a constante de suavização. É um filtro IIR de polo único cuja frequência de corte depende de α e da taxa de frames.

O eixo de magnitude exibido é logarítmico em decibéis, o que casa com a audição humana. O eixo de frequência pode ser linear (espaçamento uniforme em Hz, usado aqui na linha de espectro) ou logarítmico (casa com oitavas musicais). Na vista de barras, agrupamos bins em bandas perceptualmente significativas (sub-bass, bass, low-mid, mid, high-mid, treble, presence, brilliance) seguindo convenções de mesa de mixagem profissional. Magnitude versus potência é uma fonte frequente de confusão: aqui mostramos magnitude (proporcional à amplitude), então um aumento de 3 dB corresponde a aproximadamente uma razão de pressão de 1,4×; se você precisa de potência (proporcional à energia), o mesmo número dobra.

Capturas são exportadas lendo o canvas como PNG via canvas.toBlob. Gravações ao vivo usam MediaRecorder sobre um stream capturado de canvas.captureStream(60), dando captura real de tela a 60 fps sem software externo. Quando MP4 é selecionado, o WebM gravado é transcodificado para H.264 no navegador usando ffmpeg.wasm — um port da biblioteca ffmpeg compilado para WebAssembly. É mais lento que VP9 mas produz arquivos compatíveis com iOS, PowerPoint e a maioria dos editores antigos.

Precisão e limitações

Esta ferramenta dá uma imagem confiável do conteúdo espectral relativo, mas não consegue medir nível absoluto de pressão sonora (SPL em dB SPL) sem calibração. O microfone ou a interface que originalmente capturou o arquivo tem sua própria resposta em frequência, ganho e piso de ruído, e nada disso pode ser recuperado depois do fato. Trate o eixo dB como decibéis em relação ao fundo de escala (dBFS), não dB SPL. Para obter dB SPL você precisa de um microfone de medição classe 1, uma fonte de referência conhecida (tipicamente um pistonofone de 94 dB SPL) e calibração offline em aplicação de metrologia — não uma ferramenta de navegador.

A precisão em frequência é limitada pela largura do bin: a 44,1 kHz com fftSize 2048, dois tons separados por menos de ~22 Hz não podem ser resolvidos como picos distintos. Esse é o inverso do compromisso tempo-frequência tipo Heisenberg. Se você precisa de resolução mais fina, aumente o fftSize ao custo de atualização mais lenta; se precisa de resolução temporal mais fina (detecção de transientes), reduza o fftSize. A constante de suavização adiciona mais média temporal, desejável para visualização calma mas esconde eventos curtos; coloque em 0 ao caçar cliques ou estalos.

  • Não mede SPL absoluto (dB SPL) sem microfone calibrado e sinal de referência — leituras são apenas dBFS.
  • Resolução de frequência limitada a sampleRate ÷ fftSize ≈ 21,5 Hz a 44,1 kHz / FFT 2048.
  • O AnalyserNode da Web Audio aplica janela Blackman fixa; pesquisadores que precisam de outras devem usar bibliotecas DSP offline.
  • Formatos com compressão lossy pesada (MP3 baixo bitrate, AAC) perdem detalhe em altas frequências e podem mostrar artefatos do codificador.
  • Decodificadores do navegador podem reamostrar taxas não padrão (ex. 96 kHz) para a taxa do AudioContext, escondendo conteúdo ultrassônico.
  • Animação roda a 60 fps; transientes muito rápidos (abaixo de ~17 ms) podem cair entre frames.

Glossário

FFT (Transformada Rápida de Fourier)
Algoritmo eficiente O(N log N) para calcular a Transformada Discreta de Fourier, que decompõe um sinal de comprimento finito em soma de senoides complexas em frequências igualmente espaçadas.
Bin de frequência
Uma das N/2 fatias de frequência produzidas por uma FFT de N pontos, cada uma centrada em k × sampleRate / N para k inteiro. Largura do bin = sampleRate / fftSize.
Frequência de Nyquist
Metade da taxa de amostragem. A maior frequência que pode ser representada sem ambiguidade em um sinal digital; conteúdo acima dobra como aliasing durante a gravação.
dBFS (decibéis Full Scale)
Referência de nível digital onde 0 dBFS é o valor máximo representável (tipicamente um pico de ±1,0 em float 32 bits ou ±32767 em 16 bits). Todos os valores são negativos; piso de ruído de gravação 16 bits limpa fica em torno de −96 dBFS.
Magnitude vs. potência
Magnitude é |X(f)|; potência é |X(f)|². Aumento de 3 dB equivale a razão de potência 2× mas razão de magnitude √2 ≈ 1,41×. Esta ferramenta plota magnitude.
Janelamento (windowing)
Multiplicar o frame de análise por uma função de pesos atenuante (Hann, Hamming, Blackman, Kaiser…) antes da FFT para suprimir vazamento espectral causado pelas bordas do frame.
Espectrograma
Gráfico bidimensional de magnitudes FFT ao longo do tempo: frequência no eixo vertical, tempo no horizontal, intensidade codificada por cor. Próximo da vista de espectro mas desenrolado no tempo.
Taxa de amostragem
Número de amostras de áudio capturadas por segundo, expresso em Hz. Qualidade CD é 44,1 kHz; pro audio é 48 kHz, 96 kHz ou 192 kHz.

Perguntas Frequentes

Quais formatos de áudio são suportados?

Todos os formatos que seu navegador conseguir decodificar: MP3, WAV, OGG, AAC, M4A, FLAC, OPUS, mais containers de vídeo (MP4, MOV, MKV, AVI) dos quais o áudio é extraído automaticamente. A decodificação acontece inteiramente no seu navegador via Web Audio API.

Para que serve um analisador de espectro?

Verificações de mixagem e masterização, afinação de instrumentos, investigação de modos de sala, detecção de zumbido da rede (50/60 Hz) e harmônicos, comparação de duas gravações, demonstração de análise de Fourier em sala de aula, construção de visualizadores musicais para vídeo, e controle de qualidade de áudio para broadcast ou podcast.

Que tamanho de FFT a ferramenta usa?

O fftSize padrão é 2048, que dá 1024 bins de frequência e ≈21,5 Hz de resolução a 44,1 kHz. O AnalyserNode da Web Audio aceita qualquer potência de 2 entre 32 e 32768; a ferramenta escolhe 2048 como equilíbrio entre resolução, latência e carga de CPU.

O que o controle de suavização faz?

Controla o timeSmoothingConstant do AnalyserNode: um filtro IIR de polo único sobre frames sucessivos da FFT. 0,0 mostra o espectro frame a frame em bruto (útil para transientes, aspecto mais nervoso); 0,8–0,9 produz visualização calma adequada para música; 1,0 congela o display.

Qual a diferença entre Espectro, Barras e Forma de onda?

Espectro é uma curva contínua de 0 Hz a Nyquist. Barras agrupa bins em bandas perceptuais como sub-bass / bass / mid / treble / presence — visualmente como um equipamento hi-fi clássico. Forma de onda mostra o sinal cru no domínio do tempo, útil para detectar clipping, offset DC ou assimetria.

Posso medir dB SPL?

Não. O display está em dBFS (decibéis em relação ao fundo de escala digital). Medir SPL real requer microfone de referência calibrado (ex. Earthworks M30, B&K 4189), fonte acústica conhecida e software de metrologia. Ferramentas de navegador não conseguem fazer isso, mas para comparação relativa e análise de forma, dBFS funciona bem.

Por que meu espectro está vazio acima de 16 kHz?

Provavelmente seu arquivo é MP3 ou AAC de baixo bitrate; codecs lossy cortam agressivamente as altas frequências (frequentemente um filtro passa-baixa abrupto a 16 kHz para MP3 128 kbps). Tente um WAV ou FLAC do mesmo material. Também pode indicar que a gravação original já era limitada em banda.

O que a captura/gravação exporta?

Captura salva PNG do canvas atual em resolução completa. Gravação captura a animação ao vivo como WebM (VP9 melhor qualidade, VP8 maior compatibilidade) ou transcodifica para MP4 (H.264) usando ffmpeg.wasm no navegador. O áudio é multiplexado junto com o vídeo, pronto para upload no YouTube ou redes sociais.

Meu áudio é enviado para algum lugar?

Não. Decodificação, FFT, renderização e gravação acontecem todas localmente no seu navegador. Nenhum byte do seu áudio sai do dispositivo. A página usa analytics padrão apenas para contagem de tráfego.

Por que o espectro parece diferente da minha DAW?

DAWs frequentemente aplicam ponderação A ou K, FFTs maiores ou suavização psicoacústica. Podem mostrar RMS por banda em vez de pico. Use esta ferramenta para verificações rápidas e comparação de forma; use um analisador de DAW calibrado (FabFilter Pro-Q, Voxengo SPAN, iZotope Insight) para decisões de masterização.

Referências e leitura adicional

  1. W3C Audio Working Group. (2021). Especificação Web Audio API (W3C Recommendation) World Wide Web Consortium.
  2. Smith, J. O.. (2007). Mathematics of the Discrete Fourier Transform (DFT), with Audio Applications Stanford CCRMA / W3K Publishing.
  3. Setor de Radiocomunicações da UIT. (2023). ITU-R BS.1387-2: Method for objective measurements of perceived audio quality (PEAQ) União Internacional de Telecomunicações.
  4. IEEE Instrumentation and Measurement Society. (2017). IEEE Std 1057-2017: Standard for Digitizing Waveform Recorders IEEE.
  5. Harris, F. J.. (1978). On the use of windows for harmonic analysis with the discrete Fourier transform Proceedings of the IEEE.

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