A starting point to start experimenting with non-standard synthesis?


I’ve been interested in non-standard synthesis for a couple of years. Specifically in what would sound if you create an empty buffer and manually give amplitude values to every sample -let’s say, for a very simple example, giving random values between -1 and 1 to every sample of the 44100 that integrate that one second of sound-.

I’ve been trying to research about this, find tutorials or practical theory and I wasn’t lucky to find any.

Is someone currently experimenting with this kind of techniques and willing to share the very basics of it?


Have you looked at wavetable synthesis?

Also, random number would just be white noise.

s.waitForBoot {
	var buf = Buffer.loadCollection(
		(s.sampleRate * 1).collect( {-1.0.rrand(1.0)} ) 
	{ BufRd.ar(1, buf) }.play

I’ve never got deep into wavetable, but for the little contact I’ve had with it, I was not able to apply it to this use I refer to.

Yes, I know it would be white noise, it was just an example to simplify. My idea is to try a lot of different distributions to get noisy sounds with different textures, I’m not aiming for anything tonal or clear, just for different noises.

I’ve tried to evaluate the code, and I don’t manage to make it sound. If the server is not booted and I evaluate everything, the server boots and then the post window sends an error: “ERROR: Message ‘collect’ not understood.”
If the server is already booted and I evaluate the code, the error does not happen, but it does not sound anyway, the post window just says: → a Function

Maybe there is something basic I’m missing, sorry if that is the case.

Thanks a lot!

in this post you find some stochastic synthesis examples using DemandEnvGen:

here are some resources:

but this is just one branch of non-standard synthesis.
@nathan at some point did a summary of some of these techniques on his blog:


I while ago I did this noise cloud generator which might serve as inspiration. Other ideas: scramble signals with FFT tools, granular synthesis, FM-synthesis with extreme settings, like index-of-modulation = 4000.

SynthDef(\clouds, {
	var num = 10;
	var dur = \duration.kr(1/6);
	var sig = num.collect{
		var freq = Rand(30, 5000) * SinOsc.kr(LFNoise1.kr(dur).range(30, 1000), 0, LFNoise1.kr(dur)
			.range(0.01, 8)).midiratio;
		var sig = Select.ar(LFNoise0.kr(dur).range(0, 2).round,
			[SinOsc.ar(freq, 0, 0.3), Saw.ar(freq, 0.3), Pulse.ar(freq, 0, 0.3)]);
		var filtFreq = Rand(30, 1000) * LFNoise1.kr(dur).range(1.0, 5.0);
		var filt = Select.ar(LFNoise0.kr(dur).range(0, 2).round,
			[LPF.ar(sig, filtFreq), HPF.ar(sig, filtFreq), BPF.ar(sig, filtFreq)]
		sig = CombL.ar(filt, 0.5, LFNoise1.kr(dur).range(0.02, 0.5), rrand(0.3, 2));
	var env = Env.perc(\atk.kr(0.02), \rel.kr(6), 1, \cur.kr(-4)).ar(2);
	sig = Splay.ar(sig); // nb! levelComp: true, so if removed signal will be extremely loud!
	sig = LPF.ar(sig, 2000);
	sig = FreeVerb2.ar(sig[0], sig[1], LFNoise1.kr(dur).range(0, 1.0), LFNoise1.kr(dur).range(0.2, 2));
	sig = sig * env * \amp.kr(1);
	Out.ar(\out.kr(0), sig)

Synth(\clouds, [\atk, rrand(0.01, 2), \rel, rrand(1, 6.0), \duration, rrand(0.01, 1)]) 
// run it several times, the outcome is highly random

I’ve written many blog posts on nonstandard synthesis.

I don’t know what your experience level with synthesis is, but as I’ve matured as a sound designer, I increasingly just use subtractive for everything, even for my most out-there sounds. You should definitely experiment with non-standard synthesis, but be careful not to leapfrog over the basics either. “Standard” synthesis is extremely powerful.


the first coffee you probably drink is filter coffee at your parents house, then you do some fancy flat white journeys and for god sake decaf matcha latte and end up with filter coffee again but it might taste different.


That is really useful! Looks like a very good starting point, thanks a lot!

Thanks a lot, it sounds really interesting. I’m going to investigate this kind of techniques for some weeks, I will tell you and share if something inspired on this comes up!

Thanks a lot Nathan! That is a great and complete guide. It will discover me other methods of nonstandard that I didn’t know about.

And yes, this interest in nonstandard comes after some years working just with substractive, additive, etc… I’ll probably come back to standard soon, but hopefully with some fresh new ideas. :slight_smile:

That is exactly it, hahahaha

Maybe also fun to watch:

If you are interested in an incredible example of physical synthesis…

perhaps not the most practical for most supercollider users, but very cool!

1 Like