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 as an integer (default 512). This parameter needs to be a power of 2 (e.g. 16, 32, 64, 128, ...).
Methods
analyze()
Calculates the current frequency spectrum and returns it as an array with as many elements as frequency bands.analyzeSample()
Calculates the frequency spectrum of the given sample, returning an array of magnitudes.input()
Define the audio input for the analyzer.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.