Questions tagged [vst]

VST (Virtual Studio Technology) is a standard created by Steinberg for audio plugins, which are libraries that can be loaded by a sequencer for synthesizing or processing audio.

The VST standard was introduced by Steinberg to expand sequencers to include third-party instruments and effects. Although other types of VST plugins exist, these are the two most commonly seen types. Instruments synthesize audio from MIDI events sent to them by the host (like a piano plugin, oscillator-based synthesizer, etc.), and effects process audio from a given input audio signal (like a distortion effect, equalizer, etc.).

VST plugins are dynamic libraries which communicate through the VST protocol with a host. On Windows, VST's are regular DLL's, and on Mac OS X they are dynamic library bundles with a .vst extension.

Programming VST effects is a great way to get started doing DSP work, since all of the complicated audio subsystem is handled by your sequencer, giving the programmer a simple entry point to where they can process data. Audio in VST plugins is floating-point and block-based, meaning that the plugin uses arrays of floating-point numbers, one for each channel.

Although VST's can be written in many languages, C++ is most commonly used, since performance is very important when processing realtime audio.

Unfortunately, the VST SDK is not exactly open-source, though it is free to download. To develop VST plugins (or hosts), one needs to create a developer account at Steinberg's website, and download the VST SDK from them directly. Redistribution of the VST SDK source code is not permitted under Steinberg's license.

There are two major branches of VST plugins commonly found these days: 2.4-compatible plugins, and VST3 plugins. The majority of plugins found in the market today use the 2.4 SDK, as the version 3 SDK is not backwards compatible with 2.4.

230 questions
6
votes
3 answers

How to use the vst sdk on the .net framework

I like making music using mostly my computer and especially love using synthesisers. There is a wide range of synthesiser plugins available online which are quite awesome. I have downloaded the VST (Virtual Studio Technology) SDK which is the…
ChP
  • 466
  • 1
  • 4
  • 17
6
votes
1 answer

VST instrument multiple in and out

I want to create a VST instrument that has 16 MIDI inputs and at least 16 audio outputs. Similar to how kontakt or halion do this. Any ideas?
6
votes
1 answer

realtime midi input and synchronisation with audio

I have built a standalone app version of a project that until now was just a VST/audiounit. I am providing audio support via rtaudio. I would like to add MIDI support using rtmidi but it's not clear to me how to synchronise the audio and MIDI…
olilarkin
  • 460
  • 6
  • 17
6
votes
3 answers

I want to do a project on sound programming, but I don't know where to start

At my high school we can take a class where we basically learn about a subject on our own for a semester. I was thinking that I want to learn about "sound programming," but I realized that I have no idea what that entails. I'm interested in learning…
Austin Gayler
  • 4,038
  • 8
  • 37
  • 60
6
votes
5 answers

Every VST SDK seems to be for C++, what about C#?

I want to start making VSTi's, more specifically, midi ones - those who don't produce any sounds but just output midi data to other vst plugs (arpeggiators, chord tools, etc). Now I've just bought books for C# thinking it would be a nice language to…
cause4concern
  • 63
  • 1
  • 1
  • 3
5
votes
1 answer

MIDI Outputs for VST Plugin

I remember this vaguely from the Hypersonic 2 VST instrument. Basically, it's a normal VST instrument, but if you had it in your project, you can assign its MIDI output (which was equal to the input, except if you had transposition or so active) to…
dialer
  • 4,348
  • 6
  • 33
  • 56
5
votes
2 answers

Apply VST audio effect/plugin to audio-file

This is my first question after leeching over here for some time.. So spare me. I need to apply the iZotope Vinyl VST effect to some audio files via CLI or C++ (so language doesn't really matter), it has to work on a Mac or on a Unix based system.…
sjaq
  • 85
  • 5
4
votes
0 answers

Simple Delphi VST3 host

I would like to create a simple FX VST3 host in Delphi, to pass samples to a plugin and get the effected audio. The code below works until the point where the editor window should appear, but it crashes with a $18 address AV error in the plugin DLL,…
3delite
  • 65
  • 1
  • 5
4
votes
1 answer

Error in Steinberg VST3 Project Generator CMake - "add_subdirectory called with incorrect number of arguements"

I'm trying to create a basic new instrument plug-in using the Steinberg VST3 Project Generator, but I'm getting the following error: CMake Error at CMakeLists.txt:12 (add_subdirectory): add_subdirectory called with incorrect number of…
4
votes
1 answer

VST lookahead and setInitialDelay()

I think I need to implement a lookahead system in my VST but have never done it before. I know setInitialDelay(foo) is placed in the constructor and then you buffer audio but I'm not sure were a read from for the 'current' audio and for the…
Forge_13
  • 113
  • 1
  • 1
  • 10
4
votes
1 answer

What are "programs" in a VST instrument?

I have recently started using jvstwrapper and also the juce framework. It appears that the VST SDK has some concept of different "programs" for your instrument. For example both jvstwrapper and juce have classes which you inherit from in order to…
Jonathan
  • 1,256
  • 4
  • 12
  • 18
4
votes
2 answers

Building a VST plugin on Mac OS X without Xcode

How do I build a VST plugin on Mac without using Xcode? (I'm using Code::Blocks).
Dan
4
votes
1 answer

VST plugin : using FFT on audio input buffer with arbitrary size, how?

I'm getting interested in programming a VST plugin, and I have a basic knowledge of audio dsp's and FFT's. I'd like to use VST.Net, and I'm wondering how to implement an FFT-based effect. The process-code looks like public override void…
Led
  • 2,002
  • 4
  • 23
  • 31
4
votes
1 answer

offline processing - file loading, non-realtime algorithms

I'm implementing an audio algorithm to separate notes from a polyphonic recording (like melodyne). My plan has been, to make it a VST-plugin. Studying the documentation, I have a hard time to figure out how I would implement the non-realtime…
Oliver
  • 1,007
  • 1
  • 9
  • 10
4
votes
2 answers

Are there good tutorials for VST plugin creation in JUCE C++?

I want to make VST plugins in C++. I read that the JUCE library is better than using the Steinberg SDK. My problem is that when I Google tutorials it only covers generic topics pertaining to application development only, not specialized audio plugin…
Brandon Miller
  • 2,247
  • 8
  • 36
  • 54
1
2
3
15 16