Skip to main content

Development

Welcome to the world of VSTs! This page is an all-inclusive resource meant to guide you seamlessly through creating your own VST (Virtual Studio Technology) plugins. Here, we'll explore key concepts, tools, and guidelines associated with VST plugin development to help you successfully list your creations on the Elgato Marketplace.

What is VST?

VST plugins are software functions integrated into digital audio workstation (DAW) software. They can add various effects and functions to the DAW, expanding its capabilities.

VST Development Essentials

  1. Understanding DSP (Digital Signal Processing): The crux of any audio plugin development lies in manipulating digital signals. Familiarity with basic concepts in DSP, such as filtering and Fourier Transform, can prove beneficial.
  2. Programming Knowledge: Development of VST plugins typically involves using languages such as C++, though wrappers now allow development using other languages like Python or Java.
  3. Audio Formats: Different DAWs may use different audio representations (e.g., 16-bit PCM or 24-bit PCM). Understanding these formats is vital to ensuring your plugin works as expected across different DAWs.

Tools for VST Development

  1. Steinberg VST SDK: An essential tool for developing VST plugins. It provides the necessary interfaces to interact with DAWs and contains sample code that can serve as a starting point for your plugin.
  2. DAWs for Testing Plugins: To validate your VST plugin, you'll need DAWs that support VST. Some commonly used DAWs are Ableton Live, REAPER, and Cubase.
  3. JUCE Framework: This is a powerful tool for multi-platform C++ development and is widely used for creating VST plugins.

Guidelines for VST Development

  1. Backward Compatibility: Maintain compatibility as much as possible with older versions of the VST standard to maximize the number of DAWs your plugin can work with.
  2. Efficiency: Remember that audio processing is a real-time task. The more efficient your plugin, the better the processing performance in the DAW.
  3. Interface and UX Design: A well-designed, intuitive interface goes a long way in determining user acceptance of your plugin.

Best Practices

  1. Use Descriptive Names: The name of the effect, input name, parameters, etc., should be self-explanatory and descriptive. Remember your plugin will be used within a DAW alongside many others.
  2. Provide Useful Presets: Users appreciate having a starting point to use your plugin. It also provides them insight into what your plugin is capable of.
  3. Fine-Tune Control Range: Be mindful of the range of your controls. Settings should allow for minor adjustments but also need to span the entire spectrum of possible sound.