why fexpr~ for a simple onepole filter.. when your patch already runs with blocksize 1? you can replace [fexpr~] with [lop~] or [rpole~] or some delays + math like in the original code.
I couldn't resit building the thing following this example: https://www.musicdsp.org/en/latest/Filters/240-karlsen-fast-ladder.html
!filter gets unstable at higher frequencies
also, do you notice any difference in sound with oversampling + anti aliasing filter..?
maybe make it optional and put the anti aliasing filter in a subpatch with [switch~]
Merry christmas to you too!
I tried removing the block~ 1 a while ago, for the reason you mention, that fexpr~ is already processing every sample, but I did not get the same result, So kind of scratched it, but I will look into it again.
I am still beginner with filters, but the reason I used fexpr~ was because of the "processes every sample", so I was kind og thinking this is what I need.
for the lop~ are you sure that these filters are made in the same way, the lop~ and the karlsen filter? There are a few filters that are made feom one pole filters on musicdsp, which are all a bit different. I am thinking the difference makes up different result?
For the oversampling usually oversampling makes sure that it doesn't blow up at higher frequencies. For example bob~, if you don't oversample it blows up too. With oversampling, it's much more stabil.
Ahh yes I should probably do the switch thing for the oversampling/butterworth filter. For now I just set the oversampling to 1, which is no oversampling, but yeah the filter is still running, you are right.
Anyway, thanks I will check your version and you gave me some food for thought here. Some things to check out