From the original SynthMaker forum (2004–2014), with its members’ names and dates.
BasherT ·
Has anyone coded a four pole low pass filter they are prepared to share with the forum?
I have been looking but have not found any yet.
I think it is possible to cascade 4 single pole filters but have had no success doing so.
All help gratefull received
stefan ·
Cascading should indeed work. What goes wrong?
BasherT ·
Sorry for the delay in replying Stefan. I have been trying to figure out what I am doing wrong myself without troubling you or the forum any further, but I have failed.
Here is the schematic I have produced
My understanding is that a higher order filter should produce a steeper slope than a lower order filter.
The cascade in my osm does not appear to affect the slope of the filter at all. I am stumped.
The only thing I can think of that I may be doing wrong is the absence of any feedback. If I am right about this, how do I implement feedback?
stefan ·
Maybe I'm misunderstanding something here, but I don't see two filters in series anywhere in your schematic 🙂
If I hook it up like this, cascading the filter:
I get a twice as steep falloff curve, the upper ends up at about -24dB, the lower at about -48dB.
BasherT ·
OK. I am having a brain fritz....
First, I uploaded entirely the wrong file. Still not quite sure how that happened...
Second, having looked at your schematic Stefan I realised that the reason the slope on mine didn't look any different was because the output was being normalised: the output of the single pole looks exactly the same as the four pole on that basis! Doh!
I am SO embarrassed. 😊
infuzion ·
Don't be so hard on yourself; count this as a learning experience.
Speaking of which, couldn't your formula:
LP=LP+((in-out1)*c);
HP=in-LP;
out1=LP;
be reduced to:
LP=LP+((in-LP)*c);
HP=in-LP;
?
BasherT ·
Thanks for the support! I wasn't being hard on myself just ashamed I'd bothered you all with something that I should have seen myself.
Your code improvement works great BTW. Thanks
sitbhlol ·
Hi there. I'm just working on pole filters now as a topic at university.
As i understand, i have a code for a 2 pole filter. I understanding putting two of these in series will give me a 4 pole filter. But i also want to make a 1 pole filter. How would i go about doing this? Halving every number inside the code? Or is there an easier way to do it. Stream divide the output of the code by 2?
And one more question - what are the benefits of parallel filtering as opposed to series filtering? Cheers!
stefan ·
sitbhlol wrote: Hi there. I'm just working on pole filters now as a topic at university.
As i understand, i have a code for a 2 pole filter. I understanding putting two of these in series will give me a 4 pole filter. But i also want to make a 1 pole filter. How would i go about doing this? Halving every number inside the code? Or is there an easier way to do it. Stream divide the output of the code by 2?
And one more question - what are the benefits of parallel filtering as opposed to series filtering? Cheers!
The most basic 1-pole lowpass filter implementation goes something like:
streamin in;
streamin coeff;
streamout out;
out = out + coeff * (in - out);
sitbhlol ·
stefan wrote:
sitbhlol wrote: Hi there. I'm just working on pole filters now as a topic at university.
As i understand, i have a code for a 2 pole filter. I understanding putting two of these in series will give me a 4 pole filter. But i also want to make a 1 pole filter. How would i go about doing this? Halving every number inside the code? Or is there an easier way to do it. Stream divide the output of the code by 2?
And one more question - what are the benefits of parallel filtering as opposed to series filtering? Cheers!
The most basic 1-pole lowpass filter implementation goes something like:
streamin in;
streamin coeff;
streamout out;
out = out + coeff * (in - out);
Here is the code i was given for a two-pole filter (including LP, HP, BP, notch and peak)
I wasn't given an explanation of the code, so i'm not sure how it has been set to 2-pole. Any ideas?
stefan ·
I actually wrote that code, a long time ago. To understand these things I suggest you start reading up on digital (or for that matter, analog) filter theory. There are some good links on the Wiki!
datsound ·
sorry the code above for a 2 pole filter is the same as the 1 pole filter code from the default poly filter in the toolkit, and it sais lp1 in it. i have only found the ones from shifrin that are more than 1 pole lp hp bp
MichaelBenjamin ·
i think the lp1 here is not the poles but just an arbitrary variable number
datsound ·
MichaelBenjamin wrote: i think the lp1 here is not the poles but just an arbitrary variable number
i compared the code with the toolbox 1 pole filter in line by line but i couldnt find a difference, but now i have found the filters in the registered area which seem pretty nice.
MichaelBenjamin ·
then the toolbox filter is not a one pole filter.
this could be a one pole: out=out*cut+in*(1-cut)
datsound ·
MichaelBenjamin wrote: then the toolbox filter is not a one pole filter.
this could be a one pole: out=out*cut+in*(1-cut)
Sorry i have no idea what this code is to make a 1 pole into 2 pole and a 4 pole,I'd readup to understand what you just wrote but i dont have time to read filter code for 10 hours. afaik, no one has converted the default SM filters to 18 and 24db so it isnt an easy task. i did a comparison to reaktor filters and they sound completely different, and i can see that when i add a filter it takes 1.2 CPU points, so using 3x "all-in-one coded" 24db LP/HP/BP filters saves 15% on the CPU compared to making the same 3 24db filters by chaining lots of 6db ones together, and that is just for 3 filters.
i am puzzled on how to make very characterful filters in synthmaker, that can vary the timbre from saw to sine in different ways than the SM ones actually do. I know my synth in reaktor has about 3 times the sound versatility than the SM one, with the NI 4pole LP HP BP, it creates 3 times more varied sounds. i have no idea why. it seems to focus the dynamics of the frequencies in a very different way, with more contrast, and to make more sine shaped resonance, clearly timbral res. I mean, the SM resonance in no way sounds like a sine wave to me. it is still a very good filter but it witholds about 3 times less variation in timbre because it is unable to focus res peaks into sine sounds. sure i will try adding overdrive and so on. I guess i will know how the rbj filters sound today because i will be trying them out, maybe it has a radically musical res peak, i hope so.
sorry for that ramble, 😇
MichaelBenjamin ·
if the rektor filter sounds so nice, try the reaktor lp conversion here at the forum, i agree it has a nice sound but its not vastly different. if some reaktor synths filter sounds so much different then there might be a big chance that theres other things than straight filtering going on. look for "reaktor filter conversion". i think aliasant made the first one.
datsound ·
hey thanks...
i tried the rbj one today (lucky me) and although the resonance gets absolutely trashed by FM freqencies, it has masses of different sounds than the built in one... really impressed i will try the reaktor one.
Wrote something here? To have a post removed or your name hidden, write to [email protected].