Skip to content

Analisador de frequências (matriz de espectro) de arquivo de som utilizando FFT (Fast Fourier Transform) do p5.JS

License

Notifications You must be signed in to change notification settings

Alfredosavi/spectrumAnalyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

spectrumAnalyzer

O programa usa o objeto p5.FFT para analisar as frequências (matriz de espectro) de um arquivo de som (música). Foi criado um "equalizador gráfico" para a visualização.

FFT (Fast Fourier Transform) é um algoritmo de análise que isola frequências de áudio individuais dentro de uma forma de onda. Uma vez instanciado, um objeto p5.FFT pode retornar uma matriz com base em dois tipos de análises:

  • FFT.analyze(): Calcula os valores de amplitude ao longo do domínio da frequência. Os índices de matriz correspondem às frequências (ou seja, tons), do mais baixo ao mais alto que os humanos podem ouvir. Cada valor representa a amplitude naquela fatia do espectro de frequência. Use com getEnergy()para medir a amplitude em frequências específicas ou dentro de uma faixa de frequências.
  • FFT.waveform(): Calcula os valores de amplitude ao longo do domínio do tempo. Os índices de matriz correspondem a amostras em um breve momento no tempo. Cada valor representa a amplitude da forma de onda naquela amostra de tempo.

FFT analisa um instantâneo muito curto de som chamado buffer de amostra. Ele retorna uma série de medições de amplitude, conhecidas como bins. A matriz tem 1024 bins por padrão. Você pode alterar o comprimento da matriz bin, mas deve ser uma potência de 2 entre 16 e 1024 para que o algoritmo FFT funcione corretamente. O tamanho real do buffer FFT é duas vezes o número de bins, portanto, dada uma taxa de amostragem padrão, o buffer tem 2048/44100 segundos de duração.

🔥 Instalação e execução

  1. Copie o link desse repositório para fazer o clone;
  2. Abra o arquivo index.html dentro da pasta src;
  3. Clique no botão Play/Stop.

⚠️ Observações

  • Para alterar a música coloque o Path da música na função loadSound() do arquivo sketch.js.

OBS: Extensões suportadas: .mp3 e .ogg.

⚡️ Como contribuir

  • Faça um fork desse repositório;
  • Cria uma branch com a sua feature: git checkout -b minha-feature;
  • Faça commit das suas alterações: git commit -m 'feat: Minha nova feature';
  • Faça push para a sua branch: git push origin minha-feature.

Depois que o merge da sua pull request for feito, você pode deletar a sua branch.

💳 Créditos

📝 Licença

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

About

Analisador de frequências (matriz de espectro) de arquivo de som utilizando FFT (Fast Fourier Transform) do p5.JS

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published