You are probably already using Zero Delay Feedback filters, so let your customers know!

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

adrien59cadri wrote:Hello

Arturia TAE in particular has been using even more than this for years and never branded a ZDF feature.

Best
IIRC, I always had problems with audio-rate modulation in Arturia MMV (and that synth was and still is one of my mostly used synths in music production). Not sure how this matches against having ZDF filters. What is your source of info?

Post

I just thought that probably a lot of confusion is coming from the term "ZDF filters". I always was suggesting to call the method "TPT" (topology-preserving transform) rather than zero-delay feedback filters. The point is that TPT is more than merely ZDF. But others prefer to call it ZDF, probably because it's more "catchy".

If we are talking about merely ZDF, there has been a huge number of previous works on the topic. Just a couple of days ago someone on music DSP list mentioned a concept of delay-free digital loop dating back to 1975. However, all the previous usages of that concept known to me so far are not occuring in the context of the bilinear integrator replacement. The closest is possibly an article by Rocchesso (released a few months before mine), where he uses ZDF to solve the unit delay problem in the main feedback of the Moog filter model. However, IIRC, he doesn't attempt to solve the same problem within the underlying 1-poles (I'm not sure whether he is/was even aware of the existence of a similar problem).

BTW, this thread is a second campaign started by Andy simultaneously with a similar one which he just started on music DSP mailing list with the puprose of proving that TPT approach is not novel at all. This all makes me feel not very nice. I would find it appropriate if this was started as some kind of public discussion, where different people would be asked to give their opinions about novelty of the approach. However, Andy simply wants to get his point through on all possible channels: "Vadim didn't invent anything" (just before that he was bombarding me with personal mails stating the same, until I refused to reply to them any further). While I can live with that, I wonder how appropriate such behavior is in principle?

Post

Z1202 wrote:
andy-cytomic wrote:I thought it might be useful for people to know that for anyone using RBJ audio eq cookbook code (or any other bilinear z transform method) these are in fact Zero Delay Feedback filters! That's right, anything that uses trapezoidal integration, which is an implicit integration method, solves for things without any delays in feedbacks :)

So now you can all in good conscience, and with complete honesty, add the wonderfully enticing bullet point to your feature list:
  • Featuring Zero Delay Feedback technology!
I would say this is simply plain wrong. Trapezoidal integration implies bilinear transform, but not the other way round.

PS. Andy, don't you think you're going a little bit too far in trying to prove that the TPT method contains no novelty whatsoever? Well, up to you, man...
I never mentioned TPT here Vadim, what planet are you on?

Thanks for the clarification of the my sloppy use of the term "bi-linear transform", for clarity how about I restrict things to talking about an idealised active linear 2 pole SVF discretized either with direct trapezoidal integration or via the laplace space and bi-linear transform.

But this is a good point. If you analyse the idealised RLC filter then you can also get to a DF1 (with gain) but clearly here these is no "feedback" at all in the original circuit, so I suppose you'll just have to take the word of the dsp person that they discretized an active filter with "zero delay feedback technology" and then divided the voltage down rather than discretizing a passive circuit.
The Glue, The Drop - www.cytomic.com

Post

andy-cytomic wrote:
Urs wrote:I can't resist to say, as DF1 filters do not sport a representation of any feedback path of an analogue circuit, they quite clearly can't feature it :hihi:

(I wonder though whether or not the German term "Den Teufel durch Beelzebub austreiben" - fight one evil with another - applies here)
But they do. Take the laplace transform of an SVF to get your s domain biquad, then realise this circuit with feedback in a time invariant way using the bilinear transform with a DF1, and your zero delay feedback is modelled, yaaa!!!
This is driving the discussion to the point of nonsense. Of course you can claim that you have modelled the ZDF by DF1, but you have modelled it only for the LTI case, which destroys (almost completely) the whole point of using ZDF. ZDF is specifically about non-LTI.

Post

andy-cytomic wrote:I never mentioned TPT here Vadim, what planet are you on?
Well, you have been talking all the trime about the method which I "invented", right? At least all your emails were hinting at that. This method is what everyone calls ZDF nowadays. So when saying ZDF, everyone (or almost everyone) means TPT.
andy-cytomic wrote:Thanks for the clarification of the my sloppy use of the term "bi-linear transform", for clarity how about I restrict things to talking about an idealised active linear 2 pole SVF discretized either with direct trapezoidal integration or via the laplace space and bi-linear transform.
Not sure what you're getting at, but please go on.
andy-cytomic wrote:But this is a good point. If you analyse the idealised RLC filter then you can also get to a DF1 (with gain) but clearly here these is no "feedback" at all in the original circuit, so I suppose you'll just have to take the word of the dsp person that they discretized an active filter with "zero delay feedback technology" and then divided the voltage down rather than discretizing a passive circuit.
An RLC filter has two feedback paths. These paths are not visible in the form of electric wires, but occur via implicit interaction between the components.

