Sound Design Feedback Thread, Dec. 2023

i have created these coloured noise impulses by using PV_MagDiv and the single side band PM from this thread and nathans Hasher approach for creating deterministic noise. But im currently a bit limited in getting different timbres out of this beside changing the modulational index (with MouseX here). I have tried to put it into a Non Linear Filter for more variation but thats not adding alot, does somebody has other ideas for more timbral variation?

(
var randomPhase = { |triggerRate, randomness|
	var minDuration = (2 ** randomness) / triggerRate;
	var maxDuration = (2 ** (-1 * randomness)) / triggerRate;
	var demand = Dunique(minDuration * ((maxDuration / minDuration) ** Dwhite(0, 1)));
	var duration = Duty.ar(demand, DC.ar(0), demand);
	var phase = Phasor.ar(DC.ar(0), SampleDur.ir / duration, 0, 1);
	(phase: phase, trigger: (HPZ1.ar(phase) < 0) + Impulse.ar(0));
};

var channelMask = { |trig, numChannels, channelMask, centerMask|
	var rate = if(trig.rate == \audio, \ar, \kr);
	var panChannels = Array.series(numChannels, -1 / numChannels, 2 / numChannels).wrap(-1.0, 1.0);
	var panPositions = panChannels.collect { |pos| Dser([pos], channelMask) };
	panPositions = panPositions ++ Dser([0], centerMask);
	Demand.perform(rate, trig, 0, Dseq(panPositions, inf));
};

var raisedCos = { |phase, index|
	var cosine = cos(phase * 2pi);
	exp(index.abs * (cosine - 1));
};

var singleSideBandPM = { |carrPhase, modPhase, index|
	var raisedCosWindow = raisedCos.(modPhase, index);
	var mod = sin(modPhase * 2pi);
	var carr = sin(carrPhase * 2pi + (mod * index));
	carr * raisedCosWindow;
};

SynthDef(\pv_magDiv, {

	var numChannels = 5;

	var tFreq, trig, phase, randomTrigPhase, inA, inB, chanMask, chainA, chainB, chain, sig;
	var modPhase, randomModTrigPhase;

	tFreq = \tFreq.kr(100);

	randomTrigPhase = randomPhase.(tFreq, \randomnessA.kr(1));
	randomModTrigPhase = randomPhase.(tFreq * MouseY.kr(1, 10), \randomnessB.kr(1));

	trig = randomTrigPhase.trigger;
	phase = randomTrigPhase.phase;

	modPhase = randomModTrigPhase.phase;

	inA = Hasher.ar(phase);
	inA = inA * IEnvGen.ar(Env([0, 1, 0], [0.001, 0.01], [4.0, -4.0]), phase);

	inB = singleSideBandPM.(phase, modPhase, \modIndex.kr(10));

	chanMask = channelMask.(trig, numChannels - 1, \channelMask.kr(1), \centerMask.kr(1));

	chainA = FFT(LocalBuf(2048), inA, hop: 1 / 16);
	chainB = FFT(LocalBuf(2048), inB, hop: 1 / 16);
	chain = PV_MagDiv(chainA, chainB);
	sig = IFFT(chain);

	sig = (sig * \boost.kr(3.dbamp)).tanh;

	sig = PanAz.ar(2, sig, chanMask * \panMax.kr(0.4));

	sig = sig * Env.asr(0.001, 1, 0.001).ar(Done.freeSelf, \gate.kr(1));

	sig = sig * \amp.kr(-15.dbamp);

	sig = LeakDC.ar(sig);
	OffsetOut.ar(\out.kr(0), sig);
}).add;
)

(
Routine({

	loop{

		s.bind {

			~pvMagDiv = Synth(\pv_magDiv, [

				// custom phase
				\tFreq, 24,
				\randomness, 1,

				// amp & outs
				\amp, -15.dbamp,
				\out, 0,

			]);

		};

		rrand(2, 5).wait;

		~pvMagDiv.set(\gate, 0);

		rrand(2, 4).wait;

	};

}).play;
)

EDIT: these releases are a nice inspiration for this kind of sound: