You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
scd/live/granular_EF-edit.scd

113 lines
2.1 KiB
Plaintext

// TODO: connect MIDI CC knobs to an array of defined pos, also connect amp, possibly rate though probably not
(
b = Buffer.read(s, "/home/lcoogan/snd/live/2025-04-26.Basic_City_Brewery/granular/Cantorial/Cantor_Samuel_Malavsky_Zechor.wav");
(
SynthDef(\cantorial_tremolo, { |out, pan = 0, dur = 0.1, atk=0.3, dec=0.4, sus=0.1, rel=0, amp=1, crf=1100|
var sig, rate, env, filter;
env = EnvGen.ar(
Env.new(
[0, 1, 1, 0],
[atk, dec, sus, rel],
),
gate: 1,
doneAction: 2
);
sig = GrainBuf.ar(
numChannels: 2,
trigger: Impulse.kr(10),
dur: dur,
sndbuf: b,
rate: 1,
pos: 0.1,
interp: 2,
pan: pan,
envbufnum: -1,
maxGrains: 512
);
sig = sig * env * amp;
filter = MoogVCF.ar(sig, crf, 0.3);
Out.ar(out, filter);
}).play;
)
)
(
// Becoming satisfactory granular synth
b = Buffer.read(s, "/home/lcoogan/snd/live/2025-04-26.Basic_City_Brewery/granular/Cantorial/Cantor_Samuel_Malavsky_Zechor.wav");
(
SynthDef(\cantorial_trill, { |out, pan = 0, dur = 0.5, atk=0.3, dec=0.4, sus=0.1, rel=0, amp=1, crf=1000, grainRate=5|
var sig, rate, env, filt;
env = EnvGen.ar(
Env.new(
[0, 1, 1, 0],
[atk, dec, sus, rel],
),
gate: 1,
doneAction: 2
);
rate = (note.midicps / 60.midicps);
sig = GrainBuf.ar(
numChannels: 2,
trigger: Impulse.kr(grainRate),
dur: dur,
sndbuf: b,
rate: rate,
pos: 0.01,
interp: 2,
pan: pan,
envbufnum: -1,
maxGrains: 512
);
sig = sig * env * amp;
sig = LPF.ar(sig, crf);
Out.ar(out, sig);
}).play;
)
)
(
// IMPORTANT!
b = Buffer.read(s, "/home/lcoogan/snd/live/2025-04-26.Basic_City_Brewery/granular/Cantorial/Acheinu_Kol_Beit_Israel.wav");
(
SynthDef(\cantorial_reed ,
{
arg amp = 0.3, pan = 0;
var sig;
sig = GrainBuf.ar(
numChannels: 2,
trigger: Dust.ar(40),
dur: 0.8,
sndbuf: b,
rate: 1,
pos: 1.25, // 1.25, 1.20
interp: 2,
pan: pan,
envbufnum: -1,
maxGrains: 512
);
sig = sig * amp;
Out.ar(0, sig);
}).play;
)
)