Honestly, do you always write filter algos by hand or are there some popular libraries?

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

So something that has confused me is that there's a huge amount of plug-ins that use filters. However, I consider filter design to be a quite advanced topic and I don't think all plug-in developers are also competent filter designers. However, they might understand the application of filters. So that makes me think that maybe a lot of plug-ins use some filter libraries that I don't know about.

Do such exist? Or does everyone really write the filter algos by hand for every project?

Post

soundmodel wrote:However, I consider filter design to be a quite advanced topic
Image
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.

Post

aciddose wrote:
soundmodel wrote:However, I consider filter design to be a quite advanced topic
Image
You mean it's not an advanced topic?

Post

Advanced compared to what? Mixing?
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.

Post

aciddose wrote:Advanced compared to what? Mixing?
It involves advanced mathematical topics. Not all programmers are competent mathematicians.
A lot of programming can be done with just high school maths.

Post

Actually technically speaking any filter including non-linear naive implementations are "high school math".

Getting into slightly (only ever so slighty!) more complex topics like first year calculus (NOT MATHEMATICS, this is something you'd take as a pre-req for damn near any useful course ever! ... except like what, "gender studies" ?) allows you to work out damn near any advanced non-linear, iterative filter implementation computable on any existing hardware.

Filters are DSP, someone who is incapable of understanding basic mathematics shouldn't be attempting to work in this field. Someone unable to understand basic mathematics who is still working as a programmer is known as something which has a special name: code monkey.

Give me 1000 monkeys with 1000 typewriters and enough time and they will almost surely produce the complete works of Shakespeare.

Give me 1000 code monkeys with 1000 terminals and enough time and they will almost surely produce a working piece of software.

One reason it might seem an advanced topic is that programmers working in especially a very shallow and tiny niche like audio plug-ins tend to be very poorly educated, inexperienced and untalented individuals. This is a job with very poor return on investment and that nobody in the world actually wants to do: therefore even the scum that work here can produce something that is accepted although it is absolute finger-painting style trash.

Those with greater skill and talent would be involved in far more profitable fields. Such skilled programmers are some of the highest paid individuals in the world, with even degrees in law and business ending up for the most part worthless these days, those with qualifications and experience in programming along with mathematics are in the greatest demand.
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.

Post

Hmm, I think I need to read filter theory more then. I'm already doing my masters (in computational maths) and I still considered filter design to be "a bit tough". But then again, I've been reading mainly about Parks–McClellan and such.

Post

The driver in the picture has a PhD, and he is teaching engine design in a university but does not know how to teach. Furthermore he does not know how to drive and/or is a complete idiot. Furthermore he actually doesn't know anything about engine design either and only fakes it. He will gave you all A's and you'll pass all the exams because he does not want these facts to be discovered by anyone.
Last edited by stratum on Mon Nov 27, 2017 9:33 am, edited 1 time in total.
~stratum~

Post

Well there are certain algorithms which aren't at all trivial, but as the complexity increases it means there is less and less reason to actually implement such algorithms due to prohibitive cost.

Generating coefficients can be a very complex topic for example, although there are extremely few real-time filters used in music DSP (not general DSP!) which have anything other than very trivial coefficients.

In fact only those filters with trivial coefficient computations can be used and modulated in real-time to begin with, so there is a selective process at work which weeds out more complex algorithms automatically.

Where pre-set coefficients are required, advanced mathematics tools will be used which likely already have such algorithms implemented. So no, if we're talking about that kind of highly complex coefficient generator then I do not believe anyone is re-implementing their own versions of these algorithms as running them outside mathematics software is cost prohibitive anyway.
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.

Post

What are these filters with trivial coefficients? I've previously tried to understand "what filters are used in music dsp".

Post

Most filters based upon integration have coefficients generated from tan(w) and further coefficients depending upon the filter are then derived from that.
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.

Post

What are these filters with trivial coefficients? I've previously tried to understand "what filters are used in music dsp".
These filters have been designed about 50 years ago and nowadays in this course we only teach how to convert these analog prototypes to digital. Don't ask about the original design we weren't there and we don't really know, you see these things are trivial, just plug this formula to s. Meanwhile we have several other formulas to discuss about.
~stratum~

Post

soundmodel wrote:So something that has confused me is that there's a huge amount of plug-ins that use filters. However, I consider filter design to be a quite advanced topic and I don't think all plug-in developers are also competent filter designers. However, they might understand the application of filters. So that makes me think that maybe a lot of plug-ins use some filter libraries that I don't know about.

Do such exist? Or does everyone really write the filter algos by hand for every project?
Filters ? You mean LTI filters ?
There are a few libraries out there OS (like ATK), but then I suppose that each company/freelance has a set of classes they reuse for their specific requirement, let it be for LTI filters or for others (compressors, distortions...)).

Post

I've also previously asked a lot about the "what filter designs allow real-time parameter variation" without getting clear answers. What filters are they? Why are they suited for real-time parameter variation?

Post

Why are they suited for real-time parameter variation?
Because somebody managed to convert an original analog circuit which was suitable for realtime parameter variation to digital faithfully. The original circuit is found in the Moog synth and it's a cascade of 4 one pole low pass filters with adjustable feedback.
~stratum~

Post Reply

Return to “DSP and Plugin Development”