This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.
Name 
FFT 
Examples  import processing.sound.*;
FFT fft;
AudioIn in;
int bands = 512;
float[] spectrum = new float[bands];
void setup() {
size(512, 360);
background(255);
// Create an Input stream which is routed into the Amplitude analyzer
fft = new FFT(this, bands);
in = new AudioIn(this, 0);
// start the Audio Input
in.start();
// patch the AudioIn
fft.input(in);
}
void draw() {
background(255);
fft.analyze(spectrum);
for(int i = 0; i < bands; i++){
// The result of the FFT is normalized
// draw the line for frequency band i scaling it up by 5 to get more amplitude.
line( i, height, i, height  spectrum[i]*height*5 );
}
}

Description 
This is a Fast Fourier Transform (FFT) analyzer. It calculates the normalized power spectrum of an audio stream the moment it is queried with the analyze() method.

Methods 
analyze() 
Calculates the current frequency spectrum from the input source. 
input() 
Define the audio input for the analyzer. 

Constructor  FFT(parent)
FFT(parent, bands)

Parameters 
parent 
PApplet: typically use "this" 
bands 
int: number of frequency bands for the FFT as an integer (default 512).
This parameter needs to be a power of 2 (e.g. 16, 32, 64, 128,
...). 

Updated on June 6, 2020 10:05:51pm EDT