Impulse imp => dac; // provides a means of writing directly to dac 0.0 => float phase; // make a phase variable for sine argument while (1) { Math.sin(phase) => imp.next; // write out next sample 0.1 +=> phase; // increment phase if (phase > (2*pi)) phase-(2*pi) => phase; // modulo two pi 1.0 :: samp => now; // write out each sample }