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

32 posts
• Page

**1**of**3**•**1**, 2, 3- KVRian
- 536 posts since 28 May, 2010, from Finland

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?

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

- KVRAF
- 11568 posts since 7 Dec, 2004

soundmodel wrote:However, I consider filter design to be a quite advanced topic

- KVRAF
- 11568 posts since 7 Dec, 2004

Advanced compared to what? Mixing?

- KVRAF
- 11568 posts since 7 Dec, 2004

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.

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.

- KVRian
- 1360 posts since 29 May, 2012

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 1:33 am, edited 1 time in total.

~stratum~

- KVRAF
- 11568 posts since 7 Dec, 2004

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.

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.

- KVRAF
- 11568 posts since 7 Dec, 2004

Most filters based upon integration have coefficients generated from tan(w) and further coefficients depending upon the filter are then derived from that.

- KVRian
- 1360 posts since 29 May, 2012

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~

- KVRian
- 1272 posts since 26 Apr, 2004, from UK

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...)).

- KVRian
- 1360 posts since 29 May, 2012

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~