extended params

master
Leo Coogan 9 months ago
parent 84aae5aa84
commit f93e5027b1
Signed by: lcoogan
SSH Key Fingerprint: SHA256:vnrR5ilHkdr6L4t2yOMUMINFPpxEh+53N3nMel66mCw

@ -1,13 +1,70 @@
b = Buffer.read(s, "/home/lcoogan/snd/demos/springverb.wav") b = Buffer.read(s, "/home/lcoogan/snd/demos/springverb.wav")
s.prepareForRecord;
s.record("~/snd/releases/desolation-mountain/springverb.wav");
(
s.waitForBoot {
s.record(
"~/snd/releases/desolation-mountain/springverb.wav",
2
);
};
)
s.stopRecording;
( (
{ {
PlayBuf.ar(1, b!2, 1, loop: 1) * 0.3 PlayBuf.ar(2, b, 1, loop: 0) * 0.3
}.play; }.play;
) )
( (
SynthDef(\springverb, { |length = 1, fb = 0.8, sep = 0.012| ~echo = Synth(\springverb, [
\length, TempoClock.default.tempo * (3/8),
\fb, 0.1,
\sep, 0.0014
], addAction: \addToTail);
)
(
~echo.free;
~springverb.free;
)
(
~springverb = Synth(\springverb, [
\decay, 1.8,
\boing, 0.025,
\mix, 0.5,
\tone, 3000,
\drive, 1.2
], addAction: \addToTail);
)
(
~springverb = Synth(\springverb, [
\decay, 1.8,
\boing, 0.025,
\mix, 0.5,
\tone, 3000,
\drive, 1.2
], addAction: \addToTail);
(
~echo = Synth(\springverb, [
\length, TempoClock.default.tempo * (3/8),
\fb, 0.1,
\sep, 0.0014
], addAction: \addToTail);
)
)
(
SynthDef(\echo, { |length = 1, fb = 0.8, sep = 0.012|
var input = In.ar(0, 2); var input = In.ar(0, 2);
var output = input + Fb({ |feedback| var output = input + Fb({ |feedback|
@ -33,12 +90,27 @@ SynthDef(\springverb, { |length = 1, fb = 0.8, sep = 0.012|
}).store; }).store;
) )
( (
~springverb = Synth(\springverb, [ SynthDef(\springverb, { |inBus = 0, outBus = 0, decay = 1.2, boing = 0.03, mix = 0.4, tone = 5000, drive = 1.0|
\length, TempoClock.default.tempo * (3/8), var dry = In.ar(inBus, 2);
\fb, 0.1, var verb, spring, wet;
\sep, 0.0014
], addAction: \addToTail); // Pre-emphasize and drive the input (mimics spring preamp)
) spring = dry * drive;
spring = spring.tanh;
// Simulate springy tail
spring = CombL.ar(spring, 0.1, boing, decay);
spring = AllpassL.ar(spring, 0.1, [0.025, 0.030], decay);
spring = LPF.ar(spring, tone); // darken the tail
spring = spring * mix;
// Mix dry and wet
verb = XFade2.ar(dry, spring, mix * 2 - 1); // Crossfade between dry and wet
Out.ar(outBus, verb);
}).store;
)

Loading…
Cancel
Save