SinOsc s1 => PRCRev g => dac; TriOsc s2 => g; TriOsc s3 => g; TriOsc s4 => g; .05 => float volume => g.gain; .5 => float volume2; .15 => g.mix; Std.mtof(73) => s1.freq; Std.mtof(69) => s2.freq; Std.mtof(66) => s3.freq; Std.mtof(64) => s4.freq; while (volume < 1.3) { volume * 1.2 => volume; volume2 * 1.05 => volume2; s1.gain(volume2); s2.gain(volume) => s3.gain => s4.gain; 200::ms => now; } while (volume > .1) { volume * .9 => volume; volume2 * .95 => volume2; s1.gain(volume2); s2.gain(volume) => s3.gain => s4.gain; 200::ms => now; } Std.mtof(71) => s1.freq; 2::second => now; Std.mtof(66) => s1.freq; 2::second => now; Std.mtof(68) => s1.freq; Std.mtof(59) => s2.freq; Std.mtof(62) => s3.freq; Std.mtof(66) => s4.freq; while (volume < 1.3) { volume * 1.2 => volume; volume * 1.05 => volume2; s1.gain(volume2); s2.gain(volume) => s3.gain => s4.gain; 200::ms => now; } while (volume > .1) { volume * .85 => volume; volume * .95 => volume2; s1.gain(volume2); s2.gain(volume) => s3.gain => s4.gain; 200::ms => now; } Std.mtof(66) => s1.freq; 2::second => now; Std.mtof(62) => s1.freq; 2::second => now; while (volume < 1.3) { volume * 1.1 => volume; Std.mtof(61) => s1.freq; Std.mtof(54) => s2.freq; Std.mtof(56) => s3.freq; Std.mtof(58) => s4.freq; s1.gain(volume) => s2.gain => s3.gain => s4.gain; 200::ms => now; } if (1.3 => volume) { s1.gain(volume) => s2.gain => s3.gain => s4.gain; 6::second => now; }