#jamuary jam number 15. I tried a slightly different SuperCollider technique today. I moved the “sequencing” into the SynthDef instead of using the pattern sequencer (Pdef) approach that I’ve used for most of my other SC jams this month.

The SynthDef looks like

SynthDef(\boop, {|
	amp = 0.25,
	pos = 0,

	var env = EnvGen.kr(Env.perc(atk, rel), gate: Impulse.kr(rate));
	var snd = Mix.new([
		LFTri.ar(freq*0.5*1.005, mul: 0.3),
	var trem = FSinOsc.kr(0.05, mul: 0.2, add: 0.5);
	snd = snd * env * amp * trem;
	snd = snd + CombL.ar(snd, 0.5, 0.5, 4, mul: dly);
	Out.ar(out, Pan2.ar(snd, pos));

where the interesting change is the EnvGen definition which uses a series of impulses to trigger the env, so the envelope loops continuously open and closed at the rate given to Impulse. I then create 4 of these to play a chord

Synth(\boop, [\freq, 48.midicps, \atk, 5, \rel, 5, \rate, 0.04, \pos, -0.3]);
Synth(\boop, [\freq, 64.midicps, \atk, 5, \rel, 5, \rate, 0.08, \pos, 0.3]);
Synth(\boop, [\freq, 55.midicps, \atk, 6, \rel, 1, \rate, 0.1]);
Synth(\boop, [\freq, 71.midicps, \atk, 7, \rel, 3, \rate, 0.06]);

each note has a different envelope shape, and rate. For some variation there’s a little “melody” which has some added delay

a = Synth(\boop, [\freq, 74.midicps, \rate, 0.8, \dly, 0.5]);

Some ValhallaVintageVerb (1970s plate) was added in Reaper. I like how this one turned out, and I think it’d be possible to create endless variations and performances by MIDI-mapping the parameters.