4b_lfo_effects.scd 623 B

12345678910111213141516171819202122
  1. (
  2. // LFO SynthDef with multiple waveform options
  3. SynthDef(\lfoEffect, { |out=0, freq=1, min=0, max=1, waveform=0, target=0|
  4. var lfo;
  5. // Select waveform based on parameter
  6. lfo = Select.kr(waveform, [
  7. SinOsc.kr(freq), // Sine wave (waveform=0)
  8. LFTri.kr(freq), // Triangle wave (waveform=1)
  9. LFSaw.kr(freq, 0, -1), // Decreasing sawtooth (waveform=2)
  10. LFPulse.kr(freq, 0, 0.5) // Square wave (waveform=3)
  11. ]);
  12. // Scale to range
  13. lfo = lfo.range(min, max);
  14. // Output to control bus
  15. Out.kr(out, lfo);
  16. }).add;
  17. "Enhanced LFO effects loaded".postln;
  18. )