Filter design

A place for developers to share ideas and assist each other in solving problems.

Moderators: valis, garyb

User avatar
hifiboom
Posts: 2057
Joined: Thu Aug 03, 2006 4:00 pm
Location: Germany, Munich
Contact:

Re: Filter design

Post by hifiboom »

wow thx, thats cool and great info....

one year ago they told me that there might even be an sdk update in the future but it was to early to say when.

the sdk with some little additions and a bit of bug fixing here and there would be awesome.
Warp69
Posts: 679
Joined: Sun Jun 17, 2001 4:00 pm
Location: Denmark
Contact:

Re: Filter design

Post by Warp69 »

Im also looking forward to an updated SDK and I do know that SC will release a special version of the SDK with complete access to scripting, DSP, graphic subsystem etc. But I do think that it will only be available for high-profile companies/partners.

Some of my hopes for an update : switch between the 3 modes : 32bit Int, 32bit FloatInt (the current implementation - Max value equals '1') and real 40bit float for all modules, oversampling modules, SIMD optimized support.

But this should probably be discussed in another thread.
User avatar
Shroomz~>
Posts: 5669
Joined: Wed Feb 23, 2005 4:00 pm
Location: The Blue Shadows

Re: Filter design

Post by Shroomz~> »

Why not start a new thread then? We could collectively make a list of sdk issues/niggles/bugs there as well.
User avatar
hifiboom
Posts: 2057
Joined: Thu Aug 03, 2006 4:00 pm
Location: Germany, Munich
Contact:

Re: Filter design

Post by hifiboom »

well this all sounds good ...

i hope i get a high-profile company then. :D :wink:

haha


jeah lets start a new thread. sdk features and bugs...

we can collect stuff and finally transfer the link to ralf. :)
tgstgs
Posts: 526
Joined: Sun Jan 15, 2006 4:00 pm

Re: Filter design

Post by tgstgs »

a filter has to do a job;
hard to discuss if i dont know the job the filter shall do in the end;
---
you made your circuits with sync modulatable source;
but what source shall it be if not the input itself;
to me it makes only sense if the cutofffrequenzy is controled by the frequency of the inputsignal;

but he ho thats dynomic!
so i had to be careful what to tell and what not you know;
--------
heres one with asymetric +- input;
im sure one will find a way to do it symetric or do a hp bp out of it;
the logic is very poor and its by far not optimized just the basic structure;
-----
in sound i would say its between lp1 and lp2;
with the best of them both;
but soundtaste is very subjective!!
----------

check it out vibes from vienna


edit:

maybe we should go on via pm to leave serverspace for bugreports / wishes / and pictures;
btw. i like those pictures - very creative whatelse to expect from artists
Attachments
tgs_LP_4.rar
(17.22 KiB) Downloaded 200 times
Warp69
Posts: 679
Joined: Sun Jun 17, 2001 4:00 pm
Location: Denmark
Contact:

Re: Filter design

Post by Warp69 »

I'll check the structure.
tgstgs wrote:maybe we should go on via pm to leave serverspace for bugreports / wishes / and pictures;
btw. i like those pictures - very creative whatelse to expect from artists
Heheh - I know what you mean, but I don't like the pictures.

Btw. - to completely save serverspace we would have to use emails.
User avatar
Shroomz~>
Posts: 5669
Joined: Wed Feb 23, 2005 4:00 pm
Location: The Blue Shadows

Re: Filter design

Post by Shroomz~> »

Should LP3 not have some gain added? It appears to have a stopband attenuation of 18dB when it should be 12? Also, it appears to have a beating artifact in the low frequencies when resonance is set high.
tgstgs
Posts: 526
Joined: Sun Jan 15, 2006 4:00 pm

Re: Filter design

Post by tgstgs »

same as lp4 but symetric with levelcompensation;

for the ones just testing in/out

good vibes
Attachments
tgs_LP_5.rar
(20.81 KiB) Downloaded 190 times
tgstgs
Posts: 526
Joined: Sun Jan 15, 2006 4:00 pm

Re: Filter design

Post by tgstgs »

now with a 2nd step -> theoretical delay 2 samples -> not optimized!
but maybe better for acustical tests

the mdl should work for scope 4_5 btw. use a dcoffset if you want fix settings;

____________________
Attachments
tgs_LP_6.rar
(23.51 KiB) Downloaded 182 times
User avatar
sharc
Posts: 638
Joined: Mon Oct 29, 2001 4:00 pm
Location: No idea. All looks the same down here

Re: Filter design

Post by sharc »

This is a fascinating topic. Sorry I haven't contributed so far.

