no it really exists, i invented it. (as far as i'm aware...) i even posted about it in public a little while ago. i might do a plugin a little later.
Why are almost all digital synthesis techniques based on analog approximations?
- KVRAF
- 12615 posts since 7 Dec, 2004
yeah i know right?
no it really exists, i invented it. (as far as i'm aware...) i even posted about it in public a little while ago. i might do a plugin a little later.
no it really exists, i invented it. (as far as i'm aware...) i even posted about it in public a little while ago. i might do a plugin a little later.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
-
- KVRist
- 172 posts since 20 Aug, 2010
nice 'unRobin from www.rs-met.com wrote:true. semi-recently, i dabbled with that stuff myself. i drafted a little papaer about how to prescribe the gain at 5 frequencies:mystran wrote: There's a bunch of paper on alternatives, but you should be warned that it gets "quite messy quite fast" as far as the math goes.
http://www.rs-met.com/documents/dsp/Dig ... ements.pdf
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
thanks. unfortunately, it does not always succeed. the function to drive to zero sometimes doesn't have any zero crossings in which case there is no solution. the same thing may happen for the other variant where i control derivatives of the magnitude response. however, if the requirements are reasonably non-pathological (which is often the case when they are derived from a magnitude-response of an analog filter), it works.cheppner wrote:nice 'unRobin from www.rs-met.com wrote:true. semi-recently, i dabbled with that stuff myself. i drafted a little papaer about how to prescribe the gain at 5 frequencies:mystran wrote: There's a bunch of paper on alternatives, but you should be warned that it gets "quite messy quite fast" as far as the math goes.
http://www.rs-met.com/documents/dsp/Dig ... ements.pdf
- KVRAF
- 8476 posts since 12 Feb, 2006 from Helsinki, Finland
This reminds me of how I tried to implement the Orlandis-trick at some point and ended up with a bell-filter that would work beautifully except when the gain was set to 0dB. Apparently flat response led to a divide by zero or something similar (never bothered to debug it; shortly after I came up with a far more simple method that gives me filters that I like a whole lot more).Robin from www.rs-met.com wrote:thanks. unfortunately, it does not always succeed. the function to drive to zero sometimes doesn't have any zero crossings in which case there is no solution. the same thing may happen for the other variant where i control derivatives of the magnitude response. however, if the requirements are reasonably non-pathological (which is often the case when they are derived from a magnitude-response of an analog filter), it works.cheppner wrote:nice 'unRobin from www.rs-met.com wrote:true. semi-recently, i dabbled with that stuff myself. i drafted a little papaer about how to prescribe the gain at 5 frequencies:mystran wrote: There's a bunch of paper on alternatives, but you should be warned that it gets "quite messy quite fast" as far as the math goes.
http://www.rs-met.com/documents/dsp/Dig ... ements.pdf
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
yes, right. you just need to catch that as special case and use a "bypass" coefficient set in this case (b0 = 1, all others = 0). actually, the pole and zero coincide and cancel each other in this case, IIRC.mystran wrote:This reminds me of how I tried to implement the Orlandis-trick at some point and ended up with a bell-filter that would work beautifully except when the gain was set to 0dB. Apparently flat response led to a divide by zero or something similar (never bothered to debug it;
now i'm curious.shortly after I came up with a far more simple method that gives me filters that I like a whole lot more).
- KVRAF
- 8476 posts since 12 Feb, 2006 from Helsinki, Finland
In theory yes. In practice, if you try to interpolate controls you get nasty cases where the gain is very close to 0dB but not quite enough to hit the special case. Then you need an epsilon threshold, and then you start ending up with clicks and so on. I could live with that, but whatever.Robin from www.rs-met.com wrote:yes, right. you just need to catch that as special case and use a "bypass" coefficient set in this case (b0 = 1, all others = 0). actually, the pole and zero coincide and cancel each other in this case, IIRC.mystran wrote:This reminds me of how I tried to implement the Orlandis-trick at some point and ended up with a bell-filter that would work beautifully except when the gain was set to 0dB. Apparently flat response led to a divide by zero or something similar (never bothered to debug it;
Firstly, they aren't very scientifically accurate so if I told you what I do it would just make the engineer in you very uncomfortable. Secondly, I'm not going to describe the method until I manage to release at least one plugin that uses the resulting filters.now i'm curious.shortly after I came up with a far more simple method that gives me filters that I like a whole lot more).
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
fortunately, i don't have that problem in EasyQ, because i assume it to be used as set-and-forget equalizer (no time-variance and hence no parameter interpolation necessary in this case)mystran wrote:In theory yes. In practice, if you try to interpolate controls you get nasty cases where the gain is very close to 0dB but not quite enough to hit the special case. Then you need an epsilon threshold, and then you start ending up with clicks and so on. I could live with that, but whatever.
OK, fair enough. i was just curious because typically when you say that you like something, it's usually pretty cool stuff indeed.Firstly, they aren't very scientifically accurate so if I told you what I do it would just make the engineer in you very uncomfortable. Secondly, I'm not going to describe the method until I manage to release at least one plugin that uses the resulting filters.![]()
-
- KVRAF
- 5632 posts since 18 Jul, 2002
Actually, Corona has plenty of unique algorithms and I recommend to check it out.
Here it is the list:
Add (the classic one).
Sub.
Mul.
And.
Or.
Xor.
Abs And.
Abs Or.
Abd Xor.
Pythag.
Mod Add.
Rotate.
Sync.
Ringmod.
PM/Broken PM.
Here it is the list:
Add (the classic one).
Sub.
Mul.
And.
Or.
Xor.
Abs And.
Abs Or.
Abd Xor.
Pythag.
Mod Add.
Rotate.
Sync.
Ringmod.
PM/Broken PM.
- KVRist
- 347 posts since 20 Apr, 2005 from Moscow, Russian Federation
Speaking of filters, there's also http://goblin.elec.qmul.ac.uk/people/jo ... lisers.pdf
But the presented solution is not "nyquist prescribed" (the bandwidth remains constant but the bell shape becomes highly asymmetric when close to Fn).
But the presented solution is not "nyquist prescribed" (the bandwidth remains constant but the bell shape becomes highly asymmetric when close to Fn).
- KVRAF
- 8476 posts since 12 Feb, 2006 from Helsinki, Finland
Yeah, that paper basically ends up with the same old BLT filters, except this time without starting from analog prototypes and without using BLT.Max M. wrote:Speaking of filters, there's also http://goblin.elec.qmul.ac.uk/people/jo ... lisers.pdf
But the presented solution is not "nyquist prescribed" (the bandwidth remains constant but the bell shape becomes highly asymmetric when close to Fn).
While it might be interesting to study their approach in the derivation of the filters, the actual result is a bit pointless; if you want that sort of filter, it's less math to just use BLT. The problem is with the design constraints: they specify unity gain at Nyquist (for bells anyway) but that will always force you to the BLT design (well, assuming the other constraints are the usual), which is probably not what you want unless you're happy with the "nasty" shape.
ps: I personally think that Nyquist gain is really quite irrelevant; for HQ audio Nyquist is supposed to be above the upper limit of threshold anyway, so why would anyone care what's going on there (as long as it doesn't cause any obvious problems elsewhere). What's more interesting is the general shape.
- KVRist
- 347 posts since 20 Apr, 2005 from Moscow, Russian Federation
Exactly, I also believe the main point of interest is the "constant (and symmetric) shape" of the filter (regardless of Fc) and not the "analog matched" gain at Fn. But the symmetric shape of the bell/peaking filter would assume some non-unity gain at Fn as soon as Fc > 0.mystran wrote:What's more interesting is the general shape.
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
interestingly, orfanidis claims that: "The resulting digital filter matches the corresponding analog filter as much as possible, given that there are only five parameters to adjust." (at the bottom of the 1st page):Max M. wrote:Exactly, I also believe the main point of interest is the "constant (and symmetric) shape" of the filter (regardless of Fc) and not the "analog matched" gain at Fn. But the symmetric shape of the bell/peaking filter would assume some non-unity gain at Fn as soon as Fc > 0.mystran wrote:What's more interesting is the general shape.
http://www.collinsaudio.com/Prosound_Wo ... amping.pdf
i wonder, if this is just some by-eye judgement or if he really means it in some mathematical sense (like least-squares error or something). i guess, the former but i'm not sure about that and the paper does not belabor this claim any further.
- KVRist
- 347 posts since 20 Apr, 2005 from Moscow, Russian Federation
I assume that since his design uses "exact matching of analog G at Fn" the resulting filter has to have certain "drift" outside Fc and Fn points. Theoretically, there's a design (or a family of designs) that would achieve more precise results (at certain points of interest) by giving up "exact G@Fn".Robin from www.rs-met.com wrote:Interestingly, orfanidis claims that: "The resulting digital filter matches the corresponding analog filter as much as possible, given that there are only five parameters to adjust."
(Obviously, "the most ideal" design is not possible since we are somewhat restricted by the phase response where phase at Fn of the digital biquad has to be pi*m).
- KVRAF
- 8476 posts since 12 Feb, 2006 from Helsinki, Finland
Yes.Max M. wrote:I assume that since his design uses "exact matching of analog G at Fn" the resulting filter has to have certain "drift" outside Fc and Fn points. Theoretically, there's a design (or a family of designs) that would achieve more precise results (at certain points of interest) by giving up "exact G@Fn".Robin from www.rs-met.com wrote:Interestingly, orfanidis claims that: "The resulting digital filter matches the corresponding analog filter as much as possible, given that there are only five parameters to adjust."
(Obviously, "the most ideal" design is not possible since we are somewhat restricted by the phase response where phase at Fn of the digital biquad has to be pi*m).
