VST
ThoughtStorms Wiki
Not as easy to program as it should be.
Use JUCE?
Quora Answer : What are your favorite VST Plugins?
I'm a big fan of OSAR :: protoplug which is scandalously unknown.
Protoplug is basically the Lua virtual machine embedded in VST format. That means you can open it in your favourite DAW (I use FL Studio and LMMS) and you can write your own generators and effects using Lua.
You can literally write, compile and run the plugin right there in the DAW. No need to dive into C++. Nor have a separate C++ development environment and the Steinberg SDK installed. Protoplug is all you need to create your own VSTs.
Lua is a reasonably easy programming language. Not much different from Python, Javascript or Ruby in its capabilities or the way you use it. And Protoplug is built in JUCE (and accesses the JUCE APIs) so if you can figure out how to program it, you can pretty much make anything.
Obviously there is an overhead compared to writing low-level C code, so don't expect to be able to write plugins that compete with the professionals in efficiency. But it's fast enough to do sound synthesis and audio-processing effects at 44KHz.
This is obviously a geeky choice. But if there's something you really want to be able to do with sound (or MIDI), that no-one has yet made a plugin for, then it's a great way to try making it yourself.
I confess, I do also have a bit of a soft-spot for the Delay Lama. It's utterly absurd, but quite usable in a kitsch way. And I like ICECREAM for fun chip-tune sounds. And Ilosynth as a free mono synth with some usable presets.
Quora Answer : What is the VST plugin? Why do you use it?
VST plugin isn't one thing.
It's a standard, for writing programs that do something musical. And by following the VST standard, those musical programs can be "plugged into" a virtual music studio such as Ableton, FL Studio, Logic or Cubase etc. These "virtual studios" are called "DAWs" (Digital Audio Workstation)
There are different kinds of VSTs. The two main ones are "generators" and "effects".
A generator is like a synthesizer. It's a program that receives information about notes that you want to be played, in a format called "MIDI", and then it synthesizes those notes into an audio signal.
When you write your synthesizer program as a VST, it means that someone else can plug it into whatever DAW they use, and immediately have it play one of the musical parts using your synth.
Say your synth program plays flute-like sounds. As long as you follow the VST standard when you write it, you don't have to know whether I am using FL Studio or Cubase. And the writers of FL Studio and Cubase never have to know that you are even writing a flute synthesizer. Nevertheless, I can plug your VST program into my DAW and have it as one of the instruments in my "orchestra" that is playing my score.
The other main class of VSTs are "effects" which take in an existing audio signal. And process it in some way. Perhaps the VST adds echo or reverb to it. Perhaps it emulates a compressor to make it louder. Or a guitar distortion pedal that makes it noisier.
Again ... no-one had to plan the co-ordination between the DAW and the effect processing program. Just by following the VST standard, that audio processor can now be brought by any musician into whatever DAW they happen to be using.
VST is a wonderfully useful, and very very widely supported standard. It's by far the best supported and most popular standard of its kind (there are others but they are far more obscure).
And it's made the electronic music production ecosystem incredibly powerful and diverse.
Including some wonderfully silly VSTs, such as the Delay Lama