Frequency2/ StudioEQ automation issue

I see. I use circular control thus more precise without modifier.

I think this is about automation though, right? The issue I’m talking about you can see by just having a couple of automation points and having a straight line/ramp between them increasing or decreasing and then playing back that filter sweep.

So has nothing to do with “circular control” or “modifier”.

But perhaps my issue is different than the one in this thread.

Hmm, I understood. I agree that the display is a bit coarse in lower frequency maybe it is something to do with FFT’s window size which should be separated from the curve. But it’s not that big like a quantized semitone.

The sound comes out is a smooth sweep, I checked it with pink noise, soloing the band (sidechain, since the normal solo doesn’t react to automation). This way you can hear the sweep automation soloed as narrow bpf.

Also, the knob isn’t quantized to a chromatic scale, it is very precise. The text frequency label only has 1Hz precision but with circular control, there are positions between 1Hz on lower frequencies. You can also smoothly transition between 2 notes by dragging the knob or by automation as seen on this screen shot.


Takashi was faster than me.

1 Like

Is it possible that “Linear Phase” is enabled for the LPF that is being automated? I can definitely hear some artifacts in LP mode for the filters in an automated sweep with noise as a signal source. Some kind of fluttering, and it is buffer size dependent, so no sample accurate automation here (despite SB always mentioning sample accurate automation as one of the benefits of VST3 :wink: ).
You can see the artifacts in the spectrum diagram, too:
image

Switch to minimum phase, and it is much smoother.
High quality Equalizers (like Acon Digital Equalize) manage to automate even LP filters a lot smoother, though probably at the expense of more cpu cycles… but then I would question the need for doing a filter sweep with linear phase, tbh…

Hello
Have you tried using the pre filters on the channel EQ? Even with Pro Q3 I can hear the steps. For me the smoothest was the bx_cleensweep or UAD Cambridge EQ.
Usually the channel filters does the job for me just make sure you switch the EQ/filter trasitions from soft to quick in the mixconsole.
If you still hear it you should change the buffer on your audio device and see if it changes.

Thank you for the reply and effort. I am unable to replicate the smoothness unfortunately. I was wrong to say it is quantised to chromatics, it far lesser than that but yet present.

Hello, I do not have Linear Phase enabled. just good ol minimum phase. definitely no sample accurate automation. my buffer is at 128 samples. im using a RME babyface. I tired various buffer settings on a new project and it did seem to change bit, but it did not go away. as you rightly mentioned, bx_cleansweep has much better results.

Guys, this isn’t an automation issue at all.

The polling rate of the band controls in Channel Strip, Frequency and StudioEQ is very slow compared to other third-party plugins, this can be verified by simply moving the control with the mouse, there’s no automation needed.
Also this isn’t just limited to the Freq controls, but also Q and Gain, so saying that it is quantized to the chromatic scale doesn’t make any sense…
I just want to add that the Buffer Size, Sample Rate and ASIO Guard don’t play any role in this, the polling rate is hard coded that way, it is not influenced by the settings… This doesn’t have to do with Linear or Circular Knob Mode either…

The purpose of this is to reduce the CPU usage. When plugins are loaded, all their controls are fetched in real time, even when the playback in on Stop position, so having a polling rate of 50ms (20 times per second) instead of 10 ms (100 times per second) requires 5 times less CPU instructions, but since the values are refreshed less often this creates audible jumps.
Generally, equalizers are just set an forget, so you don’t need such extreme polling rates. Perhaps Steinberg didn’t expect users to make LPF sweeps with it…

The resolution of the automation on the other hand, is 32 bit (or maybe 64) so it actually has billions of values, this high resolution is purely limited by the plugins/controls themselves. (I don’t have the exact resolution, but anyways, since the automation is sample-accurate “ready”, it has to be higher than the sample rate itself, so for 192 kHz which is Cubase maximum SR, it must be at least 18 bit).

Additionally, the “sample-accurate automation” added in Cubase 12 is only for the volume faders, it means that the polling rate of the faders has been increased so that every single sample can be affected individually by the volume change when using ramp curves.

Channel Strip :
Very slow polling rate (same as Frequency Linear Phase, but without the clicks)



Frequency :
First image (Minimum Phase) : Slow polling rate (faster than Linear Phase and quieter clicks)
Second image (Linear Phase) : Very slow polling rate (but with much louder clicks – these clicks are inherent to the Linear Phase nature or the filters)



PA bx_cleansweep Pro :
Much smoother (we can still see some stairs but not really noticeable to the ear)



Waves OneKnob Filter :
Extremely smooth (cannot be smoother than this)
First image has resonance set to None, second image set to Extreme.

4 Likes

I still think this is somehow buffer size dependent, how else would explain the following differences (same loop with white noise, exactly the same automation data, Frequency 24dB LPF in LP phase mode, same settings in supervision):
image

image

The artifacts are definitely further apart with the higher buffer size.

Not sure what you mean with “polling rate”. The changes for a given parameter are provided by the host with each processing call together with the sample buffer, doesn’t matter whether it comes from the GUI or automation. The plugin’s dsp code can then choose whether it applies the automation data per sample (usually not, because computationally expensive) or in whatever way (e.g. plugins have been using smoothing between parameter points since VST2 days…).
(see Parameters and Automation - VST 3 Developer Portal),

