Zero Delay Feedback Filter (How to test if your synth has a )- Xils-Lab White Paper -

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Post Reply New Topic
RELATED
PRODUCTS

Post

So if this test is not the correct way to check if a filter got the 0df behavior (and i found myself that it does not seem to be "foolproof" for all synths) could someone of the other devs please give a better procedure?

One example: My Moog Slim Phatty does not have a Noise generator except as a modulation source so i could not really apply this test to the only real analog synth i currently got...

I did not check the whole thread about such hints but a step by step procdure for a better method would be nice.

The question is:
If there is no safe way to determine if a filter got the 0df behavior would it then be really important anyway, especially if you could only test this with a Noise source which is normally not the usual way a synth is used?



Ingo
Last edited by Ingonator on Wed May 16, 2012 9:13 am, edited 1 time in total.
Ingo Weidner
Win 10 Home 64-bit / mobile i7-7700HQ 2.8 GHz / 16GB RAM //
Live 10 Suite / Cubase Pro 9.5 / Pro Tools Ultimate 2021 // NI Komplete Kontrol S61 Mk1

Post

xavier wrote:This thread is suppose to be scientific and when someone is claiming something, some proof of evidence (video, mathematical explanations, physical equations, whatever) could help all of us to learn.
I know Im missing something but where's the 'mathematical explanation, physics, whatever' of your theory. I see a test, and a statement of fact as to the meaning of the outcome of that test ie the statement
In Zero Delay Feedback filters, the emphasis will remain the same, but in filters that do not manage this delay, the emphasis will grow until the filter self-oscillates.
but I seem to have missed the proof or evidence of that?

And do we really need maths or physics to disprove it? Surely empirical testing is entirely sufficient to disprove the theory? (albeit not sufficient to prove it). Obviously we can do the test on a known 0dF filter, and perhaps see a result which confirms that part of the theory. But if for any non-0dF filter we get a contrary result to your assertion, then that is sufficient to disprove the assertion above, surely?

Do you disagree?
An idiot on Set Theory:
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."

Post

Ingonator wrote:So if this test is not the correct way to check if a filter got the 0df behavior (and i found myself that it does not seem to be "foolproof" for all synths) could someone of the other devs please give a better procedure?
Yes please. (I've already described what to look for, but without an example I can turn off and on without changing a whole bunch of other aspects of the filter algorithm it's too hard to show the differences in the spectrographs.)

One example: My Moog Slim Phatty does not have a Noise generator except as a modulation source so i could not really apply this test to the only real analog synth i currently got...
Doesn't it have an audio input? Or did I fantasize that? ;)

Anyway, it's a Moog so I'll betcha the emphasis is actually showing as higher at the bottom end.

I did not check the whole thread about such hints but a step by step procdure for a better method would be nice.

The question is:
If there is no safe way to determine if a filter got the 0df behavior would it then be really important anyway?


Ingo
EXACTLY!

(And exactly to what whyterabbyt said too!)

Post

AdmiralQuality wrote:
Ingonator wrote: One example: My Moog Slim Phatty does not have a Noise generator except as a modulation source so i could not really apply this test to the only real analog synth i currently got...
Doesn't it have an audio input? Or did I fantasize that? ;)

Anyway, it's a Moog so I'll betcha the emphasis is actually showing as higher at the bottom end.
You are correct, i didn't think about that. I'll try to do a test soon.


Ingo
Ingo Weidner
Win 10 Home 64-bit / mobile i7-7700HQ 2.8 GHz / 16GB RAM //
Live 10 Suite / Cubase Pro 9.5 / Pro Tools Ultimate 2021 // NI Komplete Kontrol S61 Mk1

Post

Urs wrote:
mystran wrote: I don't understand why people insist on these zero-delay filters being expensive. You don't need to use iterative feedback solvers unless you want to. Just linearize the filter around it's known state once per sample and you can solve analytically. The overhead is pretty insignificant and it works quite fine in practice, at least until aliasing starts becoming a bigger problem anyway.
I'm not sure if this worked sufficiently in a filter loaded with non-linear elements, driven at high gain. You'll get quite some error, possibly noise. Some of our filters got fairly noisy with less than 14 bit precision.

The cost might even be similar to an iterative approach with a good prediction because you still have to build derivates for all non-linear elements, and you still have to calculate it once. If the average number of iterations is close to 1 then the iterative approach might be even faster.
I'll iterate (no pun, seriously!) on this topic at some later time (quite possibly in a less busy thread). Need to explore a couple of variations first.

Post

If a filter doesn't self-oscillate, then it can be done with some well known "constant-Q" digital filters, without any "feedback" delay (like in a moog or other filters). So I that case, the test, as it was described is not relevant.

