- Processing
- p5.js
- Processing.py
- Processing for Android
- Processing for Pi

- Processing Foundation

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
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.