Reference+
Class Name
FFT
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.
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 ); } }
Constructors
FFT(parent)
FFT(parent, bands)
Parameters
parent
typically use "this"bands
number of frequency bands for the FFT. This parameter needs to be a power of 2 (e.g. 16, 32, 64, 128, ...). The default is 512.
Methods
analyze()
Calculates the current frequency spectrum of the audio input signal.analyzeSample()
Calculates the frequency spectrum of a given audio sample.input()
Define the audio input for the analyzer.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.