// synthesis SinOsc foo => dac; // variables for interp float theFreq; float theFreqGoal; // spork the interpolator spork ~ interp( .1, 5::ms ); // main loop while( true ) { // generate and set current freq Math.random2( 12, 56 )*2 => Std.mtof => theFreqGoal; // wait 500::ms => now; } // interp (can add more stuff here to interp) fun void interp( float slew, dur RATE ) { while( true ) { // interp the freq (theFreqGoal - theFreq)*slew + theFreq => theFreq => foo.freq; // rate of interpolation RATE => now; } }