About Filters in VSTI's

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

I was thinking of how people code their synths while I looking through the forum. And I wondered (and please forgive me if this is an idiotic question, I have no experience with coding) how does any other filter sound different from others when they are coded in like Microsoft C? Shouldn't they all practically be the same? Maybe this is just the synthedit talking where most use the same filter in synth edit.

Forgive me if i've just asked a foolish question.

Post

They would use more or less the same if the developers would use the same piece of code and the same algorithm. But there are different (many) algorithms, and the way you code a specific algorithm has impact as well, and of course there are parameter settings that you can use...
e.g. the number of samples that you use (1 - 10 - 4096 - etc) to calculate a filter can be different, the impact of 'past' samples can be different (e.g. current + 1/3 * last one + 1/9 * the one before last, is different than taking 1/2 and 1/4th)... There are some sites with good examples of filter algorithms (a list is in the sticky at the top of this forum). However most examples are coded in C/C++ which is not an easy read if you're not a programmer :D.
I bought Curtis Roads - The Computer Music Tutorial, which has a very broad and high-level introduction into all these concepts...

Post

OK, I forgive you! 8)

Let's answer your question with a real world example:

Originally, filters were "hardware". Think of the famous Moog-filters and other examples of this stuff.

All of them were characterized to have a very special & individual sound. I guess, this is what you have in mind, when you compare to the software-replica you mentioned.

But before the digital revolution all of these filters were built in a conventional way: resistors, transistors, condensators. And all of them are built with basically the same parts. Do they sound the same? Of course not! It's the wiring-logic behind those parts that creats the special sound. And the same is true for coding software: the programming language is the same, but it's the logic behind the basic structure which let's software filters sound special.

(and forgive me my bad English. It was written before my first coffee this morning :oops: )

J.

Post

I'm at my second coffee...

All filters normally used in synths can be abstracted to "a relation between incoming samples and outgoing samples". Whatever circuit or parts in hardware were used, the filter can be described by an equation. To do so in the digital domain, we have a couple of so called Transformations that let us warp the equation used to design a hardware filter into an equation usable for digital processing. So much to the theory.

In practice, analogue parts are not perfect. They colour the signal. We call this non-linearities. For example, a Moog filter is known to have some of the input signal "leak" into the control voltages. Thus it always has a little frequency modulation.

Most code examples you find on the web don't model these non-linearities at all. Some do, but mostly on a pretty simple level. This lets them basically sound "clean". The Art Of Programming Filters For Software Synthesizers is all about making them sound "good" or "organic"...

Cheers,

;) Urs

Post

Crossinger wrote:But before the digital revolution all of these filters were built in a conventional way: resistors, transistors, condensators. And all of them are built with basically the same parts. Do they sound the same? Of course not! It's the wiring-logic behind those parts that creats the special sound.
Hmmm, not absolutely correct... "basically the same parts" isn't absolutely true. There are many different types of capacitors - all with a slightly different behaviour. The choice of a certain kind of capacitor alone can introduce subtle change in a filter's behaviour, even if you use exactly the same schematic.
"Until you spread your wings, you'll have no idea how far you can walk." Image

Post

-------
Last edited by Rangtangtang on Mon Jun 25, 2007 12:48 pm, edited 1 time in total.

Post

No, convolution can only be used for linear processes.

Post

--------------
Last edited by Rangtangtang on Mon Jun 25, 2007 12:50 pm, edited 1 time in total.

Post

helium wrote:Why is 6 afraid of 7

Because 7 8 9.
Funny :D :hihi:

Post

Rangtangtang wrote:My thought processes were, the way a component would behave under certain conditions, which would include inrelation to other components. A coded model circuit board.
That's basically the concept of Analogue Modeling. One creates digital models of components or of whole groups of components and their interaction. While this can produce accurate emulations, it typically costs a lot more cpu than working with more abstract approximations. While latter don't necessarily sound worse...

Cheers,

;) Urs

Post

Interesting, half the time I had to read parts of what some of you said over a few times just to grasp it a bit. We have the greatest minds when it comes to music technology here at KVR! I'm taking classes to learn Visual C++ in college this coming fall. I specifically I would like to learn it for this very purpose, to create synths. But it's useful other ways in the real world as well so i'm sure it'll be a great class. Thanks for clearing it all up for me, i'm so used to synth edit and it's whole scheme, no coding there, just objects.
"You are going to let the fear of poverty govern your life and your reward will be that you will eat, but you will not live."

Post

I'll get this one in before Stefancrs appears.

If you want to try a program that has the makings of a great un' given time, take a look at SynthMaker. This program allows you to code your own filters, oscillators etc as well as using some pre-made modules to make up synths.

You can also export any synths made as a VST plugin.


Dunc

http://www.synthmaker.com/
Last edited by Dunc on Mon Apr 25, 2005 6:26 pm, edited 2 times in total.

Post

Not only are filters very different, but for some people they are the most noticable thing about a synth. Most virtual analog VSTs sound very harsh to me, and this is usually the fault of not-so-great filters.

Put this way, a great oscillator running through a harsh filter sounds like crap to my ears. A crappy oscillator running through a smooth filter sounds decent (IMHO). There have been a good number of filter effect VSTs, and for me the winner is Filterscape. Download the Filterscape demo and play a few virtual analog VSTs with the synths built in filter, then with Filterscape. It makes a world of difference in most cases.

Not that Filterscape is perfect, I'd still take a Sherman Filterbank over it. Still, Filterscape sounds better than any other VST filter I've heard yet.

Get the Filterscape demo here: http://www.kvraudio.com/get/1432.html

Post

Oops... Double post.

Post

Lawnmower Of The Damned wrote:Still, Filterscape sounds better than any other VST filter I've heard yet.
Thanks :oops:

;) Urs

Post Reply

Return to “DSP and Plugin Development”