How to create an EQ?

Topics: Audio, Newbie, Plugin Development
Jan 17 at 2:40 AM

I'm a newbie in DSP with VST.NET. I have created some things, and I'm liking it, but now I'm trying to create a simple EQ with N bands, and I'm completely lost.
I need to convert the VstAudioBuffer input into a 1D array with the average values of each band, but I have no idea how to do this.
I've read about FFT, but I don't really understand how to use this to do the conversion.
Also, if my sample count is 1024, I don't think this buffer contains all the data needed to map all the frequencies from 20Hz to 20Kz.
What am I missing?

Apr 21 at 12:31 PM
First I am very sorry I did not see your message sooner. It seems codeplex does not send notification emails anymore.

First I am not able to help you with the DSP of how to create a filter. You have to search the web, but I think there are plenty of resources out there.

Then, realize that the audio that your plugin will process, is fed in in blocks (of BlockSize) at a time. So your processing needs to take that into account. You may have to buffer old samples if you need them later on.

Finally the VstAudioBuffer is a managed wrapper around a native array. You can cast the VstAudioBuffer instance to IDirectBufferAccess32 (or 64) to gain access to the low level buffer - that will make you responsible for not overrunning it etc. Or you can use the indexer property to gain access to one value at the specified index.

Hope that helps,