Sound Design Feedback Thread, Dec. 2023

I guess the effect of reverb also depends on the space in which a piece is played. In headphones, a big reverb can sound great, but in a large reverberant place (say: a cathedral) it might interfere with the natural reverb to create a muddy result.

Yes, and on the style of the source material. In that clip, I was looking for material that would make sense with an exaggerated reverb, and since you mention a cathedral, it would make sense in that space too. The artificial reverb + cathedral reverb probably wouldn’t destroy it too much either (though if I were producing it for a large space, I would cut back the digital reverb).

hjh

dont roast me for this one, i just made a quick jam with the additional exponential FM. It definetely can give you the “buffer scratching” vibes from the second reference without using any buffered audio.

1 Like

I particularly dig the sudden downward sweeps near the beginning, an almost kick-drum like sound. I’d suggest you really lean into those as this develops.

1 Like

I much prefer real voices

image

1 Like

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:

This is not a direct technical suggestion, but I think Richard Scott touches exactly the core of the issue in this clip. And he is an absolute master at doing this. Whatever electronics sound, we can never abstract the real world, don’t get into this trap. I think you could find techniques that consider designing the sound with an acoustic resonance, with “gravity” (as he said in the clip), etc… as if it hitting a material (even nonexistent), or it is influenced by the “wind”, he put well in few words

1 Like

what do you exactly mean by that in relation to the snippet / code / question i have shared?

I wrote it above. I gave two examples. For example, give these short sounds some “familiarity”, for example some kind of resonance, or gestural rhythm.

okay, and your suggestion to the snippet i have shared is what?

Your snippet has a lot of things, but the resulting sound is lacking those aspects, that is exactly what you’re missing. It can be a a million different things.

I mean, it’s not pure mathematics, we’re actually talking aesthetics here…

and how would you change it, that its not lacking those aspects?

I was hoping that you understood the more fundamental thing i tried to share. That’s why I quoted another musician. Sorry if I failed to communicate. I will take another look later and write more

how would you translate this more fundamental thing into code?

@dietcv, it’s a very complicated question because it depends of your aesthetics. I will take another look later and try something.

For example, I would imagine you’re trying to do something raw like Koenig works, like Terminus. There are many techniques that you could use to create variety.

it doesnt have to fit my aesthetics im glad to see other approaches.

have read his book: Gottfried Michael Koenig: Process and Form: Selected Writings on Music

Im from Cologne man, near the office im working is one church which plays stockhausen every day on noon.

1 Like

Interesting patch! On the mixing end — even when I compare to Yasunao Tone’s Solo for Wounded CD and Ryoji Ikeda’s Dataplex, the high end you’ve got here is pretty extreme. I’d try turning down the highs a bit with a shelving filter. Something that I like on extra prickly sounds is cascades of low-order allpass filters, or really just any kind of filtering with a nonlinear phase response. Phase responses for low-order IIR filters aren’t that significant for most sounds, but for these ultra-sharp pins and needles, it can make a big difference. Basically just take this phaser patch using FOS, but the wet signal only & without modulation, and maybe do like 10-20 allpass filters. (You don’t need to have this effect on at all times or for all elements.)

Regardless of your mixing doctrine, to make this less of a texture and more of a piece, the main thing I’d consider is having more discrete events. A simple way to do that is to underscore some of the sudden changes with distinct transients. Not “drums” in the drum-machine sense, but just “percussion” of some kind, and with the right tuning it can meld beautifully with what you have here.

1 Like

Maybe a slightly different filter for each grain. For example, when you tap with some material on a surface, each contact has a different resonance. Otherwise, it will be treated like blocks of materials (in a way, like Koenig did at the time, which is just another option too).

1 Like

thanks, i was also thinking of the allpass filter phase rotation we have once discussed Kilohearts Disperser - Magic All-Pass Filter .i guess i will make a piece of this combined with the squeaky saw FM stuff i have shared above. But currently trying to formulate an aesthetic which is primarily based on abstract sounds.

EDIT: the Yasunao Tone’s Solo for Wounded CD is awesome!!!