I have to admit that the deeper I've delved into filter design, the math involved does become a little daunting. It makes a lot more sense to me in practice. Seeing these different algos in a modular context is much more immediate than trying to get my head round some of those equations :o

They do use a fair amount of DSP though. Were we to create a 24dB Multimode implementation with additional saturation / randomization effects, I guess it might not be much use for a polysynth - Maybe OK with XITE :D

Would however be interesting to see some examples (possibly even using the stock 6dBLP?) of how different effects in the feedback loop can be used to create various characteristics. Would also be nice to see how you guys would approach the 'modelling' of an existing filter structure, maybe even taking something we all have access to (Minimax?) as an example.
User avatar
hifiboom
Posts: 2057
Joined: Thu Aug 03, 2006 4:00 pm
Location: Germany, Munich
Contact:

Re: Filter design

Post by hifiboom »

there is an option in sdk to fix a filter to one dsp, meaning you can build compley filters with polyphony, but while it works fine ind sdk the feature is ignored in scope 4.5. So its doesn`t work.
I guess its called "per voice" in the on same dsp attribute options. (sdk)
Otherwise scope trys to load polyphone filters onto one dsp (yes option), which limits the possibilities a bit.
I hope this gets fixed with next scope / or scope sdk release....

For sure this isn`t a big problem with XITE-1 sharcs anymore....
User avatar
Shroomz~>
Posts: 5669
Joined: Wed Feb 23, 2005 4:00 pm
Location: The Blue Shadows

Re: Filter design

Post by Shroomz~> »

hifiboom wrote:there is an option in sdk to fix a filter to one dsp, meaning you can build compley filters with polyphony, but while it works fine ind sdk the feature is ignored in scope 4.5. So its doesn`t work.
I guess its called "per voice" in the on same dsp attribute options. (sdk)
Otherwise scope trys to load polyphone filters onto one dsp (yes option), which limits the possibilities a bit.
I hope this gets fixed with next scope / or scope sdk release....
Not sure exactly what you're talking about here, since "per voice" isn't a valid value (setting) in the on same dsp attribute options. I'm sure polyphony options are only set with the 'Single Load' & 'Voice' attributes.
User avatar
hifiboom
Posts: 2057
Joined: Thu Aug 03, 2006 4:00 pm
Location: Germany, Munich
Contact:

Re: Filter design

Post by hifiboom »

sure it is :wink:

so you can fix a structure (lets say a filter, which is a must normally) to a certain dsp with option set to YES.
now if you set voices to 3, the scope card tries to fit the 3 filter modules (3voices a 1 filter) to one of the dsps.

so the maximum dsp power you can use for a module (lets say a filter) with the option set to YES is 1/16 of ONE dsp if you wanna reach 16xpolyphony
if your filter utilizises 1/8 of ONE dsp and option set to YES, you get 8xPOLY and so on.
so an dsp expensive filter lets say which uses 1/2 of an single dsp sharc can only played 2 x POLY.
thats the limitation.
With the PER VOICE option you can build dsp expensive filter designs and they are split over various dsp with multiple voices.

than a synth with lets say a filter, an envelope, an VCA and so on gets split over dsps in a different way.
1 voice is applied to one chip, while the others voices may be loaded to a different sharc.
by marking groups of atoms you can assign them to different sharc chips.....

try aound a bit and you will leran the workflow, its more a technical aspect, but with more complex filters you need to understand this quite well or you won`t succeed.

With On same dsp set to NO, the filters will break out due to latencies between the chips, because the atoms inside the filter may be split over various sharc chips, which will introduce a little latency (a few samples). Its written inside the sdk manual, i think i remind myself when reading it.

The per voice option is a good way to build complex sounding poly synths. I`m sure CW high end (minimax, prophet, prodyssey) synths have to use this option.

But as i said: its a bug inside scope or sdk. The setting works inside sdk and not in scope.

So its either that sdk does not properly save this setting or Scope 4.5 doesn`t read it properly. Or its not a bug and CW deactivated it. have a look at the picture.
Attachments
"per voice" option
"per voice" option
per_voice.JPG (21.27 KiB) Viewed 3161 times
User avatar
hifiboom
Posts: 2057
Joined: Thu Aug 03, 2006 4:00 pm
Location: Germany, Munich
Contact:

Re: Filter design

Post by hifiboom »

by the way, i talked with red_muze about this problem and he confirmed this and he also has not found a solution so far.
Thats why adern filters have different poly count. They must be set all to yes.

And thats why my jupiter cannot have to much voices so far with own filter designs.... :evil: :roll:
User avatar
Shroomz~>
Posts: 5669
Joined: Wed Feb 23, 2005 4:00 pm
Location: The Blue Shadows

Re: Filter design

