Minim |
|
Summer Methods
channelCount ( ) |
A Summer allows you to sum the outputs of multiple UGens to be sent further
down the chain. Unlike most UGen effects, you can patch more than one UGen to
a Summer.
Constructors Constructs a Summer that you can patch multiple UGens to. Summer() Related Example /** * This sketch demonstrates how to patch more than one UGen * to a Summer. It works just like patching any other two * UGens together, the difference being that a Summer * can have more than one UGen patched to it and will * output the sum of all signals, whereas most other UGens * allow only one input. * * For many more examples of UGens included with Minim, * have a look in the Synthesis folder of the Minim examples. * <p> * For more information about Minim and additional features, * visit http://code.compartmental.net/minim/ */ import ddf.minim.*; import ddf.minim.ugens.*; Minim minim; AudioOutput out; void setup() { size(512, 200, P3D); minim = new Minim(this); // use the getLineOut method of the Minim object to get an AudioOutput object out = minim.getLineOut(); Summer sum = new Summer(); // create some Oscils to patch to the Summer Oscil wave = new Oscil( Frequency.ofPitch("A4"), 0.3f, Waves.SINE ); // patch the Oscil to the Summer wave.patch( sum ); wave = new Oscil( Frequency.ofPitch("C#5"), 0.3f, Waves.SINE ); wave.patch( sum ); wave = new Oscil( Frequency.ofPitch("E5"), 0.3f, Waves.SINE ); wave.patch( sum ); // and the Summer to the output and you should hear a major chord sum.patch( out ); } void draw() { background(0); stroke(255); strokeWeight(1); // draw the waveform of the output for(int i = 0; i < out.bufferSize() - 1; i++) { line( i, 50 - out.left.get(i)*50, i+1, 50 - out.left.get(i+1)*50 ); line( i, 150 - out.right.get(i)*50, i+1, 150 - out.right.get(i+1)*50 ); } } Usage Web & Application |