‹ chipwave 2nd Fluid Simulator in SuperCollider ›

Feedback Synths

2014-10-12 01:32 supercollider

clean-up: #47

Today I found some old code in my SuperCollider folder that I thought I'd clean up and publish.

Experiments in audio feedback.

s.boot

(
SynthDef(\feedback1, {|freq= 400, amp= 0.1|
  var env= EnvGen.kr(Env.perc(1, 4), doneAction:2);
  var lin= LocalIn.ar(1);
  var src= SinOsc.ar(freq, lin*2pi, amp*env);
  LocalOut.ar(src);
  Out.ar(0, Pan2.ar(src));
}).add;
)
Synth(\feedback1)
Synth(\feedback1, [\freq, 300])
Synth(\feedback1, [\freq, 300, \amp, 0.255])

(
SynthDef(\feedback2, {|freq= 400, amp= 0.1, fb= 2, del= 0.1|
  var env= EnvGen.kr(Env.perc(1, 4), doneAction:2);
  var lin= DelayN.ar(LocalIn.ar(1), 1, del);
  var src= SinOsc.ar(freq, lin*2pi*fb, amp)*env;
  LocalOut.ar(src);
  Out.ar(0, Pan2.ar(src));
}).add;
)
Synth(\feedback2)
Synth(\feedback2, [\del, 0.5])
Synth(\feedback2, [\del, 0.01])
Synth(\feedback2, [\del, 0.01, \fb, 3])
Synth(\feedback2, [\freq, 300, \del, 0.1, \fb, 2.5])

(
SynthDef(\feedback3, {|freq= 400, amp= 0.1, fb= 2, del= 0.1, lfo= 1, rate= 2|
  var env= EnvGen.kr(Env.perc(1, 4), doneAction:2);
  var lin= DelayN.ar(LocalIn.ar(1), 1, del);
  var src= SinOsc.ar(freq+SinOsc.ar(rate, 0, lfo), lin*2pi*fb, amp)*env;
  LocalOut.ar(src);
  Out.ar(0, Pan2.ar(src));
}).add;
)
Synth(\feedback3)
Synth(\feedback3, [\del, 0.5])
Synth(\feedback3, [\del, 0.01])
Synth(\feedback3, [\del, 0.01, \fb, 3])
Synth(\feedback3, [\del, 0.01, \fb, 2, \lfo, 15])
Synth(\feedback3, [\del, 0.01, \fb, 3, \lfo, 100, \freq, 100])
Synth(\feedback3, [\del, 0.02, \fb, 3, \lfo, 100, \freq, 100])
Synth(\feedback3, [\del, 0.5, \fb, 201, \lfo, 200, \freq, 200, \rate, 202])
Synth(\feedback3, [\del, 0.5, \fb, 1, \lfo, 200, \freq, 300, \rate, 0.01])

(
SynthDef(\feedback4, {|freq= 400, amp= 0.1, fb= 2, del= 0.1, lfo= 1, rate= 2, cutoff= 500|
  var env= EnvGen.kr(Env.perc(1, 4), doneAction:2);
  var lin= DelayN.ar(HPF.ar(LocalIn.ar(1), cutoff), 1, del);
  var src= SinOsc.ar(freq+SinOsc.ar(rate, 0, lfo), lin*2pi*fb, amp)*env;
  LocalOut.ar(src);
  Out.ar(0, Pan2.ar(src));
}).add;
)
Synth(\feedback4)
Synth(\feedback4, [\del, 0.5])
Synth(\feedback4, [\del, 0.01, \cutoff, 100])
Synth(\feedback4, [\del, 0.01, \fb, 3, \cutoff, 100])
Synth(\feedback4, [\del, 0.01, \fb, 2, \lfo, 15, \cutoff, 100])
Synth(\feedback4, [\del, 0.01, \fb, 3, \lfo, 100, \freq, 100, \cutoff, 100])
Synth(\feedback4, [\del, 0.02, \fb, 3, \lfo, 100, \freq, 100, \cutoff, 100])
Synth(\feedback4, [\del, 0.5, \fb, 201, \lfo, 200, \freq, 200, \rate, 202, \cutoff, 100])
Synth(\feedback4, [\del, 0.5, \fb, 1, \lfo, 200, \freq, 300, \rate, 0.01, \cutoff, 100])

‹ chipwave 2nd Fluid Simulator in SuperCollider ›