Post by Shroomz~> »

Weird... :-?

This isn't in the sdk manual module attributes section in the Scope paradigm pdf. So, what other important things are missing from the docs we have? Never mind. I suppose that's a silly question to which the answer is 'LOTS'.
User avatar
Shroomz~>
Posts: 5669
Joined: Wed Feb 23, 2005 4:00 pm
Location: The Blue Shadows

Re: Filter design

Post by Shroomz~> »

From the manual > Scope Paradigm.pdf/Abstraction Layer/Module Attributes:-

On Same DSP
values: <not set>, yes, no
determines if a entire module
should be executed on a single
DSP or not. A module can only be
executed on a DSP if the processor
is capable of computing all
necessary cycles simultaneously.
‘-1’ is equivalent to <not set> and
allows the module to inherit the
value from the parent.
User avatar
sharc
Posts: 638
Joined: Mon Oct 29, 2001 4:00 pm
Location: No idea. All looks the same down here

Re: Filter design

Post by sharc »

hifiboom wrote:...the maximum dsp power you can use for a module (lets say a filter) with the option set to YES is 1/16 of ONE dsp if you wanna reach 16xpolyphony
if your filter utilizises 1/8 of ONE dsp and option set to YES, you get 8xPOLY and so on.
so an dsp expensive filter lets say which uses 1/2 of an single dsp sharc can only played 2 x POLY.
thats the limitation.
Yes, that's what I was getting at :wink:
hifiboom wrote:With the PER VOICE option you can build dsp expensive filter designs and they are split over various dsp with multiple voices.
Didn't know about that setting - Interesting :D
hifiboom wrote:But as i said: its a bug inside scope or sdk. The setting works inside sdk and not in scope.

So its either that sdk does not properly save this setting or Scope 4.5 doesn`t read it properly. Or its not a bug and CW deactivated it. have a look at the picture.
Just hazarding a guess, but maybe if you use the 2nix module...
tgstgs
Posts: 526
Joined: Sun Jan 15, 2006 4:00 pm

Re: Filter design

Post by tgstgs »

to have about the same filtereffect as tgs_LP6 im in the need of 3 6dB_LP stock atoms;
please have in mind that tgs_LP6 is in no way optimized and uses about double the dspload as the 3 6dB_LP uses so far;
i said earlier that i was not able to beat the dspload of the stock atoms and i have to add again that they are very good compared their effect to their load
but the complexer a filter gets the nearer i get;_ thats for sure _!
one has to decide if using a for (){} or lookin for a better logicalgo;
once again:
the MM logic with 2 coeff is a bit of poor (the poorest man may think of exept the ideal LP of course!) but its an example of a basic symetricsyncfilterstructure;
im sure one is able to find a smarter logic;
------
in the missing of negative values (hope i dont miss something here) im not able to check the warp69 structures but the 6dB_LP stock is not fully symetric tgs_LP6 is!
--------
but anyway to me more interesting is the switching character;
take a 6k sinus 0dB and switch between 300 and 3k cutoff with a syncsignal;
if you check it out you will see that the probl. is the switch down needing 200-300 samples to take effect while the switch up is about 20-30samples;
thats why im talkin about a theoretical delay of 2 samples;
the defacto delay depends on the source feeded;
the probl. with all those structures is the feedback itself;
it does the fu*ing delays as well as the artefacts one could hear when modulating;
--
now we are ready for a smart guy posting a workaround lets call it turbofilterbooster to speed things up;
which has the nice sideeffect to set the artefacts to zero;
or we use no feedback at all who knows?

good vibes
User avatar
Shroomz~>
Posts: 5669
Joined: Wed Feb 23, 2005 4:00 pm
Location: The Blue Shadows

Re: Filter design

Post by Shroomz~> »

tgstgs wrote:the MM logic with 2 coeff is a bit of poor (the poorest man may think of exept the ideal LP of course!) but its an example of a basic symetricsyncfilterstructure;
Could you use the negative output of a 'Full Wave Rectifier 2' atom instead of the inverter sync & threshold switch in your MM logic module? I think it gives you the same result, but is more dsp efficient (it saves some cycles & memory).

It would be great if you could try to explain more about these filter types & their implementations in the forms you've posted here.
tgstgs
Posts: 526
Joined: Sun Jan 15, 2006 4:00 pm

Re: Filter design

Post by tgstgs »

yes
_ you are optimizing;
--------

one has to check if the fullwavrect is better on more complex filters where you may need to substract instead of add too;
---------

you need a syncmultipier and the ringmod is one somehow and it sounds better than the volAtt but thats just my personal taste;
thats why i posted;


have a nice weekend vibes
Post Reply