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])