FM_pulsar by Rustamoff (modified version)

I’ve been studying some patches by Alik Rustamoff. His work is incredible, and I’ve learned a great deal from his ideas.

//1.
(
SynthDef("fm_pulsar",{

	var a,e,f;
	var t, overlap, carfreq, modfreq, mInd, vel, vel_;

	f = \freq.kr(250);
	f = f + SinOsc.ar(LFNoise1.kr(0.6!2).range(3,6));

	vel = \vel.kr(0.6);
	vel_ = vel.clip(0,1.0).linlin( 0, 1, 2.5, 0.75);

	e = EnvGen.kr(
		Env.adsr(
			\att.kr(2.5) * vel_,
			\dec.kr(0.03) * vel_,
			\susl.kr(0.85),
			\rel.kr(6.0),
			curve: \curve.kr(-3.5)
		),
		gate: \gate.kr(1),
		doneAction:2
	) * vel;

	carfreq = f * \cf.kr(2.5) + LFNoise1.kr(3.5).range(0,55);
	modfreq = carfreq * \mf.kr(2.5) +  LFNoise1.kr(3.5).range(0,110);

	t = Impulse.ar(f);
	mInd = e.pow(3.5) * LFNoise2.kr(5.5!2).range(\mIndMin.kr(0.15),\mIndMax.kr(2.5));
	overlap = 1.15 - e.pow(0.55) * LFNoise1.kr(0.35!2).range(\olapMin.kr(1.5),\olapMax.kr(8.5));
	d = overlap/f;

	a = Mix([
		SinOsc.ar(f),
		GrainFM.ar( 1, t, d, carfreq, modfreq, mInd ),
	]);

	a = LeakDC.ar(a * e) ;
	a = BLowPass4.ar(a, 1350, 1.0);
	Out.ar(\outBus.kr(0), a * \gain.kr(0.15));

}).add
)
//2.
(
~reverbBus = Bus.audio(s, 2);
Ndef(\reverb).set(\inBus, ~reverbBus);
)
//3.
(
	Pbind(
		\instrument, \fm_pulsar,
	    \dur, Pseq ([0.15, 0.9], inf),
		\degree, Pseq([0,4,6,8,10,12].scramble, inf),
		\octave, Pdup(3, Pseq([4,5,6], inf) ),
		\vel, Pdup(6, Pseq([ 0.25, 1.05, 1.3 ].scramble, inf)),
		\cf, 8/7,
	        \mf, 4/3,
	        \mIndMax, 2.25,
		\outBus, ~reverbBus
	).play;
)
//4.
(
Ndef(\reverb, {
	var in, a, n;

    in = In.ar(\inBus.ir, 2);
	a = in;

	n = 3;
	n.collect { |i|
		a = AllpassC.ar(
			a,
			delaytime: LFNoise1.kr(0.035!2).range(0.015 , 0.025 * (i+1)),
			decaytime: (i+1.5)
		).tanh
	}.mean;

	Mix([
		in * LFNoise1.kr(3.5).range(0,1),
		a * 0.55
	]);


}).play;
)
7 Likes

Sounds really nice and some characters:)

agreed! sounds awesome and seems like I need to do some homework on Rustamoff - great stuff