// Example by Krister Olsson
import krister.Ess.*;
AudioStream myStream;
SineWave myWave;
void setup() {
size(256,200);
// start up Ess
Ess.start(this);
// create a new AudioStream
myStream=new AudioStream();
// our wave
myWave=new SineWave(262,.33);
// start
myStream.start();
// fade to silence over 10 seconds
myStream.fadeTo(0,10000);
}
void draw() {
}
void keyPressed() {
// stop the fade and leave the volume where it is
myStream.stopFade();
}
void audioStreamWrite(AudioStream theStream) {
// next wave
myWave.generate(myStream);
// adjust our phase
myWave.phase+=myStream.size;
myWave.phase%=myStream.sampleRate;
}
// we are done, clean up Ess
public void stop() {
Ess.stop();
super.stop();
}
|