apply method
Implementation
double apply({
required double amplitude,
required int sampleRate,
}) {
if (!enabled) return amplitude;
final double twoPi = 2 * pi;
_phase += twoPi * pulseFrequency / sampleRate;
if (_phase > twoPi) _phase -= twoPi;
final double cycle = _phase / twoPi;
return cycle < dutyCycle ? amplitude : 0.0;
}