This project has moved. For the latest updates, please go here.

How to create an EQ?

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

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?

Thanks!
Coordinator
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,
Marc