Whatever it is in the end, the result is clear: don’t use Steinberg equalizers for filter sweeps :grin:

Oh boy, we should be making music instead of wasting time on buggy, sorry, ‘works as designed’ plugins :wink:

2 Likes

Quoted from your link :

The need to perform all transformations, from the normalized GUI representation to the DSP representation, produces some overhead. Performing sample accurate automation requires even more overhead, because the DSP value must be calculated for each single sample. While this cannot be avoided entirely, it is the choice of the plug-in implementation how much processing time to spend on automation accuracy. The host always transmits value changes in a way that allows a sample accurate reconstruction of the underlying automation curve. The plug-in is responsible for the realization.

The automation always sends value faster than the sample rate, allowing parameters to use very fast polling rates for better quality.
It’s the plugin that actualize the value at its own rate, this is what I call the polling rate. If the DSP “reads” the value received from the automation every 100 ms, at 48 kHz a block of 4800 samples will be processed with the same parameter value, until the automation value gets read again, hence the audible jumps.

The black circles and blue line is the automation curve as it appears visually on your automation lane. The Processing Block (grey circles) is the interval at which the plugin or DAW parameter fetches the automation.
Again, this isn’t just limited to the automation, the Processing Block is also taking effect when tweaking the parameter by hand, and even when the project isn’t playing.
It’s up to the plugin manufacturer to set the size of the Processing Block (or polling rate, whatever you call it), this is simply one line in the VST code that can be set however they see fit.

If you want a better representation, AD converters convert an analog signal (high resolution) into a digital signal (low resolution). When the analog signal passes through the converter, this latter takes snapshots of the voltage at fixed intervals in order to reconstruct the signal. That’s what we call the sample rate, the faster it is, the better the quality.

Here for daw/plugins parameters, it is exactly the same thing, the automation is the high resolution signal, the parameters take snapshots of this signal at fixed intervals, then the audio signal is processed with that parameter value for the duration of the interval.

I can’t do a better explanation :sweat_smile:

Works as designed but not so good :laughing:

1 Like

@Louis_R & @fese

Waaaaaooowww!!!
Thank you so very much for your detailed explanations & documentations of this subject.
I really do understand a lot better now what the “issue” or rather limitation is.

I guess I will avoid native plugins for things such as filter sweeps, although I fail to understand why SB would not allow it to be done, they should make a plugin specifically for sweeps or have frequency go into hi-res mode, frequency has liner phase mode which is latency inducing why not have a hi def mode too?

if I would have been complaining about some feature buried deep down somewhere which 2% of the users actually use I would have given them the benefit of oversight, but a smooth filter sweep is quite an essential thing overall I would say.

I am not marking the “solution” box as I feel this is a workaround rather than a solution.
Hope SB does something about this.

1 Like

Steinberg has a relatively low “poll rate” in many if not all their plugins. It is not just the EQs.
Of course the reason for this is to reduce CPU payload. I agree a switch to toggle between “economy” and “hi resolution” mode would be nice for certain plugins.
In the meantime, see if you can use the coarse resolution as inspiration to maybe create an exagerated “steppy” EQ sweep. Maybe it sounds cool. You know, like a vocoder doesn’t sound like a human voice but still nice somehow. Don’t forget to mention me on your Grammy award speech :slight_smile:

For me is working as it should, smooth transition using a 24dB cut at band 8 of frequency2.

Windows 10 20h2
Cubase Pro 12.0.40

Really ? But what what’s smooth for you may not be as smooth for others.
Can you share audio so we can hear that ?

Pink noise generated using stock plugin, frequency 2 24dB Cut with frequency automation from 20K to 20Hz.

Sound link: 2.2 MB file on MEGA

But it’s there :joy: Just look at the vertical lines in the background.
You just made the sweep so long that it’s barely audible, if you make it faster (less than a second) you’ll definitely hear it… With Waves OneKnob Filter on the other hand, very fast sweeps are still super smooth, like, indistinguishable…

Ok, I think we generally meant the same thing, I was just thrown off by the term “polling” and the milliseconds, because I’m pretty sure you wouldn’t do it like that in the dsp thread of a plugin (what with involving system calls and such).
But unless we ask a plugin developer, it is all just speculation anyway….

The Channel EQ and the Pre Filter have two transition modes selectable to the top right of the MixConsole: Soft and Quick.

Soft has higher smoothing, making it better at handling sharp parameter changes, but it’s not suitable for sweeping.
Quick is able to perform smoother sweeps, but sharp parameter changes may cause audible glitches.

Steinberg’s VST 3 Equalizers have “Soft”-like behavior. They’re suitable for scene switching (i.e. switching between A/B EQ settings with minimal audible glitches). Working as designed.

For time-based analysis, you want to lower the FFT size. I think the SpectraLayers manual explains this parameter pretty well:
The Importance of FFT Size

4 Likes

Thank you very much for clearing this out.

I didn’t know about this setting ! Thanks for sharing.
Ultimately these options should be implemented in Frequency, at least.