// gen9 inharmonic sinusoidal lookup table // ported to ChucK from rtcmix by dan trueman // see luke's page: http://www.music.columbia.edu/cmix/makegens.html // patch Phasor drive => Gen9 g9 => dac; // can also lookup table values directly: // g9.lookup(index); // with index:[0,1] // load up the coeffs // these are in triplets: // harmonic partial ratio, amplitude, phase // see the RTcmix page: // http://www.music.columbia.edu/cmc/Rtcmix/docs/scorefile/gen9.html // for nice documentation of this gen [1., 1., 0., 2, 0.5, 90., 3., 0.2, 180.] => g9.coefs; // [1., 1., 0.] => g9.coefs; // a simple one // make it quiet 0.1 => g9.gain; // set frequency for reading through table drive.freq( 440. ); // create an envelope to scan through the table values // so we can look at them as well as hear them Envelope e => blackhole; e.duration(10000::ms); 0. => e.value; e.keyOn(); // yay while (true) { // print <<< e.value(), g9.lookup(e.value()) >>>; // end if( e.value() == 1. ) break; // advance time 10::ms => now; }