Non-LTI Distortion

Hey All,

Question for any distortion twiddlers out there.

I’ve created a custom waveshaper I quite enjoy, and it’s sounding great, however, I’d love to add mono / stereo mode to the distortion, so that users had the option to add width to their sound through parallel vs mono processing.

I imagine that this would mean there would need to be some sort of seed into the system which created some sort of non-linearity in the processing to create phase differences between the left & the right channel, but I’m not positive.

Anyone have any good suggestions on what those mono / stereo buttons are doing? : )

Currently, my waveshapers will always output the same output for a given input, I imagine adding randomness will just generate noise… is there a smart way to create this non-linearity in distortion which is more standard / accepted?

Is the input already stereo, or do you need to create a stereo signal to begin with?

If it’s already stereo, you could add mid-side processing (see e.g. here: For example, if you distort the side signal more than the mid signal, that might create a nice stereo width. But that won’t work with a mono signal.

If the input is mono, you could try distorting the mono input and then using it as a side signal together with the input as mid signal. Haven’t tried something like that, but it could be cool!

You are talking about non-LTI Distortion, however while distortion is time invariant it is always a non-linear processing, so there is no such thing as LTI-distortion. I would say a distortion algorithm is the easiest example for a non-linear algorithm.

There might be just a confusion in wording you use. So could you describe better what you mean by adding some sort of none-linearity to your distortion?

Actually, EQ counts as linear distortion, as no new frequencies are added to the signal. Whereas non-linear distortion adds new frequencies.

Alright, didn’t think about this term. However as he says

so I strongly believe that this topic is about non-linear distortion which I would guess is what most people think of first if you mention a distortion effect.

Ahh Okay I see,

Yeah that is a wording problem on my end. I was under the impression that the LTI meant in stupid simple terms, the same input will always produce the same output, regardless of time in the system.

Apparently I’m incorrect in my understanding of that. Suits me right for trying to sound smart!

Essentially, what I really mean, is, what are the techniques on distortion so that the same input doesn’t always produce the same output.

Using the example of a mono input split stereo and passed through two distortions, unless there is some variances in the response of the distortion, the output will come back in phase on the left & right channels. Essentially this means, that the signal can be summed back down to mono & no width was added.

What I’m interested in are techniques for distortion, which will not yield the same results for every sample, so, if a mono signal was split stereo, & processed left & right, the resulting signal would have width added to the new unique mid/side information.

Does that make sense?

For example in Ableton, the mono vs stereo in their amp module.



You could attempt measuring what that is doing in the mono-to-stereo mode. (Maybe just slightly different transfer curves for the left and right output channels?)

1 Like

That is a great idea! I wonder if a width knob, which changed the curves between the left & right more or less would generate more or less width : D

I feel like there’s still a bit of confusion about LTI systems and their uses here…

LTI means “Linear Time-Invariant” and like you already correctly said, your distortion is time-invariant (not linear though). Now it sounds like you want to create a time-variant algorithm to distinguish the two signals. However, in order to create a different distortion for your left and right channel, you wouldn’t need to have a time-variant algorithm, but simply alter the distortion for one channel slightly.

You could try filtering one channel through an allpass filter before you feed it into your distortion. This filter (LTI btw :wink: ) doesn’t change the frequency amplitudes of your signal, but the phases only.

I don’t know what kind of distortion you’ve implemented, but let’s say for a simple overdrive an allpass would delay different frequency phases differently. Hence, your signal will have different peak locations, which in turn will be cut differently. This should result in a (slightly) different distortion effect. You could even add a dry-wet control for the allpass to control the strength of the effect.

Same applies for the mid/side-processing mentioned above. It might even be enough to tweak the internal parameters you use for your algorithm slightly for one channel only.


@Jake_Penn, not sure what you’re exactly trying to do, but for stereo interest you could just add a delay between the two channels, maybe with different frequency bands delayed different amounts. Randomness won’t add noise to the signal if it is low frequency, so just low-pass filter a noise source and use that. Think of it more like a hand randomly turning controls than something that would degrade the signal!

1 Like