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
-1
votes
1 answer

Making Audio Plugin for DAWs

I want to create a really simple Ableton plugin with a GUI. The only functionality I want is taking the keyboard signal and manipulate the midi output (For example, if I press A from keyboard -where it normally plays note in Ableton, I want to midi…
senty
  • 12,385
  • 28
  • 130
  • 260
-1
votes
2 answers

error: cannot allocate an object of abstract type 'mySynth' VST Programming

For a project, I am being asked to create a VST using the Steinberg SDK, i'm using version 2.4. The issue that I'm having is error: cannot allocate an object of abstract type 'mySynth'. When attempting to compile, the error brings me to this…
user1132760
-2
votes
1 answer

Create VST plug-ins

I want to create a third-party plug-in for Serato (a software for DJs). I searched in their site and I saw that Serato supports VST (VST2) plug-ins. So my question now is what should I read in order to create a VST plug-in? Thank you in advance.
jimkomni
  • 27
  • 5
-2
votes
2 answers

Deadlock in multi-threaded Windows GUI application

I develop a DAW application for Windows 10. It's a x64 application written in C++ and built by Visual Studio 2019. The application uses a custom GUI that does not use any Windows APIs but it also has to load VST 2.4 plugins that do use standard…
deLock
  • 762
  • 8
  • 16
-2
votes
2 answers

Simple C++ maths giving incorrect result

I am writing a VSTi plugin, I need a coefficient calculating for part of the output envelope. Basically I am receiving the incorrect answer to the mathematical expression, I have simplified it into several steps and it is still incorrect. The same…
1 2 3
15
16