Minim |
|
getBand |
Description Returns the amplitude of the requested frequency band.Signature float getBand(int i) Parameters i — int: the index of a frequency bandReturns float: the amplitude of the requested frequency band Related FFTExample /** * This sketch demonstrates how to use an FFT to analyze * the audio being generated by an AudioPlayer. * <p> * FFT stands for Fast Fourier Transform, which is a * method of analyzing audio that allows you to visualize * the frequency content of a signal. You've seen * visualizations like this before in music players * and car stereos. * <p> * For more information about Minim and additional features, * visit http://code.compartmental.net/minim/ */ import ddf.minim.analysis.*; import ddf.minim.*; Minim minim; AudioPlayer jingle; FFT fft; void setup() { size(512, 200, P3D); minim = new Minim(this); // specify that we want the audio buffers of the AudioPlayer // to be 1024 samples long because our FFT needs to have // a power-of-two buffer size and this is a good size. jingle = minim.loadFile("jingle.mp3", 1024); // loop the file indefinitely jingle.loop(); // create an FFT object that has a time-domain buffer // the same size as jingle's sample buffer // note that this needs to be a power of two // and that it means the size of the spectrum will be half as large. fft = new FFT( jingle.bufferSize(), jingle.sampleRate() ); } void draw() { background(0); stroke(255); // perform a forward FFT on the samples in jingle's mix buffer, // which contains the mix of both the left and right channels of the file fft.forward( jingle.mix ); for(int i = 0; i < fft.specSize(); i++) { // draw the line for frequency band i, scaling it up a bit so we can see it line( i, height, i, height - fft.getBand(i)*8 ); } } Usage Web & Application |