I will give an illustration for the RC filter, where the picture is simpler. There we have negative feedback from the capacitor voltage to the capacitor current. How it happens? Very simply. The raising voltage on the capacitor lowers the voltage on the resistor (because their sum has to stay equal to the input signal). This in turn lowers the resistor current (according to Ohm's law). And resistor current is the same current which feeds the capacitor. This is explicitly visible as a feedback path on the respective block diagram in my book.

A similar, but slightly more complicated effect occurs with an RLC filter. I believe the respective block diagram will be exactly the same as the SVF, but I'm not fully sure.

Regards,
Vadim

Post

Z1202 wrote:BTW, it just came to me, that if we take Andy's approach of judging novelty, then we should say that Antti Houvilainen didn't introduce anything new with his Moog filter model at all. Indeed, Ebers-Moll transistor model, basic laws of electricity and Euler method are nothing new at all. And Antti simply applied them to the schemantics of the Moog filter. What should be novel at that? So, come on, Andy, tell us that also Antti didn't invent anything!
What if I tell you that Harvey Thornburg was discussing these very aspects in papers presented at CCRMA back in 1998?

Most of the early work on digital forms of the Moog filter, including Tim Stilson's work, used hard clipping (due to fixed point processing) or soft clipping (in the actual source code) in practice. tanh() distortions in digital realizations of the Moog filter predate Antti's work by several years. I think there was even an old NI Generator ensemble that used soft saturation in the stages of a 4-pole cascade filter. Antti may not have been exposed to that work, and thus re-invented it, but the nonlinear Moog models were pretty well established in the DSP community at that time.

Sean Costello

Post

valhallasound wrote:I think there was even an old NI Generator ensemble that used soft saturation in the stages of a 4-pole cascade filter. Antti may not have been exposed to that work, and thus re-invented it, but the nonlinear Moog models were pretty well established in the DSP community at that time.

Sean Costello
I don't remember that ensemble, but has it been using the saturators exactly in the same way as Antti's model? Slightly rephrasing the famous phrase from the "Harlem Nights" movie: it's not just about the saturators, it's also about where exactly you put them. :D
Anyway, you may have a point there, I don't know those works. The thing is, I don't remember Andy or anyone else starting a similar campaign against Antti.

Post

maybe Andy has dspenis envy ?

Post

Z1202 wrote:
andy-cytomic wrote:
Urs wrote:I can't resist to say, as DF1 filters do not sport a representation of any feedback path of an analogue circuit, they quite clearly can't feature it :hihi:

(I wonder though whether or not the German term "Den Teufel durch Beelzebub austreiben" - fight one evil with another - applies here)
But they do. Take the laplace transform of an SVF to get your s domain biquad, then realise this circuit with feedback in a time invariant way using the bilinear transform with a DF1, and your zero delay feedback is modelled, yaaa!!!
This is driving the discussion to the point of nonsense. Of course you can claim that you have modelled the ZDF by DF1, but you have modelled it only for the LTI case, which destroys (almost completely) the whole point of using ZDF. ZDF is specifically about non-LTI.
Ok so there you go, if you didn't believe me then please take Vadims word for it: a DF1 biquad (and so all other bi-linear biquads) are ZDF filters :)

I said nothing about preserving the topology, did you read the topic?

Anyway, that is easy to handle as well, you can preserve the topology of a filter trivially using forward euler ie the chamberlin SVF, now just introduce a little asymmetry in that filter that you then DC block with a regular bi-linear one pole iir then you can and then you could state quite correctly about the product:
  • uses topology preserving filter technology
  • uses zero delay feedback filter technology
Isn't this so much fun? I love marketing catch phrases and wooly terms :)
The Glue, The Drop - www.cytomic.com

Post

Im still waiting to hear a sound that shows off zdff in action....

Emperors new clothes...

Post

Z1202 wrote:BTW, it just came to me, that if we take Andy's approach of judging novelty, then we should say that Antti Houvilainen didn't introduce anything new with his Moog filter model at all. Indeed, Ebers-Moll transistor model, basic laws of electricity and Euler method are nothing new at all. And Antti simply applied them to the schemantics of the Moog filter. What should be novel at that? So, come on, Andy, tell us that also Antti didn't invent anything!

Well, in my point, the novel, nontrivial and most valuable aspect of Antti's work was that he realized that these (trivial by themselves) steps are worth doing, because then you will get a better digital model than the previously existing ones. In a similar fashion, I believe that my contribution was in realizing that you can combine the bilinear transform and topology preservation into one approach, zero-delay feedback serving as a glue. Apparently a similar realization was made earlier by Serafini and others for the trapezoidal integration approach (which for whatever reason remained unknown for a large if not major part of the music DSP society), but that's IMHO a different, although mathematically equivalent, method.
I judge novelty by how much prior art there is. In the case of analysing the full idealised transistor equations of the Moog ladder then Antti is the man that worked it out and published this first. His analysis is wonderful and insightful and brought something new to the table.

Antti is a personal friend of mine, and I pointed out to him the other day that you had published his analysis in your "Art of VA design" book but not cited his prior art. You've also done this for the diode ladder. Antti was not impressed.

Just because the music dsp people mostly concentrated on explicit filters doesn't say much for the prior art of solving these systems of equations using implicit methods. What we are doing here is numerically integrating circuit, so perhaps you should be thinking about circuit simulation literature for where the very obvious prior art is. You have shown a limited slice through this wider world (but not bothered to reference any of it), this doesn't make it new or novel, but more of a handy reference for systematically applying some of the available methods in a limited manner. The qucs technical manual is a much more thorough summary of how to model this stuff in general, including advanced non-linear methods and all kinds of arbitrary equation defined devices:

qucs technical papers:
http://qucs.sourceforge.net/tech/technical.html

And their references:
http://qucs.sourceforge.net/tech/node103.html

Drawing a block diagram of a circuit to write down a set of linear equations to numerically integrate is done so often that it is so amazing obvious I don't know where to start. Vadim your head is in the sand, so from your perspective you've invented everything, good for you! I will comment on it no further since you are unable to take on board all of this in a reasonable way.

This thread is about Zero Delay Feedback filters, so please can we please stay on topic?
The Glue, The Drop - www.cytomic.com

Post

Kriminal wrote:Im still waiting to hear a sound that shows off zdff in action....

Emperors new clothes...
The point of this thread is that being a Zero Delay Feedback Filter is doesn't mean much at all, and alone will not give you a smooth analog sounding filter.

If you want a good sounding filter there are more things to sort out than just Zero Delay Feedback, and even then you don't necessarily even need to sort that out, if you are careful with explicit methods you can get the same results with a little bit of oversampling and a few basic observations. Ok so we can safely can ZDFF as not having much meaning and walk away from the acronym.

If you are after a decent sounding filter that takes care to model things decently then have a look here:

www.cytomic.com/drop

In particular have a listen to this audio example which was generated at 44.1 khz without oversampling, scroll through to around 2:35 to listen to the audio rate modulation performance of this nonlinear filter:

http://www.cytomic.com/files/thedrop-morphinglfo.mp3
The Glue, The Drop - www.cytomic.com

Post

Z1202 wrote:I just thought that probably a lot of confusion is coming from the term "ZDF filters". I always was suggesting to call the method "TPT" (topology-preserving transform) rather than zero-delay feedback filters. The point is that TPT is more than merely ZDF. But others prefer to call it ZDF, probably because it's more "catchy".
This thread has nothing to do with TPT actually, please read the topic. But since you brought it up as Mystran has noted forward euler is topology preserving, so anything based on these types of explicit methods are topology preserving.
The Glue, The Drop - www.cytomic.com

Post

I never expected that i will see Andy from Cytomic running coc* measuring campaign regarding how and when things should be called this or that. :?

Quite honestly this thread started to stink as soon as i started to read it. Definite WTF moment is "wake up developers you are already using it but you did not know it"..

I just hope Urs and others will stay away from this crap.. :?

Post

andy-cytomic wrote: The point of this thread is that being a Zero Delay Feedback Filter is doesn't mean much at all, and alone will not give you a smooth analog sounding filter.

If you want a good sounding filter there are more things to sort out than just Zero Delay Feedback,
Dude you are not telling anything new here. So what?

I am far from being developer but reading amazing threads from developers (such as you), Urs, Valhalla, tony tony chopper, Relab etc. we already did get it - simply building ZDF filter won't be automatically "suppa analog".

It takes far more then that, fine tuning, fine algos, and guess what, anyone reading anything about ZDF already know that.

As i see it you are trying to discredit other people work. That's how i see it and i don't like it.

edit: so anyway what is your real point - at first you are starting a thread where you are calling devs to call their product already ZDF, then you are saying that this isn't much at all. Like i said it started to smell right in the first post..

and before conspiracy theory chime in - i am not vadim, don't know him i only heard for him by reading documents. I am not fan. And i don't have anything against anyone and i like Cytomic work. I just don't like this "knowledge" measuring shitty thing which stink like disrespectful covert agenda..

Post Reply

Return to “DSP and Plugin Development”