Re: [music-dsp] Implicit integration is an important term, ZDF is not

2013-11-27 Thread Scott L
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

2013-11-20 Thread robert bristow-johnson

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

2013-11-18 Thread Dave Gamble
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

2013-11-16 Thread Urs Heckmann
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

2013-11-16 Thread robert bristow-johnson

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

2013-11-15 Thread Richard Dobson



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

2013-11-15 Thread Steven Cook

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

2013-11-15 Thread Lubomir I. Ivanov
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

2013-11-14 Thread Andrew Simper

 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

2013-11-14 Thread Dave Gamble
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

2013-11-14 Thread Max Little
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

2013-11-14 Thread Dave Gamble
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

2013-11-14 Thread Max Little
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

2013-11-14 Thread Urs Heckmann
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

2013-11-14 Thread Max Little
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

2013-11-14 Thread Max Little
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

2013-11-14 Thread Dave Gamble
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

2013-11-14 Thread Max Little
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

2013-11-14 Thread Max Little
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

2013-11-14 Thread Dave Gamble
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

2013-11-14 Thread Ross Bencina

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

2013-11-14 Thread Max Little
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

2013-11-14 Thread robert bristow-johnson

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

2013-11-14 Thread Andrew Simper
 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

2013-11-14 Thread Andrew Simper

 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

2013-11-14 Thread Andrew Simper
 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

2013-11-14 Thread Andrew Simper
 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

2013-11-14 Thread Andrew Simper
 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

2013-11-13 Thread Urs Heckmann
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

2013-11-13 Thread Lubomir I. Ivanov
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

2013-11-13 Thread Andrew Simper
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

2013-11-13 Thread Lubomir I. Ivanov
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

2013-11-13 Thread Lubomir I. Ivanov
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

2013-11-13 Thread Andrew Simper
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

2013-11-13 Thread Andrew Simper
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

2013-11-13 Thread Andrew Simper
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

2013-11-13 Thread Dave Gamble
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

2013-11-13 Thread Andrew Simper
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

2013-11-12 Thread Andrew Simper
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