Self-oscillate : Implies some architecture which remove simple constant-Q filters.
Mid resonance : Implies that the internal non-linearity is not fed up totally, and then things are shown easily.

You can go deeper and check the "warp" form of the spectrum brings by the z-transform, which give you an other way to see if the filter has the zero delay behaviour or not. In that case, a constant-Q filter can show its "zero-delay" behaviour or not.

@AQ : about neutrino, my English is not very good, so maybe you didn't understand me but I'm saying exactly the same than you.

Math: z-transform is z-transform, whatever the res/freq of the analogue model.
If your digital filter get the same freq/res than the analogue filter you are modelling, THEN it has zero-delay behaviour.
The test is a simple one, I agree, but give you the feeling of what to test.

@Ingonator :
For me, an analogue filter has the "zero-delay" behaviours, so emulating as close as possible an analogue filter, whatever the method, will bring zero-delay behaviours.

Best regards
Xavier

Post

whyterabbyt wrote:
xavier wrote:This thread is suppose to be scientific and when someone is claiming something, some proof of evidence (video, mathematical explanations, physical equations, whatever) could help all of us to learn.
I know Im missing something but where's the 'mathematical explanation, physics, whatever' of your theory. I see a test, and a statement of fact as to the meaning of the outcome of that test ie the statement
In Zero Delay Feedback filters, the emphasis will remain the same, but in filters that do not manage this delay, the emphasis will grow until the filter self-oscillates.
but I seem to have missed the proof or evidence of that?

And do we really need maths or physics to disprove it? Surely empirical testing is entirely sufficient to disprove the theory? (albeit not sufficient to prove it). Obviously we can do the test on a known 0dF filter, and perhaps see a result which confirms that part of the theory. But if for any non-0dF filter we get a contrary result to your assertion, then that is sufficient to disprove the assertion above, surely?

Do you disagree?
Which non-0df filter passes the test ? As it was said, if the filter is a bi-quad constant Q, this test is not relevant. You need to check the warped form of the spectrum instead.
Of course, only the upper part of the spectrum is full of interest. Z-transform is almost the same than p-transform for frequency far from the sample frequency (that's why oversample exists)

So what is behind this test ?
Well know for all DSP developers, directly substituting the Z-transform to the p-transform in the analogue filter formula will bring
_ spectrum warped
_ additional phase shift when feedback loops are used.
_ There are other points, but these ones are the most noticeable.

Is that true or is that false ?

An other point : The phase shift brings by one delay is 180*f/Fs, with Fs the sample frequency.
At Fs = 44.1kH, and f = 10kHz, p = 40° which is important.
But oversampling to 64, we get 0.63°, quite unnoticeable.

So yes, oversampling a lot is a way to manage the delay.
No need to get a lot of Math to understand this

Best
xavier
Last edited by xavier on Wed May 16, 2012 9:43 am, edited 1 time in total.

Post

xavier wrote: Math: z-transform is z-transform, whatever the res/freq of the analogue model.
If your digital filter get the same freq/res than the analogue filter you are modelling, THEN it has zero-delay behaviour.
The test is a simple one, I agree, but give you the feeling of what to test.
z-transform is z-transform in LTI case, and I don't think anyone wants to limit themselves to linear time-invariant filters in synths

Post

xavier wrote:Which non-0df filter passes the test ?
Sorry, I think that's missing the point. Im not focussing on what may or may not fulfil your conditions, Im focussing on what those conditions are. It is entirely necessary for scientific proof to be able to define what the conditions of proof or disproof entail, and Im trying to clarify that.
As it was said, if the filter is a bi-quad constant Q, this test is not relevant. You need to check the warped form of the spectrum instead.
Could you tell me where this was said, I see no reference to it in 'the test' in post 1.
So what is behind this test ?
Well know for all DSP developers, directly substituting the Z-transform to the p-transform in the analogue filter formula will bring
_ spectrum warped
_ additional phase shift when feedback loops are used.
_ There are other points, but these ones are the most noticeable.

Is that true or is that false ?

An other point : The phase shift brings by one delay is 180*f/Fs, with Fs the sample frequency.
At Fs = 44.1kH, and f = 10kHz, p = 40° which is important.
But oversampling to 64, we get 0.63°, quite unnoticeable.

So yes, oversampling a lot is a way to manage the delay.
No need to get a lot of Math to understand this

Best
xavier
[/quote]

Sorry, I'm responding to a thread which starts with a 'white paper' decalring itself to be 'a very simple test' for zero-delay filters? p-transform? z-transform? spectrum warped?

where does that all figure in this 'simple test' ? why is this not in the 'white paper'?
An idiot on Set Theory:
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."

Post

mystran wrote:
xavier wrote: Math: z-transform is z-transform, whatever the res/freq of the analogue model.
If your digital filter get the same freq/res than the analogue filter you are modelling, THEN it has zero-delay behaviour.
The test is a simple one, I agree, but give you the feeling of what to test.
z-transform is z-transform in LTI case, and I don't think anyone wants to limit themselves to linear time-invariant filters in synths
I agree and I don't agree !

I don't agree because as soon as you are working in digital, you have to manage the z-transform, then with the Shannon limit, the warped form of the spectrum, the phase shift, frequency dependent, of any involved delay(s).
But I agree because only with LTI filter, a simple transform (bilinear for instance) can be used to pass from the Laplace space to the Z space.

Best regards
Xavier

Post

i just tested my Moog Slim Phatty with an external Noise input from Saurus.
The filter seems to have the same behavior as the 0df filter in the video at the OP. The same seems to happen at maximum Resonance too.


Ingo
Ingo Weidner
Win 10 Home 64-bit / mobile i7-7700HQ 2.8 GHz / 16GB RAM //
Live 10 Suite / Cubase Pro 9.5 / Pro Tools Ultimate 2021 // NI Komplete Kontrol S61 Mk1

Post

Here's an ACTUAL, USEFUL test I used to do to see if a softsynth had a proper IIR filter instead of the FIRs that were common in many of the earlier products.

Run a low frequency square wave through the filter. Sub-sonic if you can get it. (It should sound like "tick, tick, tick, tick", instead of a tone.) Set cutoff frequency somewhere around the mid-range, and resonance to just below self-oscillation. The "tick, tick, tick" should turn into a "ding, ding, ding" as if a bell is ringing. Because the filter is, literally, ringing.

Now THAT'S an empirical test that holds up and can help verify what your ears are telling you. (Though it's been quite a while since I've seen a VA synth that doesn't pass this.)

