3_effects_synthdefs.scd 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. (
  2. // Simple reverb effect
  3. SynthDef(\reverb, { |in=0, out=0, mix=0.3, room=0.5, damp=0.5|
  4. var sig, wet;
  5. sig = In.ar(in, 2);
  6. wet = FreeVerb.ar(sig, mix, room, damp);
  7. Out.ar(out, wet);
  8. }).add;
  9. // Delay effect with feedback
  10. SynthDef(\delay, { |in=0, out=0, delaytime=0.5, feedback=0.5, mix=0.5|
  11. var sig, wet, delayed;
  12. sig = In.ar(in, 2);
  13. delayed = CombL.ar(sig, 2.0, delaytime, feedback * 3);
  14. wet = (sig * (1 - mix)) + (delayed * mix);
  15. Out.ar(out, wet);
  16. }).add;
  17. // Low-pass filter effect
  18. SynthDef(\lpf, { |in=0, out=0, cutoff=1000, res=0.5|
  19. var sig;
  20. sig = In.ar(in, 2);
  21. sig = RLPF.ar(sig, cutoff, res);
  22. Out.ar(out, sig);
  23. }).add;
  24. // High-pass filter effect
  25. SynthDef(\hpf, { |in=0, out=0, cutoff=1000, res=0.5|
  26. var sig;
  27. sig = In.ar(in, 2);
  28. sig = RHPF.ar(sig, cutoff, res);
  29. Out.ar(out, sig);
  30. }).add;
  31. // Distortion effect
  32. SynthDef(\distortion, { |in=0, out=0, amount=0.5, mix=0.5|
  33. var sig, dist;
  34. sig = In.ar(in, 2);
  35. dist = (sig * amount).tanh;
  36. Out.ar(out, (sig * (1 - mix)) + (dist * mix));
  37. }).add;
  38. "Effects SynthDefs loaded".postln;
  39. )