sclass SineSoundSource extends VF1 { double freq; double sampleRate = 44100; double step; double phase; *(double *freq, double *sampleRate) { calcStep(); } *(double *freq) { calcStep(); } void calcStep { step = pi()*2*freq/sampleRate; } public void get(double[] lr) { fillDoubleArray(lr, Math.sin(phase)*32767); phase += step; } }