But measuring the level of the resonant peak across the cutoff range doesn't tell you anything about the design of the filter. (Unless you already know details about its implementation, in which case why would you need to do the test?) Hell, to use Poly-Ana's as an example again, if you don't like the way the resonance levels change across the cutoff range then you're free to tweak them yourself by applying a modulator to the resonance amount! Resonance LEVELS are meaningless and completely arbitrary. In an ideal circumstance they may be an indicator of delay vs. no-delay, but without knowing the internal design of the filter you don't know if it's an ideal circumstance, or if some intentional internal fudge factors are being applied. So that test is worthless.

Post

whyterabbyt wrote:
As it was said, if the filter is a bi-quad constant Q, this test is not relevant. You need to check the warped form of the spectrum instead.
Could you tell me where this was said, I see no reference to it in 'the test' in post 1.
The Test: You'll need a synthesizer (software of hardware) with a self-oscillating filter and a noise generator.
Why self-oscillating is explained above.

Sorry, I'm responding to a thread which starts with a 'white paper' decalring itself to be 'a very simple test' for zero-delay filters? p-transform? z-transform? spectrum warped?

where does that all figure in this 'simple test' ? why is this not in the 'white paper'?
That's why you can go a little deeper there http://www.xils-lab.com/pages/Zero-Dela ... lters.html
Without to much math, but with more explanation

Maybe the first post wasn't clear enough, maybe it was to simple (not enough mathematical explanation) or to complex (to much knowledge in DSP to agree with)


Sorry for this. I tried to explain this test better in some posts above

Best regards
Xavier

Post

I have a foolproof formula to help me in cases like this, it goes:

OP=Lotuzia ⇒ POST=Shallow Marketing Attempt

Post

AdmiralQuality wrote:
.....................

.......... it's an incorrect assumption to think that the sample delay in the feedback path is solely responsible for these artifacts, or that eliminating the delay through whatever technique is the only way to mitigate these artifacts..........

But there ARE other artifacts produced by the feedback delay that ARE determinable (albeit, it's VERY subtle). You've just failed to identify them.

.............
Well ........ We never said any of those (solely responsible, only way, no other artifact produced etc etc ) statements that you would like us to have said, nor made this kind of assumption : Here is what we said ( again) :

" Final Note: Synths that are not equipped with 0df filters are definitely NOT "bad" synths. .......; this is only ONE aspect of all the overall character of a synth."

Quite the opposite actually.

So instead of putting words in our mouth or trying to judge us on mere intent for sorcery, maybe could you please discuss the thread in a quiet way ?
http://www.lelotusbleu.fr Synth Presets

77 Exclusive Soundbanks for 23 synths, 8 Sound Designers, Hours of audio Demos. The Sound you miss might be there

Post Reply

Return to “Instruments”