protected override double Wave(double time, double frequency, double amplitude, double phase) { return(Oscillator.SineWave(time, frequency, amplitude / 2, Math.Sin(time * Math.PI * 2 * 3)) + Oscillator.SineWave(time, frequency * 4, amplitude / 4, Math.Sin(time * Math.PI * 2 * 5)) + Oscillator.SineWave(time, frequency * 8, amplitude / 8, Math.Sin(time * Math.PI * 7)) + Oscillator.Noise(time, amplitude / 8)); }