Zero Delay Feedback Filter (How to test if your synth has a )- Xils-Lab White Paper -
- KVRAF
- 8478 posts since 12 Feb, 2006 from Helsinki, Finland
First of all, 4 times oversampling is hardly enough to fix a "classic" filter on it's own, and you still need quite a bit of fudge-factoring and you still have wrong phase relationships all over the place. Sure it helps, but not that much unfortunately (in practice the fudge-factoring helps a lot more).kv331 wrote:I havent played with ZDFs yet, but if they will still require high oversampling rates (>= x4), then in that case why would I use them? Because if there's oversampling (>=x4), then that'll compansate for the z-1 delay/phase errors to a certain extend, as nyquist frequency is divided by the oversampling factor... Please correct me if I am wrong guys!aciddose wrote:problem with zero-delay filters is they don't solve the aliasing issue. it still requires massive over-sampling of about 8x-16x to get anywhere near where you want to be. by that time the filter is so expensive you might have considered using an analog one instead.
That's not relevant for zero-delay though. The only real reason to oversample these is to get rid of aliasing (the BLT frequency warping gets fixed as a by-product). How much you need to oversample depends on how much you want to overdrive your filters, but 4 times oversampling can actually work quite well in practice (for quite a bit of saturation already). However, the filters would work perfectly fine (except for aliasing) without any oversampling whatsoever.
That said, there's not a whole lot of reason not to do it; in a modulated synth situation they don't even use meaningful additional CPU (on paper they use slightly more, but in practice it seem possibly to pipeline a bit better, so it kinda equals out). [edit: the main CPU cost is if you actually want to solve non-linearities in some fancy way; then you can throw as much CPU at it as you want.. but comparing apples to apples, doing non-linearities as cheap wave-shapers, it's pretty much the same]
- KVRAF
- 12615 posts since 7 Dec, 2004
remove the "then in that case" and examine the "why would i use them?" question before you do anything. odds are you don't want to bother. which issues do they fix? if you're going from stable configuration A to zero-delay configuration B some have claimed there is an audible difference. i've never seen this demonstrated and my own tests only show an extreme cycles per sample increase.kv331 wrote:I havent played with ZDFs yet, but if they will still require high oversampling rates (>= x4), then in that case why would I use them?
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.
- KVRAF
- 1617 posts since 11 Dec, 2008 from Minneapolis
Dunno if these links help but they're on topic.
I remember Urs linked this quite a while ago, before Diva was out: http://www.uaudio.com/blog/moog-multimode-filter-design - I don't remember the article so much but that it linked to this massive chunk: https://ccrma.stanford.edu/%7Estilti/pa ... is2006.pdf
Mostly over my head
At the very least the 'Gallery' appendix at the end of the PDF has some pretty pictures
.
I think the root locus stuff suggests some things about oversampling versus different forms of computing the filter as a system, how filter attributes sort of become a fluid, chaotic s-plane phenomena inside a feedback loop. This is why 0dfb+bells&whistles becomes advantageous over z-plane filters. But, as far as doing this digitally - the uaudio.com blog post really does some hand-waving here, Stilson's thesis suggests several approaches. I have a pretty cursory familiarity with some of the mathematical tools that might work for solving something like this off-line, but on-line with low computational costs sounds like a *lot* of experimenting. So, I'm not able to speculate further (or as much as I have already
), but I did feel like these links were of interest.
As far as a test for 0dfb filter-ness, I think having just the filter to pass signals into might vastly simplify things ... I wonder if it ends up requiring analysis of a set of outputs from a carefully constructed set of inputs.
I remember Urs linked this quite a while ago, before Diva was out: http://www.uaudio.com/blog/moog-multimode-filter-design - I don't remember the article so much but that it linked to this massive chunk: https://ccrma.stanford.edu/%7Estilti/pa ... is2006.pdf
Mostly over my head
I think the root locus stuff suggests some things about oversampling versus different forms of computing the filter as a system, how filter attributes sort of become a fluid, chaotic s-plane phenomena inside a feedback loop. This is why 0dfb+bells&whistles becomes advantageous over z-plane filters. But, as far as doing this digitally - the uaudio.com blog post really does some hand-waving here, Stilson's thesis suggests several approaches. I have a pretty cursory familiarity with some of the mathematical tools that might work for solving something like this off-line, but on-line with low computational costs sounds like a *lot* of experimenting. So, I'm not able to speculate further (or as much as I have already
As far as a test for 0dfb filter-ness, I think having just the filter to pass signals into might vastly simplify things ... I wonder if it ends up requiring analysis of a set of outputs from a carefully constructed set of inputs.
- Banned
- 6129 posts since 9 Oct, 2007 from an inharmonious society
I get something close to 0 delay feedback, whenever I post my music noodling tracks in the music cafe.
I just call it 0 feedback though.
If there is any feedback, it's usually the delayed kind.
I just call it 0 feedback though.
If there is any feedback, it's usually the delayed kind.
- KVRAF
- 1596 posts since 19 May, 2011 from North Carolina
mcnoone wrote:I get something close to 0 delay feedback, whenever I post my music noodling tracks in the music cafe.
I just call it 0 feedback though.
If there is any feedback, it's usually the delayed kind.
Don't care 'bout 0DF. I want Rich, Corinthian Leather side panels
-
- KVRAF
- 7506 posts since 14 Nov, 2006 from Ankara, Turkey
Of course, one needs to use some tables, etc. to minimize the delay/phase errors, as mentioned in the following famous paper:mystran wrote: First of all, 4 times oversampling is hardly enough to fix a "classic" filter on it's own, and you still need quite a bit of fudge-factoring and you still have wrong phase relationships all over the place. Sure it helps, but not that much unfortunately (in practice the fudge-factoring helps a lot more).
https://ccrma.stanford.edu/~stilti/papers/moogvcf.pdf
So, if they are used properly, and if you use >= x4 oversampling, ZDF wouldnt be necessary, that is my argument.
Works at KV331 Audio
SynthMaster voted #1 in MusicRadar's "Best Synth of 2019" poll
SynthMaster One voted #4 in MusicRadar's "Best Synth of 2019" poll
SynthMaster voted #1 in MusicRadar's "Best Synth of 2019" poll
SynthMaster One voted #4 in MusicRadar's "Best Synth of 2019" poll
-
- KVRian
- 1355 posts since 27 Oct, 2009
There's logic in that, but how do you explain the fact that Diva's filters sound different in draft and divine mode. Urs said that draft equals the highest setting in Ace, which is at least x4 oversampled.kv331 wrote: So, if they are used properly, and if you use >= x4 oversampling, ZDF wouldnt be necessary, that is my argument.
-
- KVRAF
- 7506 posts since 14 Nov, 2006 from Ankara, Turkey
Right now I cantizonin wrote:kv331 wrote: There's logic in that, but how do you explain the fact that Diva's filters sound different in draft and divine mode. Urs said that draft equals the highest setting in Ace, which is at least x4 oversampled.
Once I dive into the topic, which is hopefuly this fall, I'll have something concrete to say
Works at KV331 Audio
SynthMaster voted #1 in MusicRadar's "Best Synth of 2019" poll
SynthMaster One voted #4 in MusicRadar's "Best Synth of 2019" poll
SynthMaster voted #1 in MusicRadar's "Best Synth of 2019" poll
SynthMaster One voted #4 in MusicRadar's "Best Synth of 2019" poll
- u-he
- 30192 posts since 8 Aug, 2002 from Berlin
Draft is 2x oversampled, Fast too (it equals ACE' highest quality setting in cpu usage and sound, I can elaborate about that elsewhere if needed). Draft and Fast are identical codewise, but Draft uses a z-1 solver while Fast uses an iterative zero-delay solver for the feedback with 12 bits accurracy. Fast is much better than Draft for fast modulations and of course you can easily hear how the resonance volume goes completely out of whack. All filters and modes are of course tuned so that self oscillation is in scale.izonin wrote:There's logic in that, but how do you explain the fact that Diva's filters sound different in draft and divine mode. Urs said that draft equals the highest setting in Ace, which is at least x4 oversampled.kv331 wrote: So, if they are used properly, and if you use >= x4 oversampling, ZDF wouldnt be necessary, that is my argument.
As for this discussion I'd happily add some insights, but I need to know for the OP first if this is a XILS thread or if it is open for other developers to join.
-
- KVRAF
- Topic Starter
- 10260 posts since 19 Feb, 2004 from Paris
The discrimination matter is the easiest to answer : We wrote this at the end of the first post of this topic, as well as on the site page.rod_zero wrote:The point here is very simple:
Does the test can prove with 100% accuracy that a synth use zero delay filters?
If not, why?
Was the test designed to prove synths using one method and discriminate others?
Or, how many ways are there to "pass this test" using other methods?
Else I've tested 6 real analog synths ( mine actually) and they of course all passed the test.( the synth in the second video is Ms-404 ) And I've tested a good number of soft synths, and those who passed the test were those who were supposed to pass it ( btw I had different results than one poster concerning a particular synth ). Also remember that you have to test according to the test spec : 24db LPF filters with selfoscillation. It wont work for different filters types with different topologies) I cant say more though cos I'm not here to give "names", just to -try to- offer information in the -most possible - understandable way.Lotuzia wrote:
Final Note: Synths that are not equipped with 0df filters are definitely NOT "bad" synths. They have their own character, filters, etc, and in a lot of situations, you wont be able to tell the difference. The same applies to synths equipped with 0df filters: They COULD sound bad, as this is only ONE aspect of all the overall character of a synth.
LtZ
Also my PMs indicate that a lot of people did not see/read the second "advanced" page on Xils site, where more information/details is provided. Please read the page if you're interested in all this cos it can make your questions more precise. The links provided by another poster ( Stilson papers) are also worth to be read : You can easily rely the information given here to the one we provided, especially on the advanced page.
LtZ
LtZ
http://www.lelotusbleu.fr Synth Presets
77 Exclusive Soundbanks for 23 synths, 8 Sound Designers, Hours of audio Demos. The Sound you miss might be there
77 Exclusive Soundbanks for 23 synths, 8 Sound Designers, Hours of audio Demos. The Sound you miss might be there
-
- KVRAF
- Topic Starter
- 10260 posts since 19 Feb, 2004 from Paris
Massive Oversampling would indeed reduce the delay -wich would however still be there- to a ridiculous time,"approaching" real time instantaneous process. However this solution is currently not acceptable atm due to ..... the current CPU power available.kv331 wrote:I havent played with ZDFs yet, but if they will still require high oversampling rates (>= x4), then in that case why would I use them? Because if there's oversampling (>=x4), then that'll compansate for the z-1 delay/phase errors to a certain extend, as nyquist frequency is divided by the oversampling factor... Please correct me if I am wrong guys!aciddose wrote:problem with zero-delay filters is they don't solve the aliasing issue. it still requires massive over-sampling of about 8x-16x to get anywhere near where you want to be. by that time the filter is so expensive you might have considered using an analog one instead.
Bulent
http://www.lelotusbleu.fr Synth Presets
77 Exclusive Soundbanks for 23 synths, 8 Sound Designers, Hours of audio Demos. The Sound you miss might be there
77 Exclusive Soundbanks for 23 synths, 8 Sound Designers, Hours of audio Demos. The Sound you miss might be there
-
- KVRAF
- Topic Starter
- 10260 posts since 19 Feb, 2004 from Paris
Its open.Urs wrote:Draft is 2x oversampled, Fast too (it equals ACE' highest quality setting in cpu usage and sound, I can elaborate about that elsewhere if needed). Draft and Fast are identical codewise, but Draft uses a z-1 solver while Fast uses an iterative zero-delay solver for the feedback with 12 bits accurracy. Fast is much better than Draft for fast modulations and of course you can easily hear how the resonance volume goes completely out of whack. All filters and modes are of course tuned so that self oscillation is in scale.izonin wrote:There's logic in that, but how do you explain the fact that Diva's filters sound different in draft and divine mode. Urs said that draft equals the highest setting in Ace, which is at least x4 oversampled.kv331 wrote: So, if they are used properly, and if you use >= x4 oversampling, ZDF wouldnt be necessary, that is my argument.
As for this discussion I'd happily add some insights, but I need to know for the OP first if this is a XILS thread or if it is open for other developers to join.
Note that you were welcomed too to answer, just above, to a question concerning one of your synths. ( Not that I experienced the same wonderful feeling when I replied to a poster who had badmouthed the SYnthix in one of your threads in the past, and then got flamed just for ... that
But what is discussed here are the possible methods for people to test if some soft synhs have, or not, odf filters algorythms, more than this or that synth in particular. And, like I said, its fully open to sincere posters who want to share their thoughts in a positive way. We did not give any "names", did not badmouth any synths, did not claim that non 0df filters synths were this, or that, nor used comparatives between non 0df and 0df etc etc.
We think that some people are really interested by such information And, despite some minor troubles, imo this thread just confirm/reflects this.
http://www.lelotusbleu.fr Synth Presets
77 Exclusive Soundbanks for 23 synths, 8 Sound Designers, Hours of audio Demos. The Sound you miss might be there
77 Exclusive Soundbanks for 23 synths, 8 Sound Designers, Hours of audio Demos. The Sound you miss might be there
- KVRAF
- 12522 posts since 21 Mar, 2008 from Hannover, Germany
I have done a few tests myself now, also with using a free Signal Analyzer.
In the Xils synths, Diva and Tone2 Saurus the Resonance "peak" seems to keep a constant amlitude (or at least a small change only) while in SE synths like e.g. Tactile Sounds Substance the peak seems to disappear at higher Cutoff frequencies. Same seems to happen at e.g. Arturia Oberheim SEM V.
There is a lso a difference at the 12db and 24dB LP filter of Saurus. While in the 12dB fiter the Resonance seems to stay at a constant amplitude in the 24 dB the Resonace "peak" slowly disappears at higher Cutoff frequencies.
Strobe from Synth Squad seems to have a 0df filter too, same for Sylenth1.
Ingo
In the Xils synths, Diva and Tone2 Saurus the Resonance "peak" seems to keep a constant amlitude (or at least a small change only) while in SE synths like e.g. Tactile Sounds Substance the peak seems to disappear at higher Cutoff frequencies. Same seems to happen at e.g. Arturia Oberheim SEM V.
There is a lso a difference at the 12db and 24dB LP filter of Saurus. While in the 12dB fiter the Resonance seems to stay at a constant amplitude in the 24 dB the Resonace "peak" slowly disappears at higher Cutoff frequencies.
Strobe from Synth Squad seems to have a 0df filter too, same for Sylenth1.
Ingo
Last edited by Ingonator on Mon May 14, 2012 6:36 pm, edited 1 time in total.
Ingo Weidner
Win 10 Home 64-bit / mobile i7-7700HQ 2.8 GHz / 16GB RAM //
Live 10 Suite / Cubase Pro 9.5 / Pro Tools Ultimate 2021 // NI Komplete Kontrol S61 Mk1
Win 10 Home 64-bit / mobile i7-7700HQ 2.8 GHz / 16GB RAM //
Live 10 Suite / Cubase Pro 9.5 / Pro Tools Ultimate 2021 // NI Komplete Kontrol S61 Mk1
- u-he
- 30192 posts since 8 Aug, 2002 from Berlin
That's all cool.
Just saying that many analogue filters have a capacitor or even a shelving filter in the resonance path. In those cases the resonance typically vanishes in the bass and/or the upper end. Sallen-Key filters for instance usually have feedback going into the "backdoor" of the integrator, hence can't have constant Q no matter what.
A question though: The first test is done with noise input and without self oscillation. Does anything speak against the self oscillation case? With non-0df I've often seen the amplitude rise in upper frequencies in ladder/svf configurations whereas 0df keeps it constant - if no further capacitors are modelled.
Also, I'm a bit weary about spectrometers. The graph usually combines various bins in the higher frequencies, so that the actual peak of a single sine seems to get lost. Wouldn't a simple peak meter do a better job?
Just saying that many analogue filters have a capacitor or even a shelving filter in the resonance path. In those cases the resonance typically vanishes in the bass and/or the upper end. Sallen-Key filters for instance usually have feedback going into the "backdoor" of the integrator, hence can't have constant Q no matter what.
A question though: The first test is done with noise input and without self oscillation. Does anything speak against the self oscillation case? With non-0df I've often seen the amplitude rise in upper frequencies in ladder/svf configurations whereas 0df keeps it constant - if no further capacitors are modelled.
Also, I'm a bit weary about spectrometers. The graph usually combines various bins in the higher frequencies, so that the actual peak of a single sine seems to get lost. Wouldn't a simple peak meter do a better job?
