nice sounding glitch effects

master
Leo Coogan 7 months ago
parent 93730257df
commit 95a8318553
Signed by: lcoogan
SSH Key Fingerprint: SHA256:vnrR5ilHkdr6L4t2yOMUMINFPpxEh+53N3nMel66mCw

@ -14,7 +14,10 @@ b = Buffer.read(s, "/home/lcoogan/snd/releases/desolation-mountain/01. Crawling
b = Buffer.read(s, "/home/lcoogan/Misc/ametsub.wav");
b = Buffer.read(s, "/home/lcoogan/snd/releases/desolation-mountain/03. Daven That Dark Matter 'Till Harsh Light Slows Sight.wav");
b = Buffer.read(s, "/home/lcoogan/snd/releases/desolation-mountain/daven.stems/3_overhead.wav");
b = Buffer.read(s, "/home/lcoogan/snd/releases/desolation-mountain/daven.stems/2_TripleOscillator.wav"); // use this one on the last one
(
SynthDef(\convolvCrossfade, {
@ -36,10 +39,42 @@ SynthDef(\convolvCrossfade, {
)
x = Synth(\convolvCrossfade, [\mix, 0.0]); // 50/50 blend
x = Synth(\convolvCrossfade, [\mix, 1.0]);
x.set(\mix, 0);
x.set(\mix, 0.5); // Mostly IR B
x.set(\mix, -1.0); // Only IR A
x.set(\mix, 1.0); // Only IR B
// Modulate between the two
(
SynthDef(\convolvCrossfadeLFO, {
var sig, convA, convB, mix;
sig = PlayBuf.ar(1, b, 1, loop: 0, doneAction: 2);
// Run both convolutions
convA = Convolution2.ar(sig, ~irA.bufnum, 512);
convB = Convolution2.ar(sig, ~irB.bufnum, 512);
// LFO modulation for crossfade: -1 to +1
mix = SinOsc.kr(\lfoFreq.kr(0.2), 0); // add \lfoFreq arg
// Crossfade logic as before
// convA = convA * ((1 - mix) * 0.5);
// convB = convB * ((1 + mix) * 0.5);
Out.ar(0, (convA + convB).dup * 0.1);
}).add;
)
x = Synth(\convolvCrossfadeLFO, [\lfoFreq, 0.1]); // very slow modulation
x.set(\lfoFreq, 0.1);
x.set(\lfoFreq, 9); // faster modulation
s.record;

@ -1,6 +1,10 @@
b = Buffer.read(s, "/home/lcoogan/snd/samples/freesound/vocals/ymaaela/attribution/330909__ymaaela__discordant-clip.mono.wav");
b = Buffer.read(s, "/home/lcoogan/snd/samples/freesound/vocals/ymaaela/333264__ymaaela__female-vocal-cut-ups-collage.mono.wav");
// with this
b = Buffer.read(s, "/home/lcoogan/snd/releases/desolation-mountain/daven.stems/raoeu.wav");
w = Wavesets.from("/home/lcoogan/snd/releases/desolation-mountain/daven.stems/raoeu.wav");
b.play;
s.boot
@ -10,6 +14,7 @@ s.boot
// make a wavesets from a soundfile
w = Wavesets.from("/home/lcoogan/snd/samples/freesound/vocals/ymaaela/attribution/330909__ymaaela__discordant-clip.mono.wav");
w = Wavesets.from("/home/lcoogan/snd/samples/freesound/vocals/ymaaela/333264__ymaaela__female-vocal-cut-ups-collage.mono.wav");
w = Wavesets.from("/home/lcoogan/.local/share/SuperCollider/Recordings/SC_250525_194956.wav");
w.dump; // contains mainly analysis data
@ -147,3 +152,24 @@ fork {
/////////////////////////
(
// the simplest synthdef as implented in *prepareSynthDefs:
SynthDef(\wvst0, { arg out = 0, buf = 0, start = 0, length = 441, playRate = 1, sustain = 1, amp=0.2, pan;
var phasor = Phasor.ar(0, BufRateScale.ir(buf) * playRate, 0, length) + start;
var env = EnvGen.ar(Env([amp, amp, 0], [sustain, 0]), doneAction: 2);
var snd = BufRd.ar(1, buf, phasor) * env;
OffsetOut.ar(out, Pan2.ar(snd, pan));
}, \ir.dup(8)).add;
)
Synth("wvst0", [\bufnum, b, \start, 0, \length, 600, \sustain, 4, \playRate, -0.4]);

Loading…
Cancel
Save