// logistic equation // chaotic for 3.57 < lambda < 4 3.57 => float lambda; 0.1 => float x; now + 500::second => time later; SinOsc m => SinOsc c => JCRev r => Gain g => dac; 2200 => c.freq; 500 => m.freq; 200 => m.gain; 0.1 => g.gain; 0.3 => r.mix; 2 => c.sync; c => m; 2 => m.sync; //"../220b/hw0/powersnareverb.wav" => buf.read; 1 => int increase; while( x < 1 && now < later ) { <<< lambda >>>; // logistic function lambda*(x-Math.pow(x, 2)) => x; 500*x => m.freq; // ramp up if( lambda < 4.0 && increase == 1 ) { lambda + 0.001 => lambda; } // switch if( lambda > 3.999999 && increase == 1 ) { 0 => increase; } // ramp down if( lambda > 3.57 && increase == 0 ) { lambda - 0.001 => lambda; } // switch if( lambda <= 3.57 && increase == 0 ) { 1 => increase; } (x*70)::ms => now; } 50::second => now;