How To Create VST Plugins? Information for those just getting started

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

Post

Perhaps IPlug should be added to this sticky:

my version: https://github.com/olilarkin/wdl-ol

it is very nice for beginners since it is really non-verbose. Adding a parameter with labels etc is just one line of code for instance and adding a control to the GUI is just a couple of lines. I think it's a good way for people to move from high level languages like Puredata to lower-level code in c++.

Post

few years ago i posted a pdf noting elementary routines for physical modeling. update was in the to do pile, and is now in the ta da pile, that's oos and aas.

audio dsp training wheels -
http://www.xoxos.net/sem/dsp2public.pdf
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

Thakd xoxos! The delayline stuff is very useful, thanks!

Regards
Andrew Ainslie

Post

very angry mobster wrote: Before learning how to code VST plugins you should check out:
- SynthEdit
- SynthMaker
- Reaktor
- Max/MSP
- PureData
- CSound
- SuperCollider
- Bidule
- Usine
Are there any threads comparing and contrasting these different platforms for VST development?

I have looked at SynthMaker a little, just got hold of PureData; buying a full copy of Reaktor just to test it out is a bit steep without being sure what it can do and if it would suit me.

So a comparison thread would be really helpful (I did search around, didn't find one, but could well have missed it).
Last edited by Nantonos on Sat Aug 25, 2012 9:45 pm, edited 1 time in total.

Post

hibrasil wrote:Perhaps IPlug should be added to this sticky:

my version: https://github.com/olilarkin/wdl-ol
Added. Thanks Hibrasil.

audio dsp training wheels -
http://www.xoxos.net/sem/dsp2public.pdf
Added. Thanks XOXOS.

Post

Nantonos wrote:
very angry mobster wrote: Before learning how to code VST plugins you should check out:
- SynthEdit
- SynthMaker
- Reaktor
- Max/MSP
- PureData
- CSound
- SuperCollider
- Bidule
- Usine
Are there any threads comparing and contrasting these different platforms for VST development?
None that I can remember.


- Shannon

Post

I just want to be a testament of success and say that this really can be done by a beginner programmer from scratch. Check out a post covering my success story and links to free VST's for MAC and PC.

http://www.kvraudio.com/forum/viewtopic ... 90#5200190

KVR definitely helped along the way and I encourage all beginners reading this to get cracking.

Happy VST!

Post

Here's a HTML source for The Scientist and Engineer's Guide to
Digital Signal Processing By Steven W. Smith, Ph.D.

http://dspguide.com/pdfbook.htm

Post

Ninja_Edit wrote:Here's a HTML source for The Scientist and Engineer's Guide to
Digital Signal Processing By Steven W. Smith, Ph.D.

http://dspguide.com/pdfbook.htm
Thanks. I've updated the link in the first post.


Shannon

Post

Also:

http://crca.ucsd.edu/~msp/techniques.htm


Pirkle, Will
Designing Audio Effect Plug-Ins in C++ : With Digital Audio Signal Processing Theory

Post

Here's my suggesting program of learning, based largely on the original.


1. Mathematics
Algebra
Discrete
Trigonometry / Harmonic analysis
Complex analysis

2. Music/audio
Music theory
Acoustics/psychoacoustics
Digital audio formats and MIDI
Digital Audio Workstations (DAWs)

3. Digital Signal Processing (DSP)
Biquad filter

4. Software development
Market research
Project management
Software lifecycle
Object-oriented programming
C++
Software Development Kit (SDK) - eg VST

Post

I'm a student within electro-acoustics and production so I've learned some parts of DSP and have become pretty decent with Csound, Python and Max/MSP. I also tend to mix all of them together through the Csound object that can be downloaded for Max so that I get to use the strongest point of every language.

I've been reading about how to build VST or AU units and I'm probably going to work on the Audio Programming book over the summer. However, I still do have one question: is there any way to build a VST/AU using Csound + Python with Max? The new GEN add-on to max can be used to export something you build into an AU, but I'm not sure if it could work with the Csound object too.

Post

great thread.
i have been playing with synthedit and reaktor for years and LOVE making plugins, as well as building hardware.
reaktor is very limited and sometimes synthedit is just not quite enough. these points will definitely help me move forward in my DSP design.

thanks!

Post

maladie wrote:I've been reading about how to build VST or AU units and I'm probably going to work on the Audio Programming book over the summer. However, I still do have one question: is there any way to build a VST/AU using Csound + Python with Max?
No, almost certainly not. Firstly, as you probably know, the csound~ object for MAX relies on the existing Csound API to pass-off its processing to an instance of CSound, so, really it has no 'knowledge' of anything Csound-y at all. I suppose it would be possible to build a MAX graphical UI/frontend that generated CSound instrument definition, but it'd still rely on the CSound setup as a parallel 'monolithic' audio engine.

You basically have no existing means of directly turning your CSound instrument definition into any other kind of source code that could be compiled into a standalone plugin. And you also wont be able to use a CSound instrument definition without either (1) creating a bridge to the monolith, in exactly the same maner as csound~ does, and thus basically writing your own version of the Cabbage plugin, or (2) replicating/incorporating the CSound monolith in its entirety inside your plugin, or (3) finding some way to parse the CSound score and spit out either the raw underlying code and glue from CSound (which could be a license issue) or your own code which does exactly what CSound does (in other words basically a from-scratch rewrite).
The new GEN add-on to max can be used to export something you build into an AU, but I'm not sure if it could work with the Csound object too.
No, not even slightly. It's GEN-specific, so wont even work on regular MSP audio objects, let alone third party externals like csound~.

One possible avenue for you, though, might be some clever use of Faust, which can spit out compilable source code for VST/AU plugins, Csound opcodes and/or MAX objects, but you wouldnt get to leverage the existing CSound opcodes or MAX audio objects inside it.
my other modular synth is a bugbrand

Post

Thanks whyterabbyt, you basically confirmed what I thought and gave some extra insight. I'll check out Faust :). Also bought the Audio Programming Book to go more in depth and see other possibilities.

Post Reply

Return to “DSP and Plugin Development”