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

Using VST-plugin effects with .NET framework

There are numerous so called "VST-plugin" effects available on the internet. These VST effects can be used to manipulate audio. I would like to know if there's a way to use the VST plugins with the .NET framework.
tmighty
  • 10,734
  • 21
  • 104
  • 218
0
votes
1 answer

Can a VST plugin save the incoming audio to an external wav file (separately from the DAW)?

I am trying to add some functionality to Pro Tools, but the only way I have figured to get a hook into the system is by making an audio plugin. Normally a VST allows you to add processing to some audio, but is there a way to hack it so that it…
0
votes
0 answers

inno setup checkbox with multiple versions and install directories

I have a software that has 4 different versions. I need to set the Inno Setup installer with 4 checkbox and 4 different target directory locations. For example; VST 32 bit: C:\Program Files (x86)\Vstplugins VST 64 bit: C:\Program…
0
votes
0 answers

How to transform vsti audio data that can copy to asio buffer and make correct voice?

I am trying to make sounds with vsti and asio. I have already transfrom the midi event to vst event, and then call the "processReplacing" function to make the vsti audio stream like this: float *inputs[64]; float…
light
  • 13
  • 4
0
votes
1 answer

Using VST.net with Unity3d to create a simple VST host

I've successfully simplified the Vst.net host sample to directly load a vst instrument. Mostly I've just stripped out the GUI and made it automatically fire a few test notes. This code works when I build it as a console application. using…
spobin
  • 79
  • 1
  • 11
0
votes
1 answer

VST C++ Nested Classes - Construction and Inclusion

I need some help in Nested classes. This has sprung from a question I asked here Essentially I have a class 'myPlugin'. This class is the bulk of my program and includes the 'processReplacing' function. Within processReplacing I need to filter the…
Forge_13
  • 113
  • 1
  • 1
  • 10
0
votes
2 answers

Storing values in buffer, within class function method

I am programming a VST DSP plugin in c++. I am creating a series of band pass filters in a 'filterbank'. I have implemented a filter class in my header (including function) and built constructor/destructor correctly in .cpp. I can pass values to the…
Forge_13
  • 113
  • 1
  • 1
  • 10
0
votes
0 answers

"Undefined function or variable" loadAudioPlugin

I am trying to run this simple command on Matlab to load a VST: hostedPlugin = loadAudioPlugin(pluginpath) However, I am getting the following error: Undefined function or variable 'loadAudioPlugin'. What's wrong? I can't seem to figure it out...…
Luis Cruz
  • 1,488
  • 3
  • 22
  • 50
0
votes
1 answer

Audio plugins. Mapping MIDI to audio files

I am a reasonably experienced programmer who is pretty inexperienced with C++ and brand new to creating plugins. Thus far I have looked into http://martinfinke.de/blog/tags/making_audio_plugins.html but it seems incredibly dated, I'm hitting a whole…
Richie
  • 364
  • 3
  • 8
  • 20
0
votes
0 answers

Realtime MIDI Events with NAudio and VST.NET

I have the following code working great with VST Effects, passing a sinewave in and receiving a result without any glitches. However, I need to pass in a custom created MIDI Event (using either VST.NET or NAudio MIDI Helpers), and am having no luck.…
0
votes
1 answer

VST host playback timing issues (VST.NET + NAudio)

I'm just getting started in trying to work out VST plugin hosting for a small music program that I've been working on for a while. I've now reached the point where I'm able to take melodies stored within my program and send the midi data to a hosted…
JCoyle
  • 100
  • 9
0
votes
2 answers

How to set up Visual Studio to debug a DLL ("Unable to start program error")

Basically, I have a Visual Studio project that builds a DLL (a VST audio plugin). Where this type of project scenario has been set up for me in the past, I would be able to build, run, and debug the plugin. Visual studio would automatically launch…
fmwavesrgr8
  • 81
  • 2
  • 7
0
votes
1 answer

Ableton Link in a VST Plugin possible?

First i am not really a coder more a musician. Ableton Link comes more and more to our devices in apps but not in DAWs like Cubase, Bitwig, Logic, FL Studio, Cakewalk, etc. So is it possible to grab the song tempo from a DAW and transmit it via the…
0
votes
2 answers

How to package SC instrument for beta testers?

I've built a sample instrument using the following architecture: A python script reads sample files from a Redis database stored on disk and sends OSC messages to super collider with the path and pitch of a random selection of N samples. On the SC…
jimijazz
  • 2,197
  • 1
  • 15
  • 24
0
votes
1 answer

Control Host playback from JUCE audio VST plugin

I am trying to find a way to control the playback position / tempo of a VST Host from a VST plugin build with JUCE. I am not sure if this is possible. I found a setPlayHead function on the AudioProcessor, and i think this might be what i am looking…
80prozent
  • 147
  • 9