Gerador de Imagem de Forma de Onda

TODAS AS AMOSTRAS LIDAS, NÃO UMA EM DEZ MIL
⚡ A maioria dos geradores de forma de onda lê uma amostra de áudio por coluna de pixel. Numa faixa de três minutos desenhada com 800 px de largura isso é 0,01 % do áudio — então os transientes somem, e o formato muda quando você redimensiona a imagem. Este lê todas as amostras e mostra, lado a lado, o que o atalho teria desenhado. Nada é enviado.
Solte um arquivo de áudio aqui
ou clique para escolher — MP3, WAV, FLAC, M4A, AAC, OGG ou Opus

Uma amostra por pixel é 0,01 % do áudio

Uma faixa de três minutos a 44,1 kHz tem 7.938.000 amostras. Desenhada com 800 px de largura, cada coluna de pixel precisa representar 9.922,5 amostras. Quase todo gerador de forma de onda escolhe uma delas e desenha a altura dessa amostra.

Isso olha 800 amostras de 7.938.000 — 0,0101 % do arquivo. Não é um resumo da coluna, é uma amostragem pontual dela, e amostrar um sinal muito abaixo da própria taxa é a definição de manual de aliasing. O resultado não é "um pouco menos preciso". É um retrato da relação entre a frequência do som e o passo dos pixels, o que não é uma propriedade da música.

O mesmo tom, desenhado de várias maneiras

Geramos um tom constante em escala cheia — amplitude 1,0 da primeira à última amostra, 180 segundos — e desenhamos com 800 px de largura. O desenho verdadeiro é um bloco sólido de altura 1,000. Veja o que uma amostra por coluna devolve conforme a frequência muda:

TomUma amostra por colunaTodas as amostras (pico)
100 Hz0,00361,0000
220 Hz0,00781,0000
261,63 Hz0,63611,0000
440 Hz0,01571,0000
441 Hz0,63521,0000
1000 Hz0,03561,0000
2000 Hz0,07101,0000

Áudio idêntico, respostas de 0,0036 a 0,6361. Com um hertz de diferença — 440 e 441 — o atalho desenha uma linha reta e depois uma onda com 64 % de altura. Ler todas as amostras devolve 1,0000 em todos os casos, porque é isso que está no arquivo.

Redimensione a imagem e a onda muda de forma

Esta é a parte que entrega o problema. Pegue aquele mesmo arquivo de 440 Hz e redesenhe em larguras diferentes, sem mudar mais nada:

LarguraAmostras por colunaUma amostra por colunaTodas as amostras
600 px13.230,00,00001,0000
700 px11.340,00,62591,0000
800 px9.922,50,01571,0000
1000 px7.938,00,61551,0000
1200 px6.615,00,00001,0000
1920 px4.134,40,51141,0000

Uma forma de onda que muda quando você muda a tela não está descrevendo o áudio. Se você já exportou uma onda em dois tamanhos e achou o segundo estranho, é por isso.

Os transientes somem por completo

Um estouro de 2 ms a 44,1 kHz tem 88 amostras — 0,89 % de uma coluna de 9.922 amostras. Ler uma amostra por coluna cai em cima dele cerca de 0,89 % das vezes. Montamos uma trilha de cliques com 360 estouros em escala cheia, um a cada 500 ms, e desenhamos:

MediçãoUma amostra por colunaTodas as amostras (pico)
Colunas que mostram um estouro0 de 800360 de 800
Coluna mais alta0,00000,8973
Amostra única em escala cheia achada (200 tentativas)0 / 200200 / 200
Estouro de 2 ms achado (200 tentativas)3 / 200200 / 200

Uma faixa de bateria desenhada assim pode não mostrar bateria nenhuma. Não bateria mais fraca — nenhuma: cada um dos 360 estouros caiu entre as amostras observadas, e o desenho voltou como uma linha reta.

Quanto custa fazer direito

Ler todas as 7.938.000 amostras e reduzi-las a 800 colunas levou 4,70 ms, melhor de cinco execuções, num navegador comum. O atalho levou 0,00 ms. Essa é a economia inteira, e ela compra um desenho que não é do seu áudio.

