Re: [music-dsp] Implicit integration is an important term, ZDF is not
In the spirit of the looming holiday for some of us, I just wanted to say thanks! to those that participated in this and related threads. After a bit of a hiatus, I've been rekindling my interest in audio signal processing and lurking here. This discussion has definitely given me some interesting food for thought and some good reading for the holidays! Thanks again, Scott -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
On 11/18/13 1:56 PM, Dave Gamble wrote: and 'phaser' Phaser, to me, is a term describing a specific musical effect. Can you clarify? in electrical engineering, the term phasor is used for a single complex number that represents a sinusoid in a context where the frequency is otherwise known and consistent throughout the system. so if the time-domain representation of the signal is v(t) = V cos(omega*t + theta) the phasor that corresponds to this signal is V * e^(j*theta) . for people in the music-dsp discipline, there are at least three terms that have ambiguous meanings because they might mean different things to musicians than what they might mean to electrical engineers. 1. Phasor (or phaser) 2. Sample 3. Modulate can anyone think of any more? and this doesn't count terms like bandwidth or Q or gain where we might mean the same thing generally, but might differ on specific quantitative definitions. -- r b-j r...@audioimagination.com Imagination is more important than knowledge. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
On Monday, 18 November 2013, Theo Verelst wrote: robert bristow-johnson wrote: a DF1 need not use the BLT. in fact, the issue of DF1 as a structure or form (as opposed to DF2T or lattice or Chamberlin SVF or Gold-Rader or whatever) is orthogonal to the issue of how to tranform from s-plane to z-plane (then it's bilinear transform vs. impulse invariant It would sure be interesting some to start a little Pharisee school on this stuff.. What does that mean? Sorry I don't understand :s For others it may help to compute how close the network they create, or the iteration scheme used creates the desired impulse response. In the analog domain, this is not so easy, and involves difficult measurements or integrations to be done, but in the z-domain, you can simply compute the response you get and compare it with your desired response, if they match, your iterations is correct, irrespective of the iteration scheme used ! Indeed! Of course to be really neat, you'd want to frequency limit your impulse and your impulse response such that their product remains lower than the Nyquist frequency, to prevent aliasing, Well, really you could just compare your iteration's output against a band limited recording of the target impulse response. That's the actual target. and you'd want to pre-anti-impulse Can you explain? and 'phaser' Phaser, to me, is a term describing a specific musical effect. Can you clarify? your DA converter (which you always need) such that the final output signal is what you want and doesn't contain certain always-present components that p*ss pros of before your well started, What always-present components are you referring to here? I make my living from building gear that doesn't annoy professionals, so I'm really intrigued. I'm always after new measurements I can make. Are you talking about imperfections in DAC antialiasing filters perhaps? but maybe that's too much too ask from the software designers. Asking software designers to modify DACs is a rather nonsensical request. Have I misunderstood your sense here? Time for the EEs to get the subject back, unless we like endless ramblings that are designed never to come out or do much musically good. Maybe just my opinion, but I don't think so. How delightfully contentious. I'm not sure whether to troll you back or troll beside you. Perhaps both. I'll have a think. Best, Dave. T. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
Well, the word delay has been used in literature for 30+ years, to explain z^-1 sections in algorithmic implementations. I wonder what RBJ would have called the terms z^-1 or z^-2 had he explained them in his cookbook. What would you call them? I agree though that one should not confuse model and implementation ;-) On 16.11.2013, at 02:52, Andrew Simper a...@cytomic.com wrote: i think that the delay word in particular should be *gone for good*, these are IIR filters with state variables which are empty on start, there is also the group delay an so on. however, ZDF is stuck as a marketing term and i think it can hardly be changed at this point. if one builds a bridge and paints it green, people may call it the green bridge, but once he's out of green paint and paints it red, they may continue calling it with the old name because it sounds cool. lubomir The point here is that almost everyone has a green bridge, even before they knew that it was green, so it is completely reasonable for them all to call theirs the green bridge. Naming things is difficult, but if people want to continue using the ZDF terminology please expect that it is completely reasonable for anyone using laplace analysis on a circuit and then realise it via the bi-linear transform has a ZDF filter, since the laplace transform solution is in the continuous domain so has instant feedback, and the bi-linear transform results from the implicit trapezoidal numerical integration scheme. So anyone using the RBJ cookbook stuff realised with whatever structure you want qualifies to be called a ZDF filter. All the best, Andy -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
On 11/14/13 9:23 PM, Andrew Simper wrote: ... but aren't all the direct forms (even the transposed ones), so called delay free i don't consider them delay free in their feedback path. not at all. Hi Robert, I think here we are not talking about does the implementation use delays in its own feedback path clearly a DF1 does, as does any digital filter, they have to store some state. The question is does a DF1 model the LTI continuous biquad using an implicit integration scheme? Clearly the answer is yes, it uses the bi-linear transform, a DF1 need not use the BLT. in fact, the issue of DF1 as a structure or form (as opposed to DF2T or lattice or Chamberlin SVF or Gold-Rader or whatever) is orthogonal to the issue of how to tranform from s-plane to z-plane (then it's bilinear transform vs. impulse invariant vs. these different diff eq. numerical methods like Euler forward method vs. Euler backward method vs. predictor-corrector vs. Runge-Kutta vs. direct mapping of poles/zeros with z=e^(sT) vs. other methods that substitute s and s^2 with various functions of z. these s-to-z mapping methods are orthogonal to structures like DF1, DF2, lattice, normalized ladder, or whatever: http://en.wikipedia.org/wiki/Digital_filter#Other_forms . oooh, i was just reminded of the Harris-Brooking form. i used to know what that was about, but have since forgot. which is implicit, so relies on the current and previous state to solve things. but, in the final analysis, it does not rely on the current output to solve for the current output. the current output is a function of previous outputs, previous inputs and the current input. - gathering this from the top of my head, as i haven't look at the flow graphs much since the last time i tried making them into code? the semantic i used for zero delay feedback is that there is no delay in the feedback loop. using the language similar to http://www.nireaktor.com/reaktor-tutorials/zero-delay- feedback-filters-in-reaktor/ , a causal discrete-time operation: y[n] = g(y[n-1], y[n-2], ... x[n], x[n-1],...) so the output sample is a function of the present input and past input samples and of past output samples. no logical problem here. all of these arguments of g() are known at time n. the zero-delay feedback filter purports to implement y[n] = g(y[n], y[n-1], y[n-2], ... x[n], x[n-1],...) and, of course, the logical problem is how does the algorithm g() know what the argument y[n] is when that is precisely the value that g() is returning? not yet determined. i know (especially for LTI systems), that you can plug all those arguments into g() and solve for y[n] and get an answer. for more complicated algs, you might have to iteratively solve for y[n]. but that does not change the fact that, in reality, y[n] is being determined from knowledge of present and past input samples x[n], and *past* samples of y[n]. Yes, this is the definition of implicit and if you read the title this is the clarification I'm trying to make, so thankyou for backing me up that this is the case. i'm just responding to what i read in the body of the posts here. that is my only bone to pick with 0df. i just see it as another causal algorithm and each and every *causal* discrete-time algorithm, linear or not, time-invariant or not, *must* define its output sample in terms of present and past input samples and *past* output samples. This is part of the problem that causes confusion (but not even one that I have brought up!). What Urs and others are talking about is not that you need some previous state, you obviously do for a filter to work at all, but rather do you use the only the previous state, or both the current and previous state to work out the current answer. let's be careful about the term state. in any discrete-time LTI system (or even if it's not time-invariant nor entirely linear), the *current* state (which is determined before you enter your sample processing algorithm for the current input sample) can be or depend upon *previous* outputs (or previous inputs), but my semantic does not allow the current state to be a function of the current output, because you haven't determined the current output yet. when you *do* determine the current output and you commit to it, then you're done, you're not processing the current sample anymore. i totally get using previous outputs as states and using them to *predict* what the current output might be so that you can use that in a calculation. but it *isn't* exactly what the current output is, otherwise you'd be done with that sample and that is why i object to the semantic of zero-delay feedback from the POV of logic. at least, i don't use that semantic myself. in a real-time causal system, the current output sample is a function of previous outputs, previous inputs, and the current input sample. it cannot be a function of anything else, if it's causal. and if
Re: [music-dsp] Implicit integration is an important term, ZDF is not
On 15/11/2013 03:49, Andrew Simper wrote: The question seems to be arriving at: if we oughtn't keep the potentially misleading phrase that's in common usage, and instead use existing, more common EE parlance, what phrasing should be used? Direct implicit integration covers it perfectly. DII - Perhaps for marketing purposes this is a bit of a handful. I suggest PIF, for Physically Informed Filter. The verb for the process would be piffing, and in the stereo case, spiffing. It should also cover cases where the process originates purely from a digital mind, not merely from a possible or actual analogue circuit. Richard Dobson -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
Hi, Stilton and Smith I've always found that design even more cheesy than Stilson and Smith (-: Fascinating discussion btw, even if I don't understand much of it. Steven Cook. -- From: Andrew Simper a...@cytomic.com Sent: Friday, November 15, 2013 3:49 AM To: A discussion list for music-related DSP music-dsp@music.columbia.edu Subject: Re: [music-dsp] Implicit integration is an important term,ZDF is not The question seems to be arriving at: if we oughtn't keep the potentially misleading phrase that's in common usage, and instead use existing, more common EE parlance, what phrasing should be used? Direct implicit integration covers it perfectly. Direct meaning not through the laplace space or other intermediate LTI analysis, and the implicit integration covers you are taking into account the the current state is used to solve for the output. You could specify the integrator being used if you don't like implicit and say direct trapezoidal integration or even drop the integration and specify the structure directly as in direct trapezoidal svf. Since you specify the structure then you could possibly even shorten this further to trapezoidal svf. Urs is right that mentioning implicit integration is so obscure as to be useless. The word implicit is also technical and has too simple a common-language connotation. I'm sorry that you and your customers are not familiar with the correct terminology to describe this. I feel its best not to even bother to describe it in a technical manner to customers. The problem is you can come up with an explicit solution that takes great care to come out with a trapezoidal frequency response and then you can oversample this to push any inaccuracies out of the audible area, so then what? Should this be orphaned as not being implicit when it will sound identical and offer lower cpu to boot? Can't people just be happy that the developer has taken care to solve things as properly as they see fit with whatever methods are appropriate for the situation at hand? Andy, can you comment on the following observation? - the Stilson and smith model, with the artificial delay in the feedback, which is resolved by your implicit methods is, in fact, not an explicit method, but simply a fudged approximation; an explicit method solution would have the correct transfer function, while the Stilson and smith does not. Is that correct? Not really. And slow down there skipper! These are not my methods, implicit integration has been around for a very long time. You are confusing implicit with trapezoidal here. The trapezoidal response is a very specific and useful one for audio. Not all implicit methods preserve resonance, eg Backwards Euler, Implicit Gear. Qucs to the rescue! http://qucs.sourceforge.net/tech/node24.html In summary an explicit method depends only on the previous state of the system to solve the system. So in that regard most music dsp people are using semi-explicit systems. Here ya go (please note that the following isn't strictly accurate since I am trying to show dependencies not specific implementations details of implicit and explicit numerical integration schemes, so just keep and eye on the z terms) v1z = v1 z^-1 v2z = v2 z^-1 v3z = v3 z^-1 v4z = v4 z^-1 CASCADE explicit (uses only previous outputs): v1 = v1z + g (v0 - v1z - k v4z) v2 = v2z + g (v1z - v2z) v3 = v3z + g (v2z - v3z) v4 = v4z + g (v3z - v4z) explicit (partly forward euler, the resonance and low pass filters are still explicit, but you take the current estimated output of the previous stage as the input to the next stage) - note that in the Stilton and Smith version they use (a)*vi + (1-a)*viz as the input to the i+1st stage which is an adjustment to trapezoidal integration to not cause quite as much phase delay at cutoff: v1 = v1z + g (v0 - v1z - k v4z) v2 = v2z + g (v1 - v2z) v3 = v3z + g (v2 - v3z) v4 = v4z + g (v3 - v4z) implicit: v1 = v1z + g (v0 - v1 - k v4) v2 = v2z + g (v1 - v2) v3 = v3z + g (v2 - v3) v4 = v4z + g (v3 - v4) SVF Similarly for the SVF, the fully explicit filter is: v1 = v1z + g (v0 - k v1z - v2z) v2 = v2z + g (v1z) the Chamberlin is: v1 = v1z + g (v0 - k v1z - v2z) v2 = v2z + g (v1) and the implicit: v1 = v1z + g (v0 - k v1 - v2) v2 = v2z + g (v1) I hope that helps! All the best, Andy -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
On 15 November 2013 04:05, robert bristow-johnson r...@audioimagination.com wrote: On 11/13/13 1:05 PM, Lubomir I. Ivanov wrote: BTW Andy, you mention DFI a lot, perhaps because RBJ has them in the popular filters, listen, the Cookbook is really just about determining coefficients for 2nd-order IIR filters. it *does* make use of DF1 as an example of implementation. but it is meant to be agnostic about DF1 vs. Lattice vs. Chamberlin SVF or whatever. all of these different forms can be related to each other, so you can still use the Cookbook for your fav 2nd-order IIR topology and get the same frequency response. well, that wasn't really meant as a targeting attack, of sorts. sorry if sounded like one... i understand that the product of the BLT can be feed into different topologies. but aren't all the direct forms (even the transposed ones), so called delay free i don't consider them delay free in their feedback path. not at all. i think that the delay word in particular should be *gone for good*, these are IIR filters with state variables which are empty on start, there is also the group delay an so on. however, ZDF is stuck as a marketing term and i think it can hardly be changed at this point. if one builds a bridge and paints it green, people may call it the green bridge, but once he's out of green paint and paints it red, they may continue calling it with the old name because it sounds cool. lubomir -- -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
Every time I see a valve circuit with R|C to ground off the cathode, that's universally agreed to be feedback... But implicit, not explicit. I'm open to changing my definition of feedback, but I can't go with one that requires me to assign the direction of a wire, cause that's not how I imagine things. Why not go with feedback in both cases? As Wittgenstein said: We are engaged in a struggle with language. Although, for fairness, he did also say: When we can't think for ourselves, we can always quote. Dave. Implicit is I think a more useful term all up. But note that you also get an implicit equation from a basic diode clipper circuit with just one diode in serial with a resistor to ground without a capacitor anywhere or feedback. This is because the voltage appears as a linear term (the resistor) and an exponential term (for the diode), this is an implicit equation, but you also have implicit numerical integration, so really those are the terms that I think have meaning. To be more descriptive on top you can also add linear or nonlinear as well. But I still don't think the word implicit is useful for marketing, although I use it to describe things I understand my customers may not. All the best, Andy -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
Hey Urs, Not quite sure if this was aimed at me or Andy, though it doesn't make a ton of sense with either. Just in case it was aimed at me, I've never ever denied the utility of AndyVadim's work; quite the opposite. I'm not sure I've even ranted about the phrase. Just documented its history and explained how it caused confusion. Dave. On Thursday, November 14, 2013, Urs Heckmann wrote: Hehehe, Our methods of filter design, which are created merely from the viewpoint of algorithm design than from the perspective of conformity with EE terms is all about eliminating the unit delay - or using it as performance optimisation. I respect your viewpoint, but quite honestly, you're not doing anyone a favour if you deny the usefulness of eliminating the unit delay in typical dsp implementations of analogue filter topologies. You use DF filters to base your rant about the terminology, when quite clearly the filters that people refer to as having a unit delay in the feedback path are different ones, such as Stilson/Smith's proposed Moog ladder implementation or Chamberlin's SVF. As much irony as there may be in the fact that DF filters are *transformed implementations* of zero delay feedback free filter models (!), their implementation necessarily requires an algorithmic structure that draws all of its disadvantages from its dependency on unit delays. It's doubleplus ironic because those abstract filters aren't even usable to recreate models that are not LTI. Poles and Zeros are great for a very limited aspect of filter design, but there's no representation of nonlinear elements in them. They're half the truth, as much as using the, for your rant is half the truth. Anyhow. Algorithms. We however don't give a shit at how we arrive at the algorithm we're using. There's not a single ultimate way to go about. Starting with a nodal analysis of a circuit is one way, and it's sometimes the harder one. Because research was already done (Stilson/Smith and Chamberlin for starters) and implementations already exist that are based on Euler. In those cases it's the more obvious way to eliminate the unit delay. And then there's one thing that ultimately makes things worse from the viewpoint of theorists: Any such implementation needs to be fine tuned by ear. No analogue circuit reveals all of its character by the description of the parts. Heck, if it was designed with the s-plane model in mind, it was designed with a model that approximates reality in a very unmusical way. I betcha the guys at Moog labs have fine tuned their first designs by ear as well, until the got the right make of transistors and capacitors and until it sounded good. Hence necessarily we have to do so too - the schematics don't say it all. Even if there was a realtime Spice simulator, the outcome wouldn't necessarily sound great. Maybe that's also why some don't think that much in EE terms and more in terms of algorithms that lend themselves towards tweakability. There you go. It's sad that some blurtards have caused confusion with stupid terminology - I'm talking about the zero delay filter misnomer. That however doesn't make it seem less arrogant to make fun of people who practice eliminating the unit delay as their method. Because for those and their point of view, zero delay feedback is relevant. - Urs right from my iPad Am 13.11.2013 um 23:42 schrieb Andrew Simper a...@cytomic.comjavascript:; : On 14 November 2013 01:28, Dave Gamble davegam...@gmail.comjavascript:; wrote: On Wed, Nov 13, 2013 at 2:29 PM, Andrew Simper a...@cytomic.comjavascript:; wrote: On 13 November 2013 20:00, Urs Heckmann u...@u-he.com javascript:; wrote: On 13.11.2013, at 07:50, Andrew Simper a...@cytomic.comjavascript:; wrote: I hope this clears things up and exposes ZDF as a confusing and pointless marketing catch phrase. It's not pointless for marketing in the sense that instantaneous feedback is much easier to explain than implicit integration. Users usually don't have profound knowledge of maths, whereas a delayless feedback loop is easily illustrated. In other words, we would lose customers if we advertised uses implicit integration, yay ;-) Well it is time for all people using DF1 to ratchet up their marketing and start touting [*] featuring Zero Delay Feedback technology!! (go on Dave Gamble I know you are just itching to do this ;) In opposites world, sure. You may have me backwards. Despite my fairly inane sense of humour, I do strive (not always successfully, of course) to avoid any kind of sensationalism that the customer can see. I'm strongly anti-bullshit, because I'm just not very good at it. Dave. You have expressed quite clearly your distaste for this particular terminology, I'm just having fun :) -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book
Re: [music-dsp] Implicit integration is an important term, ZDF is not
I've been following this somewhat heated discussion for a while! I've not read the appropriate literature, but does this really just revolve around whether someone uses implicit versus explicit finite difference methods for nonlinear ODE models of analog circuits? Max On 14 November 2013 11:26, Urs Heckmann u...@u-he.com wrote: My point is, It's not the fault of those who use the term in a correct way that some others have used it in a confusing way. That however doesn't justify a general - at times derogative - rant against using the term. I don't think it's very clever either. I'll leave it at that. - Urs On 14.11.2013, at 12:06, Dave Gamble davegam...@gmail.com wrote: Hey Urs, Not quite sure if this was aimed at me or Andy, though it doesn't make a ton of sense with either. Just in case it was aimed at me, I've never ever denied the utility of AndyVadim's work; quite the opposite. I'm not sure I've even ranted about the phrase. Just documented its history and explained how it caused confusion. Dave. On Thursday, November 14, 2013, Urs Heckmann wrote: Hehehe, Our methods of filter design, which are created merely from the viewpoint of algorithm design than from the perspective of conformity with EE terms is all about eliminating the unit delay - or using it as performance optimisation. I respect your viewpoint, but quite honestly, you're not doing anyone a favour if you deny the usefulness of eliminating the unit delay in typical dsp implementations of analogue filter topologies. You use DF filters to base your rant about the terminology, when quite clearly the filters that people refer to as having a unit delay in the feedback path are different ones, such as Stilson/Smith's proposed Moog ladder implementation or Chamberlin's SVF. As much irony as there may be in the fact that DF filters are *transformed implementations* of zero delay feedback free filter models (!), their implementation necessarily requires an algorithmic structure that draws all of its disadvantages from its dependency on unit delays. It's doubleplus ironic because those abstract filters aren't even usable to recreate models that are not LTI. Poles and Zeros are great for a very limited aspect of filter design, but there's no representation of nonlinear elements in them. They're half the truth, as much as using the, for your rant is half the truth. Anyhow. Algorithms. We however don't give a shit at how we arrive at the algorithm we're using. There's not a single ultimate way to go about. Starting with a nodal analysis of a circuit is one way, and it's sometimes the harder one. Because research was already done (Stilson/Smith and Chamberlin for starters) and implementations already exist that are based on Euler. In those cases it's the more obvious way to eliminate the unit delay. And then there's one thing that ultimately makes things worse from the viewpoint of theorists: Any such implementation needs to be fine tuned by ear. No analogue circuit reveals all of its character by the description of the parts. Heck, if it was designed with the s-plane model in mind, it was designed with a model that approximates reality in a very unmusical way. I betcha the guys at Moog labs have fine tuned their first designs by ear as well, until the got the right make of transistors and capacitors and until it sounded good. Hence necessarily we have to do so too - the schematics don't say it all. Even if there was a realtime Spice simulator, the outcome wouldn't necessarily sound great. Maybe that's also why some don't think that much in EE terms and more in terms of algorithms that lend themselves towards tweakability. There you go. It's sad that some blurtards have caused confusion with stupid terminology - I'm talking about the zero delay filter misnomer. That however doesn't make it seem less arrogant to make fun of people who practice eliminating the unit delay as their method. Because for those and their point of view, zero delay feedback is relevant. - Urs right from my iPad Am 13.11.2013 um 23:42 schrieb Andrew Simper a...@cytomic.comjavascript:; : On 14 November 2013 01:28, Dave Gamble davegam...@gmail.comjavascript:; wrote: On Wed, Nov 13, 2013 at 2:29 PM, Andrew Simper a...@cytomic.comjavascript:; wrote: On 13 November 2013 20:00, Urs Heckmann u...@u-he.com javascript:; wrote: On 13.11.2013, at 07:50, Andrew Simper a...@cytomic.comjavascript:; wrote: I hope this clears things up and exposes ZDF as a confusing and pointless marketing catch phrase. It's not pointless for marketing in the sense that instantaneous feedback is much easier to explain than implicit integration. Users usually don't have profound knowledge of maths, whereas a delayless feedback loop is easily illustrated. In other words, we would lose customers if we advertised uses implicit integration, yay ;-) Well it is time for all people using DF1 to ratchet
Re: [music-dsp] Implicit integration is an important term, ZDF is not
Hi, On Thursday, November 14, 2013, Max Little wrote: I've been following this somewhat heated discussion for a while! I've not read the appropriate literature, but does this really just revolve around whether someone uses implicit versus explicit finite difference methods for nonlinear ODE models of analog circuits. Basically, yes. I have a strong suspicion that these techniques will be making their way into much more common usage in audio (I think it's fair to claim that they're currently only in use at the cutting edge), and into courses etc, so I think it's reasonable that there's some to-ing and fro-ing about terminology, especially since this stuff does come with a really significant set of results (filter topologies etc). The thing is, the appropriate literature is something of a gold mine, and so this is something akin to a discussion of what should be written on the placard above the entrance. The zero delay filters name is meaningful to those already expert in the field, but less so for newcomers who won't be aware of exactly which delay it is that's been obviated. And the point Andy makes when starting this thread is that the results in this nascent field are far more broad than are captured or described by the phrase zero delay filter. This is the language thread that exists in parallel to the technical implicit/explicit methods threads. Dave. Max On 14 November 2013 11:26, Urs Heckmann u...@u-he.com wrote: My point is, It's not the fault of those who use the term in a correct way that some others have used it in a confusing way. That however doesn't justify a general - at times derogative - rant against using the term. I don't think it's very clever either. I'll leave it at that. - Urs On 14.11.2013, at 12:06, Dave Gamble davegam...@gmail.com wrote: Hey Urs, Not quite sure if this was aimed at me or Andy, though it doesn't make a ton of sense with either. Just in case it was aimed at me, I've never ever denied the utility of AndyVadim's work; quite the opposite. I'm not sure I've even ranted about the phrase. Just documented its history and explained how it caused confusion. Dave. On Thursday, November 14, 2013, Urs Heckmann wrote: Hehehe, Our methods of filter design, which are created merely from the viewpoint of algorithm design than from the perspective of conformity with EE terms is all about eliminating the unit delay - or using it as performance optimisation. I respect your viewpoint, but quite honestly, you're not doing anyone a favour if you deny the usefulness of eliminating the unit delay in typical dsp implementations of analogue filter topologies. You use DF filters to base your rant about the terminology, when quite clearly the filters that people refer to as having a unit delay in the feedback path are different ones, such as Stilson/Smith's proposed Moog ladder implementation or Chamberlin's SVF. As much irony as there may be in the fact that DF filters are *transformed implementations* of zero delay feedback free filter models (!), their implementation necessarily requires an algorithmic structure that draws all of its disadvantages from its dependency on unit delays. It's doubleplus ironic because those abstract filters aren't even usable to recreate models that are not LTI. Poles and Zeros are great for a very limited aspect of filter design, but there's no representation of nonlinear elements in them. They're half the truth, as much as using the, for your rant is half the truth. Anyhow. Algorithms. We however don't give a shit at how we arrive at the algorithm we're using. There's not a single ultimate way to go about. Starting with a nodal analysis of a circuit is one way, and it's sometimes the harder one. Because research was already done (Stilson/Smith and Chamberlin for starters) and implementations already exist that are based on Euler. In those cases it's the more obvious way to eliminate the unit delay. And then there's one thing that ultimately makes things worse from the viewpoint of theorists: Any such implementation needs to be fine tuned by ear. No analogue circuit reveals all of its character by the description of the parts. Heck, if it was designed with the s-plane model in mind, it was designed with a model that approximates reality in a very unmusical way. I betcha the guys at Moog labs have fine tuned their first designs by ear as well, until the got the right make of transistors and capacitors and until it sounded good. Hence necessarily we have to do so too - the schematics don't say it all. Even if there was a realtime Spice simulator, the outcome wouldn't necessarily sound great. Maybe that's also why some don't think that much in EE terms and more in terms of algorithms that lend themselves towards tweakability. There you go. It's sad that some blurtards have
Re: [music-dsp] Implicit integration is an important term, ZDF is not
Thanks Dave. If that's really the case, then the phrase 'zero delay filter' is very misleading, because it seems to imply that there is no relationship between samples in time which clearly cannot be the case (otherwise, e.g. oscillation would be impossible for the continuous-state dynamical systems we are dealing with here - it is a simple argument to show that you need a state-space of at least two dimensions to allow oscillation). Just because one cannot rearrange the finite difference system to isolate the next time sample to be computed on the left hand side of an equation, doesn't mean that the time samples are not functionally related. I may have misread, but the discussion seems to suggest that this discipline is just discovering implicit finite differencing! Is that really the case? If so, that would be odd, because implicit methods have been around for a very long time in numerical analysis. Max On 14 November 2013 12:20, Dave Gamble davegam...@gmail.com wrote: Hi, On Thursday, November 14, 2013, Max Little wrote: I've been following this somewhat heated discussion for a while! I've not read the appropriate literature, but does this really just revolve around whether someone uses implicit versus explicit finite difference methods for nonlinear ODE models of analog circuits. Basically, yes. I have a strong suspicion that these techniques will be making their way into much more common usage in audio (I think it's fair to claim that they're currently only in use at the cutting edge), and into courses etc, so I think it's reasonable that there's some to-ing and fro-ing about terminology, especially since this stuff does come with a really significant set of results (filter topologies etc). The thing is, the appropriate literature is something of a gold mine, and so this is something akin to a discussion of what should be written on the placard above the entrance. The zero delay filters name is meaningful to those already expert in the field, but less so for newcomers who won't be aware of exactly which delay it is that's been obviated. And the point Andy makes when starting this thread is that the results in this nascent field are far more broad than are captured or described by the phrase zero delay filter. This is the language thread that exists in parallel to the technical implicit/explicit methods threads. Dave. Max On 14 November 2013 11:26, Urs Heckmann u...@u-he.com wrote: My point is, It's not the fault of those who use the term in a correct way that some others have used it in a confusing way. That however doesn't justify a general - at times derogative - rant against using the term. I don't think it's very clever either. I'll leave it at that. - Urs On 14.11.2013, at 12:06, Dave Gamble davegam...@gmail.com wrote: Hey Urs, Not quite sure if this was aimed at me or Andy, though it doesn't make a ton of sense with either. Just in case it was aimed at me, I've never ever denied the utility of AndyVadim's work; quite the opposite. I'm not sure I've even ranted about the phrase. Just documented its history and explained how it caused confusion. Dave. On Thursday, November 14, 2013, Urs Heckmann wrote: Hehehe, Our methods of filter design, which are created merely from the viewpoint of algorithm design than from the perspective of conformity with EE terms is all about eliminating the unit delay - or using it as performance optimisation. I respect your viewpoint, but quite honestly, you're not doing anyone a favour if you deny the usefulness of eliminating the unit delay in typical dsp implementations of analogue filter topologies. You use DF filters to base your rant about the terminology, when quite clearly the filters that people refer to as having a unit delay in the feedback path are different ones, such as Stilson/Smith's proposed Moog ladder implementation or Chamberlin's SVF. As much irony as there may be in the fact that DF filters are *transformed implementations* of zero delay feedback free filter models (!), their implementation necessarily requires an algorithmic structure that draws all of its disadvantages from its dependency on unit delays. It's doubleplus ironic because those abstract filters aren't even usable to recreate models that are not LTI. Poles and Zeros are great for a very limited aspect of filter design, but there's no representation of nonlinear elements in them. They're half the truth, as much as using the, for your rant is half the truth. Anyhow. Algorithms. We however don't give a shit at how we arrive at the algorithm we're using. There's not a single ultimate way to go about. Starting with a nodal analysis of a circuit is one way, and it's sometimes the harder one. Because research was already done (Stilson/Smith and Chamberlin for starters) and implementations already exist that are based
Re: [music-dsp] Implicit integration is an important term, ZDF is not
To some extent, yes. While the terminology was coined earlier, two years ago we released a software that uses the very same filter algorithm in both ways: The feedback loop of the analogue counterpart was either realised with a unit delay or it was made instantaneous aka zero-delay-feedback with an iterative solver. We then used the term zero delay feedback filters in our marketing to point out the difference between those two methods. Because really, that was the only difference in the actual code. Yet, the sound of the filters rendered with zero delay feedback is remarkably better - if one knows what to listen for. We can thus claim, and still do, that with same placement of non-linearities, literally same code, zero delay feedback filters have advantages over those using a unit delay. It's quite simple, really, and meant quite literally so. It has nothing to do with the way any analogue filter was analysed and recreated in code. The product in question has been received very well in the music community. This led to an inflationary use of the word zero delay feedback filters in marketing, up to the point where (desperate?) people who had no idea what it meant used the word in a confusing fashion: Suddenly some manufacturers of competing products would cough up the term zero delay filter, which wasn't meant as a joke, but was just plain idiotism. It put the terminology itself into questionably territory. So what's happening here is, a term that - for us and maybe others too - is perfectly relevant and which builds an integral part of our generally modest marketing strategy, is being slammed in a most unfortunate way. That said, I have a good laugh at many puzzling marketing campaigns out there, but I wouldn't go and talk them down. It's just not good style. - Urs On 14.11.2013, at 12:31, Max Little max.a.lit...@gmail.com wrote: I've been following this somewhat heated discussion for a while! I've not read the appropriate literature, but does this really just revolve around whether someone uses implicit versus explicit finite difference methods for nonlinear ODE models of analog circuits? Max On 14 November 2013 11:26, Urs Heckmann u...@u-he.com wrote: My point is, It's not the fault of those who use the term in a correct way that some others have used it in a confusing way. That however doesn't justify a general - at times derogative - rant against using the term. I don't think it's very clever either. I'll leave it at that. - Urs On 14.11.2013, at 12:06, Dave Gamble davegam...@gmail.com wrote: Hey Urs, Not quite sure if this was aimed at me or Andy, though it doesn't make a ton of sense with either. Just in case it was aimed at me, I've never ever denied the utility of AndyVadim's work; quite the opposite. I'm not sure I've even ranted about the phrase. Just documented its history and explained how it caused confusion. Dave. On Thursday, November 14, 2013, Urs Heckmann wrote: Hehehe, Our methods of filter design, which are created merely from the viewpoint of algorithm design than from the perspective of conformity with EE terms is all about eliminating the unit delay - or using it as performance optimisation. I respect your viewpoint, but quite honestly, you're not doing anyone a favour if you deny the usefulness of eliminating the unit delay in typical dsp implementations of analogue filter topologies. You use DF filters to base your rant about the terminology, when quite clearly the filters that people refer to as having a unit delay in the feedback path are different ones, such as Stilson/Smith's proposed Moog ladder implementation or Chamberlin's SVF. As much irony as there may be in the fact that DF filters are *transformed implementations* of zero delay feedback free filter models (!), their implementation necessarily requires an algorithmic structure that draws all of its disadvantages from its dependency on unit delays. It's doubleplus ironic because those abstract filters aren't even usable to recreate models that are not LTI. Poles and Zeros are great for a very limited aspect of filter design, but there's no representation of nonlinear elements in them. They're half the truth, as much as using the, for your rant is half the truth. Anyhow. Algorithms. We however don't give a shit at how we arrive at the algorithm we're using. There's not a single ultimate way to go about. Starting with a nodal analysis of a circuit is one way, and it's sometimes the harder one. Because research was already done (Stilson/Smith and Chamberlin for starters) and implementations already exist that are based on Euler. In those cases it's the more obvious way to eliminate the unit delay. And then there's one thing that ultimately makes things worse from the viewpoint of theorists: Any such implementation needs to be fine tuned by ear. No analogue circuit reveals all of its character by the
Re: [music-dsp] Implicit integration is an important term, ZDF is not
OK, thanks Dave, I understand now. I would say that, 'zero delay' is just technically wrong, whereas 'implicit integration' is a rather obscure technical term which has origins in numerical analysis. However, it seems that 'implicit finite differencing' is what is actually being used, why not call a spade a spade? Well, at least this might also hint at the fact that there are a plethora of ways other than finite differencing which could use in attempting to solve nonlinear initial value ODE problems like this - for example, one could do a time window of finite element and then sample from that. Might even sound better than implicit finite differencing, who knows! Just throwing some ideas out there. Max On 14 November 2013 12:54, Dave Gamble davegam...@gmail.com wrote: Hi, On Thursday, November 14, 2013, Max Little wrote: Thanks Dave. If that's really the case, then the phrase 'zero delay filter' is very misleading, because it seems to imply that there is no relationship between samples in time which clearly cannot be the case (otherwise, e.g. oscillation would be impossible for the continuous-state dynamical systems we are dealing with here - it is a simple argument to show that you need a state-space of at least two dimensions to allow oscillation). Just because one cannot rearrange the finite difference system to isolate the next time sample to be computed on the left hand side of an equation, doesn't mean that the time samples are not functionally related. That was my original misreading too. I made this same argument in the technical thread, along with some archeology as to how the term might have come I to usage in the field. I may have misread, but the discussion seems to suggest that this discipline is just discovering implicit finite differencing! Is that really the case? If so, that would be odd, because implicit methods have been around for a very long time in numerical analysis. Far from it! What is happening is that a few list contributors have been putting worked examples of very high quality into the public domain, and we are debating presentation. I believe Andy is on our side of the debate regarding phrasing now. The question seems to be arriving at: if we oughtn't keep the potentially misleading phrase that's in common usage, and instead use existing, more common EE parlance, what phrasing should be used? Urs is right that mentioning implicit integration is so obscure as to be useless. The word implicit is also technical and has too simple a common-language connotation. I'll venture an idea, not because I have great faith in it, but because I feel like I ought to contribute something more than just narrative. Perhaps temporally coherent or something of that form could accurately capture the difference between a system that 'cheats' by inserting delays where there are none, and one that is working correctly. Andy, can you comment on the following observation? - the Stilson and smith model, with the artificial delay in the feedback, which is resolved by your implicit methods is, in fact, not an explicit method, but simply a fudged approximation; an explicit method solution would have the correct transfer function, while the Stilson and smith does not. Is that correct? Dave. Max On 14 November 2013 12:20, Dave Gamble davegam...@gmail.com wrote: Hi, On Thursday, November 14, 2013, Max Little wrote: I've been following this somewhat heated discussion for a while! I've not read the appropriate literature, but does this really just revolve around whether someone uses implicit versus explicit finite difference methods for nonlinear ODE models of analog circuits. Basically, yes. I have a strong suspicion that these techniques will be making their way into much more common usage in audio (I think it's fair to claim that they're currently only in use at the cutting edge), and into courses etc, so I think it's reasonable that there's some to-ing and fro-ing about terminology, especially since this stuff does come with a really significant set of results (filter topologies etc). The thing is, the appropriate literature is something of a gold mine, and so this is something akin to a discussion of what should be written on the placard above the entrance. The zero delay filters name is meaningful to those already expert in the field, but less so for newcomers who won't be aware of exactly which delay it is that's been obviated. And the point Andy makes when starting this thread is that the results in this nascent field are far more broad than are captured or described by the phrase zero delay filter. This is the language thread that exists in parallel to the technical implicit/explicit methods threads. Dave. Max On 14 November 2013 11:26, Urs Heckmann u...@u-he.com wrote: My point is, It's not the fault of those who use the term in a
Re: [music-dsp] Implicit integration is an important term, ZDF is not
Thanks Urs. Politely, since your explanation is riddled with 'zero delay', you are at the risk of generating endless sources of confusion, for example, by contrasting 'zero delay' with 'unit delay'. Anway, I didn't know that implicit finite differencing in audio signal processing led to better sounding outputs, would like to hear a demo of this and test out whether my ears can tell the difference, 'blinded' of course. But of course, that isn't maths, it is pscyhoacoustics, and that is a whole different thing, where you can't prove anything for sure and subjectivity and suggestion effects runs rife (different coloured speaker cables ... recently, I saw a company selling metal 'bricks' that you were supposed to place on your amplifier to make it sound better). Interesting topic, a nice diversion from me trying to track down the source of a missing scale factor of 2 in some E-M PCA code I'm writing, aargh! Max On 14 November 2013 12:48, Urs Heckmann u...@u-he.com wrote: To some extent, yes. While the terminology was coined earlier, two years ago we released a software that uses the very same filter algorithm in both ways: The feedback loop of the analogue counterpart was either realised with a unit delay or it was made instantaneous aka zero-delay-feedback with an iterative solver. We then used the term zero delay feedback filters in our marketing to point out the difference between those two methods. Because really, that was the only difference in the actual code. Yet, the sound of the filters rendered with zero delay feedback is remarkably better - if one knows what to listen for. We can thus claim, and still do, that with same placement of non-linearities, literally same code, zero delay feedback filters have advantages over those using a unit delay. It's quite simple, really, and meant quite literally so. It has nothing to do with the way any analogue filter was analysed and recreated in code. The product in question has been received very well in the music community. This led to an inflationary use of the word zero delay feedback filters in marketing, up to the point where (desperate?) people who had no idea what it meant used the word in a confusing fashion: Suddenly some manufacturers of competing products would cough up the term zero delay filter, which wasn't meant as a joke, but was just plain idiotism. It put the terminology itself into questionably territory. So what's happening here is, a term that - for us and maybe others too - is perfectly relevant and which builds an integral part of our generally modest marketing strategy, is being slammed in a most unfortunate way. That said, I have a good laugh at many puzzling marketing campaigns out there, but I wouldn't go and talk them down. It's just not good style. - Urs On 14.11.2013, at 12:31, Max Little max.a.lit...@gmail.com wrote: I've been following this somewhat heated discussion for a while! I've not read the appropriate literature, but does this really just revolve around whether someone uses implicit versus explicit finite difference methods for nonlinear ODE models of analog circuits? Max On 14 November 2013 11:26, Urs Heckmann u...@u-he.com wrote: My point is, It's not the fault of those who use the term in a correct way that some others have used it in a confusing way. That however doesn't justify a general - at times derogative - rant against using the term. I don't think it's very clever either. I'll leave it at that. - Urs On 14.11.2013, at 12:06, Dave Gamble davegam...@gmail.com wrote: Hey Urs, Not quite sure if this was aimed at me or Andy, though it doesn't make a ton of sense with either. Just in case it was aimed at me, I've never ever denied the utility of AndyVadim's work; quite the opposite. I'm not sure I've even ranted about the phrase. Just documented its history and explained how it caused confusion. Dave. On Thursday, November 14, 2013, Urs Heckmann wrote: Hehehe, Our methods of filter design, which are created merely from the viewpoint of algorithm design than from the perspective of conformity with EE terms is all about eliminating the unit delay - or using it as performance optimisation. I respect your viewpoint, but quite honestly, you're not doing anyone a favour if you deny the usefulness of eliminating the unit delay in typical dsp implementations of analogue filter topologies. You use DF filters to base your rant about the terminology, when quite clearly the filters that people refer to as having a unit delay in the feedback path are different ones, such as Stilson/Smith's proposed Moog ladder implementation or Chamberlin's SVF. As much irony as there may be in the fact that DF filters are *transformed implementations* of zero delay feedback free filter models (!), their implementation necessarily requires an algorithmic structure that draws all of its disadvantages from its dependency on
[music-dsp] Implicit integration is an important term, ZDF is not
On Thursday, November 14, 2013, Urs Heckmann wrote: On 14.11.2013, at 13:20, Dave Gamble davegam...@gmail.com wrote: The zero delay filters name is meaningful to those already expert in the field, but less so for newcomers who won't be aware of exactly which delay it is that's been obviated. And the point Andy makes when starting this thread is that the results in this nascent field are far more broad than are captured or described by the phrase zero delay filter. wrong term :-p Huh. I see it abbreviated to 0df everywhere. I stand corrected. I can see how this might feel like an attack on you now. Not my intention. I'm much more interested in the academic side, and understanding Andy's humour :P So zero delay feedback filter is an abbreviation for no unit delay artificially inserted into the feedback path of the filter, which exactly marries with what I had inferred from the history. Originally, Vadim's work could be said to be about eliminating feedback path delays (which rings a bell), and, sorry if this is hand wavy, Andy's work generalises the idea to direct discretisation via implicit methods (which would never lead to inserting an arbitrary delay into the feedback path). Urs, I can see how your description is exact, but also how it's context creates a specificity that can confuse. I was confused. Dave. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
Hi Dave Oh, that's really not the question. If you insert a delay that isn't there into the feedback path of a filter, you get the wrong transfer function. No-one has been adding in random delays into linear filters, because you'd hear that immediately and it just means your response is wrong. On the other hand, in a synth filter feedback path, that delay doesn't destroy the response for low feedback amounts, but as you turn it up, you deviate from the response you wanted. Hmmm ... yes, well I wasn't making any statements at all about inserting random delays, obviously, doing that would produce some 'unintended' consequences as you suggest! I was restricting my comments to the implicit FD vs. 'zero delay' confusion. Nah, this is about the Stilson and smith models, and their ilk. The old tendency for people to go: oh, feedback, meh, I'll just stick a delay in that and that'll be fine. That's stopping now. Should clarify, I was just responding to Urs' saying that the implicit FD method he's using sounds better than (I'm inferring) explicit FD. Interesting topic, a nice diversion from me trying to track down the source of a missing scale factor of 2 in some E-M PCA code I'm writing, aargh! Woo! You're, like, a real numerical analyst! Yaay! Pleasure to make your acquaintance! Nice to talk to you too! Well, I'm a professional applied mathematician, wouldn't say I'm a 'numerical analyst' per se, although I have a PhD from Oxford in applied mathematics (nonlinear dynamics and nonlinear DSP), and have about 15 year's experience of numerical analysis, nonlinear IVP's included. So, I think I have learned a thing or two about the subject ... Max -- Max Little (www.maxlittle.net) Wellcome Trust/MIT Fellow and Assistant Professor, Aston University TED Fellow (fellows.ted.com/profiles/max-little) Visiting Assistant Professor, MIT Room MB318A, Aston University Aston Triangle, Birmingham, B4 7ET, UK UK +44 7710 609564/+44 121 204 5327 Skype dr.max.little -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
Thanks Ross. Good point about the practical utility of implicit FD and increasing computational power. There's also all the issues about uniqueness of implicit FDs arising from nonlinear IVPs, and then there's stability, convergence, weather the resulting method is essentially non-oscillatory etc. I suppose there are additional issues to do with frequency response which may be what matters most in audio DSP. Max On 14 November 2013 14:06, Ross Bencina rossb-li...@audiomulch.com wrote: On 14/11/2013 11:41 PM, Max Little wrote: I may have misread, but the discussion seems to suggest that this discipline is just discovering implicit finite differencing! Is that really the case? If so, that would be odd, because implicit methods have been around for a very long time in numerical analysis. Hi Max, I think you would be extrapolating too far to say that a few people tossing around ideas on a mailing list are representative of the trends of an entire discipline. On this mailing list I would struggle to guess which this discipline you are refering to. Suffice to say that a lot of the people discussing things in this thread are developers not research scientists. Some practitioners are just discovering new practicable applications of implicit finite differencing in the last 10 years or so. One good reason for this is that in the past these techniques were completely irrelevant because they were too expensive to apply in real time at the required scale (100+ synthesizer voices, 100+ DAW channels). It also seems that the market has changed such that people will pay for a monophonic synth that burns a whole i7 CPU core. Cheers, Ross. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp -- Max Little (www.maxlittle.net) Wellcome Trust/MIT Fellow and Assistant Professor, Aston University TED Fellow (fellows.ted.com/profiles/max-little) Visiting Assistant Professor, MIT Room MB318A, Aston University Aston Triangle, Birmingham, B4 7ET, UK UK +44 7710 609564/+44 121 204 5327 Skype dr.max.little -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
Heya, On Thursday, November 14, 2013, Max Little wrote: Hi Dave Oh, that's really not the question. If you insert a delay that isn't there into the feedback path of a filter, you get the wrong transfer function. No-one has been adding in random delays into linear filters, because you'd hear that immediately and it just means your response is wrong. On the other hand, in a synth filter feedback path, that delay doesn't destroy the response for low feedback amounts, but as you turn it up, you deviate from the response you wanted. Hmmm ... yes, well I wasn't making any statements at all about inserting random delays, obviously, doing that would produce some 'unintended' consequences as you suggest! I was restricting my comments to the implicit FD vs. 'zero delay' confusion. Sorry if this is over clarification, but the zero-ed delay is the artificial one in the feedback path. This whole thing is about cheating vs doing it right. Nah, this is about the Stilson and smith models, and their ilk. The old tendency for people to go: oh, feedback, meh, I'll just stick a delay in that and that'll be fine. That's stopping now. Should clarify, I was just responding to Urs' saying that the implicit FD method he's using sounds better than (I'm inferring) explicit FD. The cheating isn't exactly explicit fd. It's just an incorrect approximation that's very common. My understanding of this thread is that no-one has made direct comparison between implicit and explicit methods, but andy loosely (erroneously?) lumped the SS approximation in with explicit methods in a vague hand wavy way. In my last post, I called on him to confirm that exact assertion. The SS -is- predicated on an explicit method... But it's also incorrect. So implicit is not better than explicit because of reasons, but a working implicit is better than a broken explicit. That's as far as it goes. Interesting topic, a nice diversion from me trying to track down the source of a missing scale factor of 2 in some E-M PCA code I'm writing, aargh! Woo! You're, like, a real numerical analyst! Yaay! Pleasure to make your acquaintance! Nice to talk to you too! Well, I'm a professional applied mathematician, wouldn't say I'm a 'numerical analyst' per se, although I have a PhD from Oxford in applied mathematics (nonlinear dynamics and nonlinear DSP), and have about 15 year's experience of numerical analysis, nonlinear IVP's included. So, I think I have learned a thing or two about the subject ... I imagine so! I get the impression that scant few in this field have an applied maths background. Plenty of EE, some compsci, and the occasional pure mathematician. I'd like to claim that applied maths leaves one with a gritty realism and unshakeable pragmatism. ;) All the best, Dave. Max -- Max Little (www.maxlittle.net) Wellcome Trust/MIT Fellow and Assistant Professor, Aston University TED Fellow (fellows.ted.com/profiles/max-little) Visiting Assistant Professor, MIT Room MB318A, Aston University Aston Triangle, Birmingham, B4 7ET, UK UK +44 7710 609564/+44 121 204 5327 Skype dr.max.little -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
Hi Max, Another data point which would seem to support your take on things. This is the first monograph in Sound Synthesis that I'm aware of that specifically addresses finite difference methods (other examples welcome): Stefan Bilbao (2009), Numerical Sound Synthesis: Finite Difference Schemes and Simulation in Musical Acoustics http://www.amazon.com/Numerical-Sound-Synthesis-Difference-Simulation/dp/0470510463 Not that there are that many books on sound synthesis... Ross. On 15/11/2013 1:14 AM, Max Little wrote: Thanks Ross. Good point about the practical utility of implicit FD and increasing computational power. There's also all the issues about uniqueness of implicit FDs arising from nonlinear IVPs, and then there's stability, convergence, weather the resulting method is essentially non-oscillatory etc. I suppose there are additional issues to do with frequency response which may be what matters most in audio DSP. Max On 14 November 2013 14:06, Ross Bencina rossb-li...@audiomulch.com wrote: On 14/11/2013 11:41 PM, Max Little wrote: I may have misread, but the discussion seems to suggest that this discipline is just discovering implicit finite differencing! Is that really the case? If so, that would be odd, because implicit methods have been around for a very long time in numerical analysis. Hi Max, I think you would be extrapolating too far to say that a few people tossing around ideas on a mailing list are representative of the trends of an entire discipline. On this mailing list I would struggle to guess which this discipline you are refering to. Suffice to say that a lot of the people discussing things in this thread are developers not research scientists. Some practitioners are just discovering new practicable applications of implicit finite differencing in the last 10 years or so. One good reason for this is that in the past these techniques were completely irrelevant because they were too expensive to apply in real time at the required scale (100+ synthesizer voices, 100+ DAW channels). It also seems that the market has changed such that people will pay for a monophonic synth that burns a whole i7 CPU core. Cheers, Ross. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
Hi Ross Thanks for the link to that book. I remember that Stefan did some great work in energy-preserving FD methods for musical instrument simulation when he was working with J.O. Smith at CCRMA, trying to extend the waveguide method really. These are quite specialized though, and won't apply to an arbitrary nonlinear electronic circuit - there has to be an underlying 'conservation law'. Shame that there aren't more of these kind of systematic texts on numerical analysis applied to musical electronics. Max On 14 November 2013 14:23, Ross Bencina rossb-li...@audiomulch.com wrote: Hi Max, Another data point which would seem to support your take on things. This is the first monograph in Sound Synthesis that I'm aware of that specifically addresses finite difference methods (other examples welcome): Stefan Bilbao (2009), Numerical Sound Synthesis: Finite Difference Schemes and Simulation in Musical Acoustics http://www.amazon.com/Numerical-Sound-Synthesis-Difference-Simulation/dp/0470510463 Not that there are that many books on sound synthesis... Ross. On 15/11/2013 1:14 AM, Max Little wrote: Thanks Ross. Good point about the practical utility of implicit FD and increasing computational power. There's also all the issues about uniqueness of implicit FDs arising from nonlinear IVPs, and then there's stability, convergence, weather the resulting method is essentially non-oscillatory etc. I suppose there are additional issues to do with frequency response which may be what matters most in audio DSP. Max On 14 November 2013 14:06, Ross Bencina rossb-li...@audiomulch.com wrote: On 14/11/2013 11:41 PM, Max Little wrote: I may have misread, but the discussion seems to suggest that this discipline is just discovering implicit finite differencing! Is that really the case? If so, that would be odd, because implicit methods have been around for a very long time in numerical analysis. Hi Max, I think you would be extrapolating too far to say that a few people tossing around ideas on a mailing list are representative of the trends of an entire discipline. On this mailing list I would struggle to guess which this discipline you are refering to. Suffice to say that a lot of the people discussing things in this thread are developers not research scientists. Some practitioners are just discovering new practicable applications of implicit finite differencing in the last 10 years or so. One good reason for this is that in the past these techniques were completely irrelevant because they were too expensive to apply in real time at the required scale (100+ synthesizer voices, 100+ DAW channels). It also seems that the market has changed such that people will pay for a monophonic synth that burns a whole i7 CPU core. Cheers, Ross. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp -- Max Little (www.maxlittle.net) Wellcome Trust/MIT Fellow and Assistant Professor, Aston University TED Fellow (fellows.ted.com/profiles/max-little) Visiting Assistant Professor, MIT Room MB318A, Aston University Aston Triangle, Birmingham, B4 7ET, UK UK +44 7710 609564/+44 121 204 5327 Skype dr.max.little -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
On 11/13/13 1:05 PM, Lubomir I. Ivanov wrote: On 13 November 2013 08:50, Andrew Simpera...@cytomic.com wrote: Now for all those people scratching their heads of the whole Zero Delay Feedback, here is the deal: Any implicit integration method applied to numerically integrate something is by its very definition using Zero Delay Feedback, linear or non-linear this is the case. You can completely ignore that you need some previous state to add things to, this is always the case for numerical integration. ... I hope this clears things up and exposes ZDF as a confusing and pointless marketing catch phrase. on topic i guess, i think that ZDF is a horrible term targeting real EE's. for the DSP crowd it may sound sane, but even then it could be expanded to something like zero unit delay feedback and i'm not even sure that will work any better. BTW Andy, you mention DFI a lot, perhaps because RBJ has them in the popular filters, listen, the Cookbook is really just about determining coefficients for 2nd-order IIR filters. it *does* make use of DF1 as an example of implementation. but it is meant to be agnostic about DF1 vs. Lattice vs. Chamberlin SVF or whatever. all of these different forms can be related to each other, so you can still use the Cookbook for your fav 2nd-order IIR topology and get the same frequency response. but aren't all the direct forms (even the transposed ones), so called delay free i don't consider them delay free in their feedback path. not at all. - gathering this from the top of my head, as i haven't look at the flow graphs much since the last time i tried making them into code? the semantic i used for zero delay feedback is that there is no delay in the feedback loop. using the language similar to http://www.nireaktor.com/reaktor-tutorials/zero-delay-feedback-filters-in-reaktor/ , a causal discrete-time operation: y[n] = g(y[n-1], y[n-2], ... x[n], x[n-1],...) so the output sample is a function of the present input and past input samples and of past output samples. no logical problem here. all of these arguments of g() are known at time n. the zero-delay feedback filter purports to implement y[n] = g(y[n], y[n-1], y[n-2], ... x[n], x[n-1],...) and, of course, the logical problem is how does the algorithm g() know what the argument y[n] is when that is precisely the value that g() is returning? not yet determined. i know (especially for LTI systems), that you can plug all those arguments into g() and solve for y[n] and get an answer. for more complicated algs, you might have to iteratively solve for y[n]. but that does not change the fact that, in reality, y[n] is being determined from knowledge of present and past input samples x[n], and *past* samples of y[n]. that is my only bone to pick with 0df. i just see it as another causal algorithm and each and every *causal* discrete-time algorithm, linear or not, time-invariant or not, *must* define its output sample in terms of present and past input samples and *past* output samples. like Euler's backward method (i think we called it predictor-corrector) for numerically solving differential equations, it's just fine to jump through some hoops to predict the present output sample before you actually compute it. but when you finally commit to your output sample y[n], that value is a function of the present and past x[n] and only the *past* y[n]. -- r b-j r...@audioimagination.com Imagination is more important than knowledge. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
I may have misread, but the discussion seems to suggest that this discipline is just discovering implicit finite differencing! Is that really the case? If so, that would be odd, because implicit methods have been around for a very long time in numerical analysis. Max Max, can I please give you a hug? I am beating my head against the wall with these music-dsp that think this stuff is somehow novel.. All the best, Andy -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
The question seems to be arriving at: if we oughtn't keep the potentially misleading phrase that's in common usage, and instead use existing, more common EE parlance, what phrasing should be used? Direct implicit integration covers it perfectly. Direct meaning not through the laplace space or other intermediate LTI analysis, and the implicit integration covers you are taking into account the the current state is used to solve for the output. You could specify the integrator being used if you don't like implicit and say direct trapezoidal integration or even drop the integration and specify the structure directly as in direct trapezoidal svf. Since you specify the structure then you could possibly even shorten this further to trapezoidal svf. Urs is right that mentioning implicit integration is so obscure as to be useless. The word implicit is also technical and has too simple a common-language connotation. I'm sorry that you and your customers are not familiar with the correct terminology to describe this. I feel its best not to even bother to describe it in a technical manner to customers. The problem is you can come up with an explicit solution that takes great care to come out with a trapezoidal frequency response and then you can oversample this to push any inaccuracies out of the audible area, so then what? Should this be orphaned as not being implicit when it will sound identical and offer lower cpu to boot? Can't people just be happy that the developer has taken care to solve things as properly as they see fit with whatever methods are appropriate for the situation at hand? Andy, can you comment on the following observation? - the Stilson and smith model, with the artificial delay in the feedback, which is resolved by your implicit methods is, in fact, not an explicit method, but simply a fudged approximation; an explicit method solution would have the correct transfer function, while the Stilson and smith does not. Is that correct? Not really. And slow down there skipper! These are not my methods, implicit integration has been around for a very long time. You are confusing implicit with trapezoidal here. The trapezoidal response is a very specific and useful one for audio. Not all implicit methods preserve resonance, eg Backwards Euler, Implicit Gear. Qucs to the rescue! http://qucs.sourceforge.net/tech/node24.html In summary an explicit method depends only on the previous state of the system to solve the system. So in that regard most music dsp people are using semi-explicit systems. Here ya go (please note that the following isn't strictly accurate since I am trying to show dependencies not specific implementations details of implicit and explicit numerical integration schemes, so just keep and eye on the z terms) v1z = v1 z^-1 v2z = v2 z^-1 v3z = v3 z^-1 v4z = v4 z^-1 CASCADE explicit (uses only previous outputs): v1 = v1z + g (v0 - v1z - k v4z) v2 = v2z + g (v1z - v2z) v3 = v3z + g (v2z - v3z) v4 = v4z + g (v3z - v4z) explicit (partly forward euler, the resonance and low pass filters are still explicit, but you take the current estimated output of the previous stage as the input to the next stage) - note that in the Stilton and Smith version they use (a)*vi + (1-a)*viz as the input to the i+1st stage which is an adjustment to trapezoidal integration to not cause quite as much phase delay at cutoff: v1 = v1z + g (v0 - v1z - k v4z) v2 = v2z + g (v1 - v2z) v3 = v3z + g (v2 - v3z) v4 = v4z + g (v3 - v4z) implicit: v1 = v1z + g (v0 - v1 - k v4) v2 = v2z + g (v1 - v2) v3 = v3z + g (v2 - v3) v4 = v4z + g (v3 - v4) SVF Similarly for the SVF, the fully explicit filter is: v1 = v1z + g (v0 - k v1z - v2z) v2 = v2z + g (v1z) the Chamberlin is: v1 = v1z + g (v0 - k v1z - v2z) v2 = v2z + g (v1) and the implicit: v1 = v1z + g (v0 - k v1 - v2) v2 = v2z + g (v1) I hope that helps! All the best, Andy -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
There you go. It's sad that some blurtards have caused confusion with stupid terminology - I'm talking about the zero delay filter misnomer. That however doesn't make it seem less arrogant to make fun of people who practice eliminating the unit delay as their method. Because for those and their point of view, zero delay feedback is relevant. - Urs Hi Urs, Please don't take this thread as a personal attack, you're a friend and a peer who makes excellent music software, software that I am happy to use in my own productions. I understand that from your perspective it makes perfect sense to use the phrase zero delay feedback filter, I am not making fun of you, I am pointing out the problems with the terminology. There is a difference between being arrogant and being deliberately confrontational to stir the pot and provoke a reaction and hopefully help people in the long run. I don't for one second think I'm better than anyone, and I'm doing my best to use references and back up my reasoning with examples, and to show the substantial existing body of knowledge that lots of people have ignored. I am not pretending I invented this stuff (that would be arrogant) I never insulted anyone even if they insult me, but if people take my technical comments personally then perhaps it is just because I am pointing out something they need to come to terms with. All the best, Andy -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
If you are not familiar with what finite difference methods can do then... This reads badly. I don't mean you Max, I meant for anyone not familiar... -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
but aren't all the direct forms (even the transposed ones), so called delay free i don't consider them delay free in their feedback path. not at all. Hi Robert, I think here we are not talking about does the implementation use delays in its own feedback path clearly a DF1 does, as does any digital filter, they have to store some state. The question is does a DF1 model the LTI continuous biquad using an implicit integration scheme? Clearly the answer is yes, it uses the bi-linear transform, which is implicit, so relies on the current and previous state to solve things. - gathering this from the top of my head, as i haven't look at the flow graphs much since the last time i tried making them into code? the semantic i used for zero delay feedback is that there is no delay in the feedback loop. using the language similar to http://www.nireaktor.com/reaktor-tutorials/zero-delay- feedback-filters-in-reaktor/ , a causal discrete-time operation: y[n] = g(y[n-1], y[n-2], ... x[n], x[n-1],...) so the output sample is a function of the present input and past input samples and of past output samples. no logical problem here. all of these arguments of g() are known at time n. the zero-delay feedback filter purports to implement y[n] = g(y[n], y[n-1], y[n-2], ... x[n], x[n-1],...) and, of course, the logical problem is how does the algorithm g() know what the argument y[n] is when that is precisely the value that g() is returning? not yet determined. i know (especially for LTI systems), that you can plug all those arguments into g() and solve for y[n] and get an answer. for more complicated algs, you might have to iteratively solve for y[n]. but that does not change the fact that, in reality, y[n] is being determined from knowledge of present and past input samples x[n], and *past* samples of y[n]. Yes, this is the definition of implicit and if you read the title this is the clarification I'm trying to make, so thankyou for backing me up that this is the case. that is my only bone to pick with 0df. i just see it as another causal algorithm and each and every *causal* discrete-time algorithm, linear or not, time-invariant or not, *must* define its output sample in terms of present and past input samples and *past* output samples. This is part of the problem that causes confusion (but not even one that I have brought up!). What Urs and others are talking about is not that you need some previous state, you obviously do for a filter to work at all, but rather do you use the only the previous state, or both the current and previous state to work out the current answer. This is why I am suggesting using the standard terminology of explicit and implicit integration since it is a well defined and widely used term in mathematics and so won't cause confusion. Thanks for being confused about the terminology and so showing that even an expert in the field finds ZDF a confusing term! like Euler's backward method (i think we called it predictor-corrector) for numerically solving differential equations, it's just fine to jump through some hoops to predict the present output sample before you actually compute it. but when you finally commit to your output sample y[n], that value is a function of the present and past x[n] and only the *past* y[n]. -- r b-j r...@audioimagination.com Imagination is more important than knowledge. Backwards Euler is an implicit method, predictor corrector is another thing again entirely. If anyone wants to discuss such methods can you please do so in another thread, people are confused enough as it is! All the best, Andy -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
On 13.11.2013, at 07:50, Andrew Simper a...@cytomic.com wrote: I hope this clears things up and exposes ZDF as a confusing and pointless marketing catch phrase. It's not pointless for marketing in the sense that instantaneous feedback is much easier to explain than implicit integration. Users usually don't have profound knowledge of maths, whereas a delayless feedback loop is easily illustrated. In other words, we would lose customers if we advertised uses implicit integration, yay ;-) It may be pointless here though, unless one refers to papers where the unit delay in the feedback path was pointed out as the holy grail of getting things running in realtime. I just checked Hal Chamberlin's book, and he explicitely uses the term delay (musical applications of micro-processors, pp440). Yet, pretty much the same code and same forumulae can be solved without the unit delay, to a great advantage. In fact, our filter design is made up in such a way that there's the filter code and state variables for each model on one hand and a set of numerical solvers on the other. Each can be combined freely. One solver uses SIMD and a bracketing algorithm to converge feedback and output samples, while one solver simply uses a unit delay. Thus we can test the very same filter code with and without that unit delay. The difference is audible in every case, even after working around tuning differences. - Urs -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
On 13 November 2013 08:50, Andrew Simper a...@cytomic.com wrote: Now for all those people scratching their heads of the whole Zero Delay Feedback, here is the deal: Any implicit integration method applied to numerically integrate something is by its very definition using Zero Delay Feedback, linear or non-linear this is the case. You can completely ignore that you need some previous state to add things to, this is always the case for numerical integration. out of curiosity, have you encountered a case where trapezoidal is non-optimal or have you tried comparing it to simpson's? lubomir -- -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
Hi Clemens and Urs! Time for a backflip from me, I completely agree with all the points you have both made in that describing to customers that there are no delays in feedback paths is much easier than describing implicit integration schemes. The title I gave this thread is clearly wrong and attention grabbing for which I apologize (but it did grab your attention didn't it ;) So how about I start again? The point I actually meant to make but failed completely to is this: Since all DF1 (including RBJ cookbook) and other trapezoidal integrated filters solve things without delays in feedback loops then simply stating you use Zero Delay Feedback filters does not help much inform customers anything special going on, as most of the time this will be the case. What is useful is stating you use Non-linear Zero Delay Filters, but how much difference do you think that is going to make with customers? I fear they will mostly just see the words Zero Delay Filters and not differential much past that. All the best, Andy cytomic - sound music software On 13 November 2013 22:32, Andrew Simper a...@cytomic.com wrote: On 13 November 2013 20:51, Didier Dambrin di...@skynet.be wrote: Trapezoidal.. Simpsons.. that reminds me of this quote (from The Simpsons) First, let me assure you that this is not one of those shady pyramid schemes you’ve been hearing about. No sir. Our model is the trapezoid! I hope this made science progress :D -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
On 13 November 2013 14:51, Didier Dambrin di...@skynet.be wrote: Trapezoidal.. Simpsons.. that reminds me of this quote (from The Simpsons) First, let me assure you that this is not one of those shady pyramid schemes you’ve been hearing about. No sir. Our model is the trapezoid! heh, that's a golden one and it hints of cleaver writers :). too bad the show went down the drain in the recent years... :) lubomir -- -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
On 13 November 2013 08:50, Andrew Simper a...@cytomic.com wrote: Now for all those people scratching their heads of the whole Zero Delay Feedback, here is the deal: Any implicit integration method applied to numerically integrate something is by its very definition using Zero Delay Feedback, linear or non-linear this is the case. You can completely ignore that you need some previous state to add things to, this is always the case for numerical integration. So trapezoidal integration as well as the bi-linear transform solve the implicit equations with different realisations, but the results are both ZDF because they both used the implicit trapezoidal integration method to solve things even if this is done indirectly via the laplace space. The key thing here is if the integrator is implicit or explicit, ZDF is unavoidable if you use implicit methods, explicit methods will contain delay: http://en.wikipedia.org/wiki/Explicit_and_implicit_methods *Explicit methods* calculate the state of a system at a later time from the state of the system at the current time, while *implicit methods* find a solution by solving an equation involving both the current state of the system and the later one. I hope this clears things up and exposes ZDF as a confusing and pointless marketing catch phrase. on topic i guess, i think that ZDF is a horrible term targeting real EE's. for the DSP crowd it may sound sane, but even then it could be expanded to something like zero unit delay feedback and i'm not even sure that will work any better. BTW Andy, you mention DFI a lot, perhaps bacause RBJ has them in the popular filters, but aren't all the direct forms (even the transposed ones), so called delay free - gathering this from the top of my head, as i haven't look at the flow graphs much since the last time i tried making them into code? actually delay free is event crazier because this is IIR and there is the group delay factor, so...how is it delay free given there is distortion and the frequency decomposition is variadic due to magnitude envelopes...i know that implies differently, but still some of this product terminology is just non-sense IMO. i completely and absolutely disregard the marketing of DSP software product in therms of terminology that users will never understand and i'm sure that even if you put uses calculus equations in there, it will still sell much better than the average, cleverly unadvertised produced. lubomir -- -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
On 14 November 2013 01:28, Dave Gamble davegam...@gmail.com wrote: On Wed, Nov 13, 2013 at 2:29 PM, Andrew Simper a...@cytomic.com wrote: On 13 November 2013 20:00, Urs Heckmann u...@u-he.com wrote: On 13.11.2013, at 07:50, Andrew Simper a...@cytomic.com wrote: I hope this clears things up and exposes ZDF as a confusing and pointless marketing catch phrase. It's not pointless for marketing in the sense that instantaneous feedback is much easier to explain than implicit integration. Users usually don't have profound knowledge of maths, whereas a delayless feedback loop is easily illustrated. In other words, we would lose customers if we advertised uses implicit integration, yay ;-) Well it is time for all people using DF1 to ratchet up their marketing and start touting [*] featuring Zero Delay Feedback technology!! (go on Dave Gamble I know you are just itching to do this ;) In opposites world, sure. You may have me backwards. Despite my fairly inane sense of humour, I do strive (not always successfully, of course) to avoid any kind of sensationalism that the customer can see. I'm strongly anti-bullshit, because I'm just not very good at it. Dave. You have expressed quite clearly your distaste for this particular terminology, I'm just having fun :) -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
On 13 November 2013 23:31, Andrew Simper a...@cytomic.com wrote: Hi Clemens and Urs! Time for a backflip from me, I completely agree with all the points you have both made in that describing to customers that there are no delays in feedback paths is much easier than describing implicit integration schemes. The title I gave this thread is clearly wrong and attention grabbing for which I apologize (but it did grab your attention didn't it ;) So how about I start again? The point I actually meant to make but failed completely to is this: Since all DF1 (including RBJ cookbook) and other trapezoidal integrated filters solve things without delays in feedback loops then simply stating you use Zero Delay Feedback filters does not help much inform customers anything special going on, as most of the time this will be the case. What is useful is stating you use Non-linear Zero Delay Filters, but how much difference do you think that is going to make with customers? I fear they will mostly just see the words Zero Delay Filters and not differential much past that. All the best, Andy Should be non-linear zero delay feedback filters in the above (see how easy this stuff is to get mixed up?) But here is another backflip: How about this one, take a basic one pole active low pass filter what uses feedback, it has the idealised nodal equations: 0 == geqamp (v0 - v1) - gceq v2 + iceq now take the same thing but in a passive ideal form with variable resistor (ie without feedback at all): 0 == gr (v0 - v1) - gceq v2 + iceq note that gr = 1/R So here we have the solution of the equations without feedback being identical to those with feedback, and the implementation will sound identical if the same integrator is used, so the important point is if the integrator implicit not if there was zero delay feedback or not. And further more, if we consider the slight misuse of the terminology like this: featuring zero delay feedback technology Sounds good huh? Well have a look at this circuit: http://www.eecs.tufts.edu/~dsculley/tutorial/opamps/opAmpBuffer.jpg If you take an idealised op amp with negative feedback then model this with zero delay feedback technology then you get the following analog model: output = input so every single time an assignment is done in dsp you could easily argue that you are using zero delay feedback technology Oh so much fun to be had! All the best, Andy -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
But here is another backflip: How about this one, take a basic one pole active low pass filter what uses feedback, it has the idealised nodal equations: 0 == geqamp (v0 - v1) - gceq v2 + iceq now take the same thing but in a passive ideal form with variable resistor (ie without feedback at all): 0 == gr (v0 - v1) - gceq v2 + iceq note that gr = 1/R I didn't draw a diagram and so got those equations wrong, it should be - gceq v1 + iceq in both cases for the capacitor, so the full equations are: 0 == geqamp (v0 - v1) - gceq v1 + iceq now take the same thing but in a passive ideal form with variable resistor (ie without feedback at all): 0 == gr (v0 - v1) - gceq v1 + iceq note that gr = 1/R -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
Hi, On Wednesday, November 13, 2013, Andrew Simper wrote: On 13 November 2013 23:31, Andrew Simper a...@cytomic.com javascript:; wrote: Hi Clemens and Urs! Time for a backflip from me, I completely agree with all the points you have both made in that describing to customers that there are no delays in feedback paths is much easier than describing implicit integration schemes. The title I gave this thread is clearly wrong and attention grabbing for which I apologize (but it did grab your attention didn't it ;) So how about I start again? The point I actually meant to make but failed completely to is this: Since all DF1 (including RBJ cookbook) and other trapezoidal integrated filters solve things without delays in feedback loops then simply stating you use Zero Delay Feedback filters does not help much inform customers anything special going on, as most of the time this will be the case. What is useful is stating you use Non-linear Zero Delay Filters, but how much difference do you think that is going to make with customers? I fear they will mostly just see the words Zero Delay Filters and not differential much past that. All the best, Andy Should be non-linear zero delay feedback filters in the above (see how easy this stuff is to get mixed up?) But here is another backflip: How about this one, take a basic one pole active low pass filter what uses feedback, it has the idealised nodal equations: 0 == geqamp (v0 - v1) - gceq v2 + iceq now take the same thing but in a passive ideal form with variable resistor (ie without feedback at all): 0 == gr (v0 - v1) - gceq v2 + iceq But I get to do my special Cauchy dance for either! (In case you missed the post, it involves raising my arms above my head and circling the room, arms flailing, describing a closed loop within the s-plane of my office, while yelling the word feedback. There's no specific period to the yelling.) It's just that the op amp circuit has explicit (around the opamp) feedback, while the passive RC has implicit feedback. Every time I see a valve circuit with R|C to ground off the cathode, that's universally agreed to be feedback... But implicit, not explicit. I'm open to changing my definition of feedback, but I can't go with one that requires me to assign the direction of a wire, cause that's not how I imagine things. Why not go with feedback in both cases? As Wittgenstein said: We are engaged in a struggle with language. Although, for fairness, he did also say: When we can't think for ourselves, we can always quote. Dave. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Implicit integration is an important term, ZDF is not
on topic i guess, i think that ZDF is a horrible term targeting real EE's. for the DSP crowd it may sound sane, but even then it could be expanded to something like zero unit delay feedback and i'm not even sure that will work any better. Yeah I agree BTW Andy, you mention DFI a lot, perhaps bacause RBJ has them in the popular filters, but aren't all the direct forms (even the transposed ones), so called delay free - gathering this from the top of my head, as i haven't look at the flow graphs much since the last time i tried making them into code? Yes, all bi-linear filters derived from the laplace space representation of on active filter (ie one with feedback) are Delay Free Feedback Filters actually delay free is event crazier because this is IIR and there is the group delay factor, so...how is it delay free given there is distortion and the frequency decomposition is variadic due to magnitude envelopes...i know that implies differently, but still some of this product terminology is just non-sense IMO. Yes, its a stupendously vague term all around, but I think care needs to be taken to always state delay free feedbacks, but even then it is easy enough to break it down and make it a pointless distinction. i completely and absolutely disregard the marketing of DSP software product in therms of terminology that users will never understand and i'm sure that even if you put uses calculus equations in there, it will still sell much better than the average, cleverly unadvertised produced. lubomir -- -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
[music-dsp] Implicit integration is an important term, ZDF is not
Now for all those people scratching their heads of the whole Zero Delay Feedback, here is the deal: Any implicit integration method applied to numerically integrate something is by its very definition using Zero Delay Feedback, linear or non-linear this is the case. You can completely ignore that you need some previous state to add things to, this is always the case for numerical integration. So trapezoidal integration as well as the bi-linear transform solve the implicit equations with different realisations, but the results are both ZDF because they both used the implicit trapezoidal integration method to solve things even if this is done indirectly via the laplace space. The key thing here is if the integrator is implicit or explicit, ZDF is unavoidable if you use implicit methods, explicit methods will contain delay: http://en.wikipedia.org/wiki/Explicit_and_implicit_methods *Explicit methods* calculate the state of a system at a later time from the state of the system at the current time, while *implicit methods* find a solution by solving an equation involving both the current state of the system and the later one. I hope this clears things up and exposes ZDF as a confusing and pointless marketing catch phrase. All the best, Andy -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp