Saturator plugins - time vs frequency domain?

VST, AU, AAX, CLAP, etc. Plugin Virtual Effects Discussion
RELATED
PRODUCTS

Post

meloco_go wrote:
lfm wrote:You try to identify what is fundamental frequencies, and add a certain amount of multiples of that frequency(harmonics).
This is a serious misunderstanding of basic math behind DSP. You do not identify fundamental frequencies to add harmonics, any waveshaping process adds harmonics that are related to the frequency content of incoming signal automatically.
Say you have a simple waveshaping function that takes a 3rd power of an incoming signal (y=x^3). What will happen if you use that fuction on a sin(x) signal?
y=(sin(x))^3=(3sin(x)-sin(3*x))/4
You see that sin(3*x) appeared? That is a third harmonic of an incoming signal.

Now, you may think of a processor that would track the pitch (like the Melodyne you mentioned) and generate harmonics based on that. But there is a serious problem with such idea -- the time and frequency domain resolution is inversly proportional (basic math principle), so if you have good resolution to identify frequency precisely your process won't be able to track fast pitch changes correctly, and not even think of something noise like -- like a snare rimshot.
Maybe it's not doable that way I described it - atleast not for realtime processing. For offline rendering maybe.

But your are right - I have no experience with dsp processing. Probably a lot of math in there I have no clue about.

Post

kvaca wrote:
lfm wrote: But identifying what is fundamental frequency of an instruments note, withing polyphonic material you can select what to add, and where. So you can search from even and odd distances from fundamental, and know this is the same instrument - or make assumption. It may be harmonics of another instruments as well - so there is the complexity of polyphonic material - identifying what will be pleasing to ear if adding content. So assumptions of levels at even and odd distances from fundamental can make you distinguish instruments and voices.
My guess is that those that sound good - do it right. The knowhow of this is worth a lot of money.
at least nice idea for whole new generation of saturation plugins...but Im pretty sure it will be very hard - if not impossible - to create such plugins to work in realtime :)
You are probably right about that - not doable in realtime. Offline rendering maybe.

Post

lfm wrote:You are probably right about that - not doable in realtime. Offline rendering maybe.
The problem is deeper than resources. To read pitch precisely you need a lot of information about a signal (wide window), so you either have very poor precision and the harmonics would sound out of tune, or you have a process that can't respond well to a dynamic signal. I guess it may work on some sources, but there remains a question of why would you need it, as there's well established things like Tchebyshev's polynomials that can be applied to generate only a defined number of harmonics.

Post

meloco_go wrote:
lfm wrote:You are probably right about that - not doable in realtime. Offline rendering maybe.
The problem is deeper than resources. To read pitch precisely you need a lot of information about a signal (wide window), so you either have very poor precision and the harmonics would sound out of tune, or you have a process that can't respond well to a dynamic signal. I guess it may work on some sources, but there remains a question of why would you need it, as there's well established things like Tchebyshev's polynomials that can be applied to generate only a defined number of harmonics.
so - theoretically - the only solution would be 2 way intelligent system - in 1.pass it will handle only noisy transients with emphasis on time domain...and in 2.pass it will handle the rest /tonal content/ with emphasis on freq.domain...

off course it cannot work realtime...

Post

kvaca wrote: off course it cannot work realtime...
But still - what is realtime these days?

Loading Waves Tune or Waves L3 there is 3000ms latency reported to host!!!
You can almost take a coffee break waiting for the sound to arrive, once pressing play. :wink:

Post

kvaca wrote:so - theoretically - the only solution would be 2 way intelligent system - in 1.pass it will handle only noisy transients with emphasis on time domain...and in 2.pass it will handle the rest /tonal content/ with emphasis on freq.domain...
May be, but what for? Nica analog gear we all rave about certainly does not work that way.

Post

meloco_go wrote:
kvaca wrote:so - theoretically - the only solution would be 2 way intelligent system - in 1.pass it will handle only noisy transients with emphasis on time domain...and in 2.pass it will handle the rest /tonal content/ with emphasis on freq.domain...
May be, but what for? Nica analog gear we all rave about certainly does not work that way.
for what? dont know...maybe for lowering IMD or aliasing, who knows...,becouse every time I try new saturation /or guitar amp/ modelling plugin Im still not satisfied with amount of IMD and aliasing it creates when driven hard...it simply prevents me from using it for more than just short testing :(

Post

Very interesting discussion folks - as I mentioned earlier I'm a layman on a journey, still learning about the pieces of dsp that I want & need to articulate thoughts, etc.

Right now I'm really here, although the discussion has gone way beyond...nice :tu:
Gamma-UT wrote: Saturation is really just a means to an end: getting higher frequency harmonics into a signal. It does this by simply flat-topping a waveform - sine goes squarish, which adds loads of odd harmonics. Other types of waveshaper will give rise to other harmonics.
The part about saturation that I'm looking at right now is the amplitude control at any given point in time at whatever frequency(s) happen to be in the sample buffer of the vst plugin (time domain). Having harmonics and overtones and 'inflation' is an added bonus, a nice secondary affect after the amplitude control. To better control the saturation of a 'band' of frequencies we have multi-band saturators such as Melda Multiband Saturator, or I could try and make one using routing tools like DDMF Meta with a crossover assuming the phasing holds up (still time domain).

My thought earlier was wouldn't it be nice (from a end user control UI point of view) if I could simply draw a curve or adjust points over a GUI with a frequency spectrum to adjust the saturation a la Melda FFT Spectral compressor (draw curve), or Nugen FFT EQ SEQ2 (adjust points), or Voxengo CurveEQ FFT EQ, Ozone EQ, Reaper ReaFir EQ/Dynamics, SPL DSM, or PSP Neon FFT EQ, all of those work using FFT (and or some secret combination of both time/freq). The reason I say those use FFT (frequency domain) is because either the manual says so or there is an adjustment where I can set the FFT size to 512, 1048,...8192, etc.

My problem [one of them anyway] is that dynamics processing with a fft/fir based plugin usually sounds fairly grainy to my ears. I think the eqs sound fine.

So for my ears time domain saturation sounds nice, frequency domain dynamics sounds like hell (usually), and I wasn't sure if it was possible to get frequency domain saturation happening...
Gamma-UT wrote: But, to meloco_go's point, I think in the frequency domain at this point we've pretty much lost touch with the idea of 'saturation' - it's just homing in on the harmonics there.
I guess now I can see that maybe that it is not likely/possible to be able to perform saturation via waveshaping in the frequency domain.

After hearing you guys talk about it I'm able to focus on a few key areas for my own enlightenment. Otherwise I would have been able to state this question clearer earlier. My dsp journey continues... :)

So where were we...back to it!

Post

there is spectral clipping in spec ops, thats the only effect i know that does this, hopefully therell be more in the future, its useful for distorting chords without interdistortion between the notes

or there are synths that can add harmonics to a sound that is resynthesised with fft

Post

what a f**king necro, bravo
Image

Post

oh shit i just googled it and think i didnt even realise its 10 years old

Post

that's how necros usually happen :D
Image

Post

Could’ve at least waited to Dec 30 for the full ten years! ;)

Post

It's a good layman's discussion about time vs frequency domain, though.
Seek out meloco_go's posts.
THIS MUSIC HAS BEEN MIXED TO BE PLAYED LOUD SO TURN IT UP

Post Reply

Return to “Effects”