Como desenhar um espectro de freqüência de uma transformada de Fourier

Eu quero traçar o espectro de freqüência de um arquivo de música (como eles fazem, por exemplo, no Audacity). Por isso, quero a frequência em Hertz no eixo xea amplitude (ou desibel) no eixo y.

Eu dedico a música (cerca de 20 milhões de amostras) em blocos de 4096 amostras de cada vez. Esses blocos resultarão em 2049 (N / 2 + 1) números complexos (seno e cosseno -> parte real e imaginária). Então agora eu tenho esses milhares de matrizes individuais de 2049, como eu os combino?

Vamos dizer que eu faço o FFT 5000 vezes resultando em 5000 matrizes de 2049 de números complexos. Eu mais todos os valores dos 5000 arrays e, em seguida, tomo a magnitude do array 2049 combinado? Então eu sacro o eixo x com a taxa de amostragem de músicas / 2 (por exemplo: 22050 para um arquivo de 44100hz)?

Qualquer informação será appriciated

questionAnswers(4)

yourAnswerToTheQuestion