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 January 1, 2021 03:38:11am EST