/** * This sketch demonstrates how to use the getLineIn method of Minim. This method * returns an AudioInput object. An AudioInput represents a connection to the * computer's current record source (usually the line-in) and is used to monitor audio coming from an external source. * There are five versions of getLineIn: *
  * getLineIn()
  * getLineIn(int type) 
  * getLineIn(int type, int bufferSize) 
  * getLineIn(int type, int bufferSize, float sampleRate) 
  * getLineIn(int type, int bufferSize, float sampleRate, int bitDepth)  
  * 
* The value you can use for type is either Minim.MONO or Minim.STEREO. * bufferSize specifies how large you want the sample buffer to be, sampleRate specifies * the sample rate you want to monitor at, and bitDepth specifies what bit depth you want to monitor at. * type defaults to Minim.STEREO, bufferSize defaults to 1024, * sampleRate defaults to 44100, and bitDepth defaults to 16. If an AudioInput * cannot be created with the properties you request, Minim will report an error and return null. *

* When you run your sketch as an applet you will need to sign it in order to get an input. *

* Before you exit your sketch make sure you call the close method of any AudioInput's * you have received from getLineIn. */ import ddf.minim.*; Minim minim; AudioInput in; void setup() { size(512, 200, P3D); minim = new Minim(this); minim.debugOn(); // get a line in from Minim, default bit depth is 16 in = minim.getLineIn(Minim.STEREO, 512); } void draw() { background(0); stroke(255); // draw the waveforms for(int i = 0; i < in.bufferSize() - 1; i++) { line(i, 50 + in.left.get(i)*50, i+1, 50 + in.left.get(i+1)*50); line(i, 150 + in.right.get(i)*50, i+1, 150 + in.right.get(i+1)*50); } } void stop() { // always close Minim audio classes when you are done with them in.close(); minim.stop(); super.stop(); }