//chimes //Emily Graber Envelope master => dac; 1 => master.value; 27::second => master.duration; // chimes //////////////////////////// fun void chimes(float f, float g, int i){ SinOsc m => SinOsc c => ADSR adsr => JCRev reverb => dac.chan(i); c.sync(2); c.gain(g); f => c.freq; m.gain(1100); .886*f => m.freq; adsr.set(10::ms, 900::ms, 0.2, 3::second); reverb.mix(.09); 1 => adsr.keyOn; 500::ms => now; 1 => adsr.keyOff; 7::second => now; } // sweep ////////////////////////////////////// fun void sweep(float f, float t){ SinOsc m => SinOsc c => ADSR adsr => master; c.sync(2); c.gain(0.02); f => c.freq; adsr.set(20::ms, 2::ms, 1, 1000::ms); for(0 => int i; i<1; i++) { 1 => adsr.keyOn; for(1 => int gain; gain < (f/2.4); gain++) { m.gain(gain); m.freq((f/2)-gain); t::second => now; } 1 => adsr.keyOff; 1000::ms => now; } } //My Score ////////////////////////////////// // part 1////////////////////////////////// spork ~ chimes(230, 0.2, 1); 1.2::second => now; spork ~ chimes(150, 0.3, 1); 2.5::second => now; spork ~ chimes(90, 0.5, 0); 1.2::second => now; spork ~ chimes(85, 0.4, 0); .9::second => now; spork ~ chimes(440, 0.1, 1); 2::second => now; spork ~ chimes(660, 0.15, 0); 0.5::second => now; spork ~ chimes(800, 0.05, 1); //part 2///////////////////////////////////// spork ~ sweep(800, 0.08); 15::second => now; spork ~ chimes(90, 0.5, 1); 2.9::second => now; spork ~ chimes(90, 0.4, 1); 2.9::second => now; spork ~ chimes(90, 0.3, 1); 2.9::second => now; spork ~ chimes(90, 0.2, 1); 2.9::second => now; spork ~ chimes(90, 0.1, 1); 0.4::second => now; [7, 5, 4, 0] @=> int fast[]; for(0 => int notes; notes float frequency; spork ~ chimes(frequency, 0.01, 0); 200::ms => now; } 2::second => now; Std.mtof(67) => float nextnote; spork ~ sweep(nextnote, 0.8); for(0 => int notes; notes float frequency; spork ~ chimes(frequency, 0.02, 1); 100::ms => now; } 5::second => now; for(0 => int notes; notes float frequency; spork ~ chimes(frequency, 0.01, 1); 200::ms => now; } 1::second => now; for(0 => int notes; notes float frequency; spork ~ chimes(frequency, 0.005, 0); 100::ms => now; } 4::second => now; [0, 1, 2, 9] @=> int newfast[]; for(0 => int notes; notes float frequency; spork ~ chimes(frequency, 0.01, 1); 200::ms => now; } 2::second => now; for(0 => int notes; notes float frequency; spork ~ chimes(frequency, 0.03, 0); 300::ms => now; } 10::second => now; // part 3 //////////////////////////////////////////// spork ~ chimes(90, 0.05, 0); 2.9::second => now; spork ~ chimes(90, 0.07, 0); 2.9::second => now; spork ~ chimes(90, 0.09, 0); 2.9::second => now; spork ~ chimes(90, 0.1, 0); 2.9::second => now; spork ~ chimes(90, 0.3, 0); 0.4::second => now; spork ~ chimes(230, 0.2, 1); 1.2::second => now; spork ~ chimes(150, 0.3, 1); 2.5::second => now; spork ~ chimes(90, 0.5, 0); 1.2::second => now; spork ~ chimes(85, 0.4, 0); .9::second => now; spork ~ chimes(440, 0.1, 1); 2::second => now; spork ~ chimes(660, 0.15, 0); 0.5::second => now; spork ~ chimes(800, 0.05, 1); 8::second => now; 1 => master.keyOff; spork ~ chimes(900, 0.05, 1); 2.9::second => now; spork ~ chimes(900, 0.03, 1); 2.9::second => now; spork ~ chimes(900, 0.01, 1); 2.9::second => now; spork ~ chimes(900, 0.008, 1); 2.9::second => now; spork ~ chimes(900, 0.005, 1); 0.4::second => now; spork ~ chimes(3*230, 0.02, 1); 1.2::second => now; spork ~ chimes(3*150, 0.03, 1); 2.5::second => now; spork ~ chimes(3*90, 0.05, 0); 1.2::second => now; spork ~ chimes(3*85, 0.04, 0); .9::second => now; spork ~ chimes(3*440, 0.01, 1); 2::second => now; spork ~ chimes(3*660, 0.015, 0); 0.5::second => now; spork ~ chimes(3*700, 0.005, 1); 7::second => now;