Newbie VST question!

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Hey everyone.

A little background...

I'm a musician (been studying music most of my life), and I'm a computer science student here at the local University.

A few days ago I was talking to one of our profs about how I could mix my two interests (music and programming), and he suggested I get into programming VST plugins (in C++ I believe).

Also, I recently purchased a Fantom S88 and have been doing some research on sound creation, synthesis etc.

So, yes, I am new to this world... but very interested nonetheless.

Also, I have .NET programming experience from job I have here currently. I know the languages Java and C#, and am in the process of learning C, C++.

I was just wondering if someone could tell me where to start w.r.t. VST plugin programming? I realize I'm not at the stage to begin any coding (obviously), but was wondering if there's any articles/books etc I could read up on?

Any suggestions would be greatly appreciated!

Thanks - and great website by the way!

Post

You should get the VST SDK which is by Steinberg and is available here
http://ygrabit.steinberg.de/users/ygrab ... index.html

You will need a software sequencer or some other VST host (many can be downloaded).

You certainly need to work in C++ (Java and the the other thing -can't say it- are no good for this).

To save time you can instead download SynthEdit where you can build a VST with drag and drop, but use the SynthEdit SDK in C++ for tricky stuff (my preferred approach). It will also act as a host.

Steve

Post

There is always Delphi, but C++ is probably a much more obvious choice, given your background. If you are interested in using Delphi, ask the legendary Tobybear.

As for cpp, get the vst SDK frm Steinberg as steve suggests. If you are using MSVC you'll have your own plugin up and running in no time! There are some resources here and there if you want to use GCC. Look on musicdsp.org or the vst source code archive.

If you don't want to make fabulous GUI's straight away, you can get a simple plugin going in minutes, which uses the host's string interface. You then just need to adapt the audio process code to get it to do what you want. There are a few pitfalls with a project. If you are starting a new project, the build settings are important. In particular look at the .def file and see how it is used in the link step. There is a wizard somewhere for the visual c++ ide.

Obviously, the actual DSP is a completley different kettle of fish, but at least it doesn't change if you decide to use a different language :)

Post

Thanks for the replies! I know I'm going to sound stupid - but you're using some terminology I'm unfamiliar with (DSP - stuff like that).

Maybe I need to back up a little furthur before I even look into VST stuff? Should I be thinking more basic right now?
Also, how well should I know Cubase before I get into VST plugins? And is there any other software which uses VST besides Cubase? For example, I believe Cakewalk has an adapter you can purchase which allows one to use VST plugins.

Sorry for all the questions!

Post

DSP-DigitalSignalProcessing.
As to who else uses VSTs-almost every sequencer/recording app on the market either has native VST support or can be used with VSTs through a wrapper including AU environments(Logic),RTAS(ProTools)and DXi(Cakewalk).
Welcome to K-v-R :)
ew
A spectral heretic...

Post

You don't have to use Cubase. I don't. FL Studio is far cheaper, and its really good.

Get a good book on C++, like 'C++ Primer', and get to grips with the language first. You don't need to understand all of it to get going in the first instance though.

Post

Get a good book on C++, like 'C++ Primer', and get to grips with the language first. You don't need to understand all of it to get going in the first instance though.
But I'd suggest to continue learing C++, as you only learn the very basics in a book like that. You know about nothing about exception safety (I'd suggest to read Herb Sutter's Exceptional C++ for this topic), most books don't tell you much about templates (specialization, template-templates, ... all this not that basic stuff). You don't know common C++-idioms ('pimpl' and stuff every common C++-coder knows). You don't know about common design patterns (visitor, bridge, ... well, the GoF stuff).

I never read 'C++ Primer' but many C++-beginners books forget to tell about large parts of the standard library, like STL, ... . Some even forget basic language features like RTTI.

Post

You can sneak in the backdoor by using Synthedit. It's a visual DSP programming tool. The cool thing is that there is an SDK for programming your own modules in C++. So, you can build something that works with SE first, learn the terms and go on to develop your own C++ routines before commiting the next 2 years of your life to getting it all together with the Steinberg SDK. There's a SE forum right here at KVR. There's even a SDK group on Yahoo. Have Fun!

http://www.synthedit.com/
http://www.synthedit.com/sdk.htm

Post

@ helium

Is there one book that does tell you everything?

Post

There are two really good books out there, called Thinking in C++ Volume 1 and 2. They get pretty advanced.

Here's the best part. They are available in print, but the author also has them for free download on his website, here:

http://www.mindview.net/Books/TICPP/Thi ... CPP2e.html

I also started with the C++ All-In-One Desk Reference for Dummies, and it helped a TON. But download those books. You'll save yourself a ton of money also. Good luck!

Koolkeys

Post

Is there one book that does tell you everything?
I don't think so. That would be a very big book.

Read a beginners book. Than experiment a bit with you knowledge.

Read the Guru of the week articels.

For advanced topics:
Scott Meyers's Effective STL
Herb Sutter's Exceptional C++
Andrei Alexandrescu's Modern C++ (!!!)

When you've read this (and understand everything ;) ) you know the most important things on C++ in general. Parallel you can learn platform specific things.

Than you need practical experience, of cource!

Visit comp.lang.c++.moderated from time to time.


(All other good recources I know are german, so it won't help you too much :p )


And I recommend to download boost. A very portable sourcecode library that is extremly helpfull in your everydays business as a C++ coder. Some parts of this library will be part of C++0x (the next C++ standard), so getting used to it is a good idea anyway.

Post

You guys are fabulous! Thanks so much for all the help!

Post

jacksmash wrote:You guys are fabulous! Thanks so much for all the help!
:hihi:

Post

jacksmash wrote:[...] - but you're using some terminology I'm unfamiliar with (DSP - stuff like that).
might be this is interesting for getting further into dsp:

http://www.musicdsp.com/

Post Reply

Return to “DSP and Plugin Development”