Plug-in designing

PostMortem1666

Ocean Planet is on burn
Jul 10, 2007
758
0
16
Oklahoma, US
Hello everyone. Today I was thinking about what it would take to learn more about how to design plugins and things. I would like to learn how to make an eq or a compressor or any kind of plugin. I was wondering if anyone knew any guides to help me or anything of that nature or if anyone could tell me It would be waaayy too much to learn.
 
Befriend an expert programmer and a graphic designer to make a nice GUI. Certainly not impossible to do yourself, but yeah, it would probably take years to learn something like that.
 
Start looking at the Steinberg site. There are some code libraries that will make your life slightly easier. C++ will be your friend, but also a thorough knowledge of digital audio is a must. EQs and Compressors range in complexity...from very comlex to wow...that's really complex.

Start out with something simple, such as playing with the levels. The UI doesn't need to be programed at first. The VST specs allow sequencers to provide a default UI based on the values you expose in your VST.

A google search of "Steinberg VST SDK" should get you started.

Have fun!
 
C, C++ would be the place to start.

I FIEXD FOR YOO!

Seriously, C# has no good reason to exist. If you want the power of C without the retarded bullshit of languages that tried to be C but failed, don't go with C#. If you want to be able to use your plugin on anything but the newest Windows abomination, don't go with platform-specific bullshit of any kind.

Jeff
 
I FIEXD FOR YOO!

Seriously, C# has no good reason to exist. If you want the power of C without the retarded bullshit of languages that tried to be C but failed, don't go with C#. If you want to be able to use your plugin on anything but the newest Windows abomination, don't go with platform-specific bullshit of any kind.

Jeff

Not true; you could also run it on an Xbox 360 ;). Incidentally, there's a major GNU project to bring C# cross-platform (as it's an ECMA standard) called Mono. They seem to have it pretty much done so far, using GTK for the forms. The language is pretty convenient to use; there are so many things I just wouldn't bother doing if I didn't have C#.

Back on topic, though, I doubt there are any VST / AU / RTAS bindings for C#, so you're pretty much limited to C and C++. And real-time programming in either for someone who's not already very comfortable with programming is going to be painful.
 
I was talking about systems usable for hardcore programming, and with the stock OS that isn't the case, so I'm really not wrong. You're forgetting that I always win.

Basically, if you want to know what it's like do this stuff quickly... try explaining to a blind, crippled, retarded person who only communicates via slaps to the head how to make coffee while said blind, crippled, retarded person is actually attempting to brew something like coffee using fertilizer, pantyhose, and your septic system, and you'll see what it's like dealing with all of the constraints of programming plugins while inexperienced with a programming language.

Jeff
 
Search for an open-source VST framework to work with. It's a lot of work to write all the bindings yourself and it's not necessary.

For the actual DSP, there's a lot of stuff on the internet and if you want I can try to post some links. As far as an EQ plugin, they're usually implemented as IIR filters. Do some reading on those, as well as FIR filters. Wikipedia has some good information on them. For actually generating the IIR coefficients, search for Butterworth or Bessel or Chebyshev.

Synthedit might also be good to look at if you just want to toy around and aren't terribly serious about all the nitty gritty stuff.

It might be good to start out with something more simple than an EQ - a simple gain adjuster, or a delay, or something.
 
http://www.planetanalog.com/showArticle.jhtml?articleID=12802683&pgno=3
http://unicorn.us.com/alex/allpolefilters.html
http://www.dsptutor.freeuk.com/index.htm
http://www.u-he.com/vstsource/

if you want to make VSTs: http://www.kvraudio.com/get/502.html

Read up on lots of DSP on wikipedia: Fourier Transform/Discrete Fourier Transform, IIR filter, FIR filter, Convolution, and anything else you can find. If you don't already know how to program and don't know a lot of math, then you've got a lot to learn.

Edit: unless, as posted below, you feel like using something more visual and less hands on, like synthedit.
 
Max/MSP is a favourite of mine. Kinda hard to get into but the possibilities are endless!
Go on www.cycling74.com and you can download a 30 day free trial. Also, for an extra $60 or so you can buy it for 9 months which is a bonus!