Name

analyzeSample()

Class

FFT

Description

Calculates the frequency spectrum of a given audio sample and returns an array of magnitudes, one for each frequency band. The frequency associated with each band of the spectrum is frequency = binIndex * sampleRate / (2*numBands).
This version is intended to be used in non-real time processing, particularly when you are creating an animation in non-real time and want to get the FFT for a particular chunk of an audio sample. For stereo samples, you can call this function once for each channel, so you can display the left and right fft values separately.
The values of the resulting array show the amplitudes of pure tone components contained in the signal. If the signal is a sine with an amplitude of 1, the spectrum will have an absolute value of 1 (0 dB) at the frequency of the sine. For complex real-world signals the spectrum values will be much lower and usually don't exceed 0.05.

Syntax

  • FFT.analyzeSample(sample, target)
  • FFT.analyzeSample(sample, numBands)

Parameters

  • sample(float[])an array of numbers that describe the waveform to be analyzed
  • target(float[])array that the computed spectrum will be written to. The FFT will compute as many frequency bands as the length of this array, which must be a power of 2 (2, 4, 8, 16 etc.)

Return

  • float[]