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
2
votes
2 answers

VST host - Leaked objects - Juce/C++

I am a PHP programmer learning C++ as I build a VST host. I may have bitten off more than I can chew but I am making some progress (I think)! I'm using the Steinberg VST SDK and the JUCE library in Visual Studio 2010. I'm encountering a leaked…
grandcameo
  • 185
  • 2
  • 11
2
votes
0 answers

Exporting trained instrument in DDSP-VST

I bought the pro colab+ and uploaded my own instrument to google drive and I initiated the training module and after 30 mins it is finished but gives me an error saying that the instrument is not found. this is the error code : Exporting…
Amro
  • 21
  • 1
2
votes
2 answers

developing plugins: DX or VST?

I'd like to get into plugin development using C++. Am undecided between developing VSTs or DXs. What are the considerations? I know that some hosts more readily support one format or the other (Cubase:VSTs, Cakewalk:DXs), but that's all I'm aware…
2
votes
3 answers

Virtual midi and VSTs

I would like to make a simple VST plugin that does this : analyze an audio stream (volume, beat, etc...) has triggers on the analyzer's output (e.g. do something when volume > threshold) generate MIDI events based on the triggers This is to be…
Luper Rouch
  • 9,304
  • 7
  • 42
  • 56
2
votes
0 answers

QDialog with Qt::WindowModal on mac

I need a blocking QDialog (the main app below should be inactive while it is shown) which is able to display sub-windows on top of it. I'm using this QDialog to display VST plugins, which are free to create multiple sub-windows if needed. If I set…
Robin Lobel
  • 630
  • 1
  • 5
  • 16
2
votes
2 answers

How do I fix this undeclared identifier? (C++)

I'm writing a VST in C++ currently, and I ran into an issue. I've been surfing the web and StackOverflow for a while now and I'm stuck. Two files are giving me the issue, SynthesizerTwo.h and SynthesizerTwo.cpp. The error I get is: 'kNumPrograms':…
Josi Whitlock
  • 185
  • 4
  • 15
2
votes
1 answer

Directory lookup in old C++ code causing a directory error in OS X Catalina 10.15

This is a niche question, I hope you can help me with I have a VERY old project (2010 or so - running on XCODE 3.2) It is written in a combination of C++ and also some programming using the JUCE library for Audio Plugin development - it compiles as…
Bryan Spence
  • 133
  • 1
  • 8
2
votes
1 answer

How to send blocks of audio to be processed by synthesizer -- without discontinuities

I am using the Juce framework to build a VST/AU audio plugin. The audio plugin accepts MIDI, and renders that MIDI as audio samples — by sending the MIDI messages to be processed by FluidSynth (a soundfont synthesizer). This is almost working. MIDI…
Birchlabs
  • 7,437
  • 5
  • 35
  • 54
2
votes
1 answer

How do you compile a VST Plugin?

I've been working on an Audio Unit Plugin. Since I'd like people on Windows to be able to use the plugin, I've decided to try my hand at the VST3 SDK. I do not want to use JUCE because I may end up selling the product and don't want to live in a…
Linus Rastegar
  • 263
  • 3
  • 16
2
votes
0 answers

Malformed mach-o image __TEXT segment maps start of file but is writable

I'm having an issue loading a VST plugin in a VST host plugin that I'm writing. I've been successful loading most plugins that I've found but there seems to be one that is giving me weird issues. I can load it in adobe audition and in hosts that use…
DDRBoxman
  • 311
  • 2
  • 10
2
votes
2 answers

Web Audio player with VST effect plugins?

I'm investigating the feasibility of creating a music player based on the Web Audio API (inside an Electron container), that can use VST and/or AU effect plugins. I've been searching, but haven't found anything similar online. I'm not deeply…
Nick W.
  • 1,050
  • 2
  • 9
  • 21
2
votes
0 answers

Can a VST Plugin Access the Entire MIDI Track?

Is it possible to write a VST plugin that looks ahead to upcoming MIDI events, or ideally the entire MIDI track?
2
votes
4 answers

Is algebraic sound synthesis possible?

Lets say you have an normal song with two layers, one instrumental and another of just vocals. Now lets say you also have just the instrumental layer. Is it possible to "subtract" the instrumentals and obtain the pure vocals? Is there going to…
rook
  • 66,304
  • 38
  • 162
  • 239
2
votes
1 answer

VST plugin create multiple windows

Is it possible to create multiple windows in VST? For example, I have a created a knob. As I move the knob, a different window should be created for each movement. Edit1: Sorry for not being clean enough. I have a parent window and have a button on…
Nitin Sethi
  • 1,416
  • 1
  • 11
  • 19
2
votes
0 answers

How to provide simple-to-apply patches for an SDK?

I maintain an Open Source C++ framework for developing audio plugins called wdl-ol. A new version that I'm working requires several changes to be applied to the Steinberg VST3 SDK, which is an SDK that is not available under a publicly accessible…
olilarkin
  • 460
  • 6
  • 17