Esta ferramenta lê todas as amostras e guarda o mínimo e o máximo de cada coluna, que é o que sobrevive ao redimensionamento e o que pega um transiente. Você pode trocar para uma amostra por coluna no menu e ver o seu próprio arquivo perder os picos, e a segunda tela mostra essa comparação por padrão para você não ter que acreditar na nossa palavra.

O RMS também está disponível, e vale dizer que ele não é errado — é outra grandeza. O RMS de uma senoide é 0,7071 contra um pico de 1,0000, então uma onda em RMS é 29,29 % mais baixa do que uma onda em pico do mesmo áudio. Escolha uma e fique com ela; uma ferramenta que mistura as duas na mesma imagem é inconsistente consigo mesma.

O conjunto completo de medições, incluindo a varredura de frequências e as fórmulas fechadas, está escrito em Por que a sua imagem de forma de onda está sem a bateria.

Quais arquivos ela abre

A decodificação acontece no seu navegador, então a lista é a lista dele: MP3, WAV, FLAC, M4A, AAC, OGG e Opus decodificam. AIFF, WMA e APE não — eles dão erro de decodificação mesmo em arquivos perfeitamente válidos. Se você tem um desses, converta antes no conversor de áudio, que faz a conversão no servidor, e depois volte. A página diz qual dos dois problemas você teve, em vez de adivinhar.

Perguntas frequentes

Meu áudio é enviado para algum lugar?

Não. O arquivo é decodificado pelo seu navegador, reduzido a colunas na própria página e desenhado numa tela que você baixa. Ele nunca chega a um servidor, que é também por que a ferramenta continua funcionando com a aba offline depois que a página carregou.

Por que a minha onda fica diferente aqui e em outra ferramenta?

Quase certamente porque a outra lê uma amostra por coluna de pixel e esta lê todas. Numa faixa de três minutos essa é a diferença entre olhar 0,01 % do áudio e olhar tudo. A segunda tela desta página desenha o seu arquivo das duas maneiras para você comparar diretamente.

Qual é a diferença entre pico e RMS?

Pico é a amostra mais forte da coluna; RMS é a energia média da coluna. As duas são respostas corretas para perguntas diferentes. O RMS de uma senoide é 0,7071 contra um pico de 1,0000, então uma onda em RMS é cerca de 29 % mais baixa. Pico é a escolha usual para uma imagem de forma de onda porque mostra transientes; o RMS fica mais suave e mais perto do volume percebido.

Por que o meu arquivo não abriu?

Dois motivos diferentes, e a página distingue os dois. AIFF, WMA e APE não são decodificáveis em nenhum navegador que testamos, mesmo quando o arquivo está perfeito — converta esses antes. Qualquer outra falha é arquivo danificado ou com extensão errada, e uma mensagem diferente diz isso.

Dá para deixar o fundo transparente?

Sim, marque Transparente e baixe o PNG. A exportação em SVG é transparente a menos que você deixe o fundo ligado. Transparente é o que você quer para colocar a onda sobre um vídeo ou sobre um cartão colorido.

PNG ou SVG?

PNG para qualquer coisa que vá para um vídeo ou um post. SVG se você vai imprimir ou ampliar — uma onda em SVG continua nítida em qualquer tamanho porque guarda as colunas como retângulos, e não como pixels. O SVG é construído a partir dos mesmos dados de coluna que o PNG, então os dois são o mesmo desenho.

Qual a duração máxima de arquivo?

O limite é a memória do seu navegador, não uma regra nossa — a decodificação segura o arquivo inteiro descomprimido, algo como 10 MB por minuto de estéreo a 44,1 kHz. Arquivos muito longos ficam melhores se você cortar antes com o cortador de áudio, que também deixa você desenhar exatamente o trecho que quer.

Normalizar altera o áudio?

Não. Nada é gravado de volta no seu arquivo — normalizar só escala o desenho para que a coluna mais alta alcance o topo da imagem. Desligue para ver a onda no nível verdadeiro em relação ao topo do quadro, que é a visão honesta se você está comparando dois arquivos.