What Is A Vst Plugin Binary

26.12.2020

Introduction

  • A plugin is a software synthesizer which can be accessed within a DAW. Usually the plugin is loaded on a MIDI track. Instrument plugins interface with your DAW through one of a handful of standards. Steinberg's VST is a standard supported by many DAWs.
  • Universal Binary version of Rapture VST (OSX) - when? Hello, Since I have switched to an Intel based Mac for music production I would very much be able to use Rapture on that machine.
  • FXpansion's VST to RTAS Adapter allows you to enable your VST effect and instruments plugins for use in Pro Tools. The Adapter uses negligible CPU power and provides a simple configuration tool which scans for VST plugins on your system and creates RTAS plugins from them. VST to RTAS Adapter is fully compatible with VST 2.3 effect and plugin instruments.
  • For the Windows platform On the Windows platform, a VST 3 Plug-in is organized as a bundle like package format (simple folder), its file extension is '.vst3 ' and has the following folder structure: In previous SDKs, the VST 3 Plug-in was defined as a single dll file with the.vst3 extension. This is deprecated since VST 3.6.10.
  • A separate binary distribution file is available for each target computer platform for each audio plug-in specification. This audio plugin can be loaded into any audio host application that conforms to the AudioUnit or VST plugin specification. RTAS compatibility is available by using the FXpansion VST-RTAS adapter.

Developing VST plugins under Mac OSX is in many ways simpler than other platforms, but nonetheless there are a few “gotchas” along the way. This guide assumes familiarity with Xcode and C development, and that you are working with Mac OSX 10.5 or greater and have a relatively recent version of Xcode (4.2 or better). Unfortunately, the MB VST status at this point is, either the VST plugin you try works, or it doesn't work, as you can see by reading this thread. Steven is not currently working on mbvst, and the 3rd-party BASS component it depends on, bassvst.dll, hasn't been updated in several years.

Writing VST plugins is a lot of fun, but it’s even more fun to write your own host which uses the wide variety of plugins already out there to do something original and new. Making your own VST host is not a trivial task, but the trickiest part is figuring out how to load the plugins and connect them to your code’s callback functions. As the VST documentation is a bit sparse on the subject of hosting, this guide will assist you in setting up your own host.

This guide only covers loading the plugin and basic communication, and the language of choice here is C++. C# programmers should consider using the VST.NET framework, and I’m not sure what frameworks exist for other languages.

Also, it’s worth noting that Teragon Audio has developed an open-source VST host, MrsWatson. Feel free to look at the code and fork it for your own project! If you find yourself using a substantial portion of the MrsWatson source in your own code, please let me know so I can add a link to your project from the MrsWatson page.

New Vst Plugins Free Download

Code conventions

In the course of your development, you will probably require logging, error handling, etc. To simplify the code in this tutorial, I have simply written “return -1” or “return NULL” statements, but you should consider expanding this to log some info or handle the error.

Also, this tutorial is written for both Windows and Mac OSX developers. As such, there is a lot of platform-specific code, which you will probably need to box with #ifdef/#endif statements in the preprocessor.

Setting up your build environment

You’ll need to first download and install the following tools:

  1. Steinberg’s VST SDK, which requires you to make a free Steinberg Developer account. This tutorial assumes you are working with the VST 2.4 SDK.
  2. Microsoft’s Visual C++ 2010 Express, if you wish to support Windows.
  3. Microsoft’s Platform SDK, again if you are developing on Windows.
  4. Xcode 4.x, if you are developing on Mac OS X.
Free trap vst plugins

Project configuration

Aside from your project files, you need only to add the VST SDK headers into your project’s include path. This includes the following files, which are located under the vstsdk2.4/pluginterfaces/vst2.x directory:

  • aeffect.h
  • aeffectx.h
  • vsfxstore.h

On both Windows and Mac OSX, you should probably configure your program to build as a 32-bit binary, simply because most VST plugins are not 64-bit compatible yet. On the Mac, this gets to be a bit hairy because Apple is working to deprecate Carbon, which is a 32-bit framework. If anyone out there has example code in C (not objective-C) to load a plugin from bundle without using Carbon, please let me know so I can update this article.

Loading the VST plugin

After your host performs its own internal initialization routines, it is time to load the VST plugin from source. This procedure varies a bit depending on the platform, but the algorithm is fundamentally the same: find the plugin, load the dynamic library into memory, acquire the plugin’s main address, and create a VST callback connection. These callbacks are defined function pointers which you should define in one of your project’s header files, and are as follows:

On Windows, VST plugins are simply dynamically linked libraries (DLL’s). The code for opening a DLL library in Windows is fairly simple:

On Mac OSX, VST plugins are also dynamic libraries, but they are packaged as bundles. Your host can open these bundles through the Carbon API. On Mac OS9, VST plugins were packaged as CFM files, which has long since been deprecated, and it is highly unlikely that any modern VST host should need to support this format.

The procedure for opening a plugin under OSX is a bit more complex, but the code should be fairly straightforward. Keep in mind that although a VST plugin can be loaded from any location on disk, they are usually stored in either /Library/Audio/Plug-Ins/VST or $HOME/Library/Audio/Plug-Ins/VST.

Anyways, to load the VST plugin on Mac OSX, that will look something like this:

Pitch shifting vst plugin for bass. You need to keep the bundle pointer around until the host is ready to unload the plugin. At this point, you call CFBundleUnloadExecutable and then CFRelease on the bundle’s reference.

Setting up plugin callbacks

At this point, you should now have successfully loaded the plugin into memory, and you can now establish the plugin dispatcher callbacks:

Plugin initialization

At this point, the plugin should be ready to go, so you can initialize it through the dispatcher handle created in the previous step:

Suspending and resuming

Calling the plugin’s suspend and resume methods are a bit counter-intuitive, and are done like this:

Plugin capabilities

The VST protocol uses “canDo” strings to define plugin capabilities, the most common of which are defined in audioeffectx.cpp in the PlugCanDos namespace near the top of the file. To ask a plugin if it supports one of these capabilities, make the following dispatcher call:

Host capabilities

The plugin can also ask the host if it supports a given capability, which is done through the hostCallback() function defined above. The implementation of this file looks something like this:

The full list of opcodes is defined in aeffect.h (for the VST 1.x protocol) and aeffectx.h (for VST 2.x protocol). There are a lot of opcodes, and your application doesn’t need to support them all, but you will soon figure out which ones are the most important through trial and error. Depending on the nature of the opcall, you will either be required to return a given integer value, call a method in the plugin’s dispatcher, or fill the *ptr Free samples and vst. pointer with some type of data. The VST SDK header files have fairly good documentation specifying what you need to do depending on the opcode.

The MrsWatson source code also contains an example implementation of this function with the most common opcode cases.

Processing audio

In the VST SDK 2.4, processReplacing() became the new standard call. You may have to add in support to your host for the old style of process() plugins, though there aren’t so many plugins out there which still do this. To have the plugin process some audio:

What Is Vst Plugin Support

In the above code, there is an inputs and outputs array which should be initialized by your application as soon you have calculated the desired channel count and buffer size. You should not allocate the inputs and outputs arrays in the processAudio() function, as doing so may severely impact performance. Hence, the call to initializeIO() should be made as soon as possible and before the first call to processAudio(). You should also take care to properly initialize the data in both the inputs and outputs array to zero, or else you can get static or other random noise in the processed signal.

Sending MIDI messages

Processing MIDI events is very similar to processing audio:

The above events array should be allocated and properly initialized by the host to contain the MIDI events which the plugin will receive. The VstEvent structure is defined in aeffectx.h, and there you will also find the respective VstEvent types, all of which are deprecated except for kVstMidiType and kVstSysExType.

Note that the plugin must support the receiveVstMidiEvent canDo in order to process MIDI.

Final Notes

At this point, you should have a basic working host capable of loading and communicating with a VST plugin. As you continue your development, take care to thoroughly read the VST SDK header files and other associated documentation, as they will provide you with further hints as to the correct implementation. Also, you should take time to create good logging facilities in your host, particularly in the hostCallback() method, as most plugin incompatibilities are usually triggered from some error there.

This is a list of software plugins that have full or partial support for microtonal tuning. Most are synth instruments, though some are MIDI tuners to be used with other instruments or effects to applied to audio tracks.

Using Vst Plugins

About software plugins

What Is A Vst Plugin Binary Plugin

A plugin is a software synthesizer which can be accessed within a DAW. Usually the plugin is loaded on a MIDI track.

Instrument plugins interface with your DAW through one of a handful of standards. Steinberg's VST is a standard supported by many DAWs. AudioUnit (AU) is widely supported on macOS. RTAS is used by ProTools. LV2 is an open-source plugin format commonly supported on Linux. Put simply, you should check your DAW's user manual to see what kind of plugins you can run.

In some synths portamento/glide doesn't work properly when microtuned. Examples are Xfer Serum and LinPlug synths. There may be others, so it is recommended to test this function before making a purchase, if it is important for you.

Free Vst Plugins

The list

Further information about the list of microtonal software plugins is below the list.

NameDescriptionOSPlugin typeTuning abilityTuning methodCost
accSone crusher-XGranular synthesizerWindows, macOSVST, AUFull-keyboard microtuningscl or tun file import€289
amsynthSubtractive / virtual analogLinux, macOSVST, AU, LV2, DSSIFull-keyboard microtuning (Linux version only)scl/kbm file importFree
Applied Acoustics Chromaphone 2Physical modelled percussionWindows, macOSVST, AU, AAX, RTASPartial Scala support (keyboard mappings are missing)scl file import$199
Applied Acoustics Lounge Lizard EP-4Physical modelled electric pianoWindows, macOSVST, AU, AAX, RTASPartial Scala support (keyboard mappings are missing)scl file import$199
Applied Acoustics String Studio VS-2Physical modelled stringsWindows, macOSVST, AU, AAX, RTASPartial Scala support (keyboard mappings are missing)scl file import$199
Applied Acoustics Ultra Analog VA-3Virtual analogWindows, macOSVST, AU, AAX, RTASPartial Scala support (keyboard mappings are missing)scl file import$199
Arturia PigmentsWavetable, granular, virtual analog, samplingWindows, macOSVST, AU, AAXPartial microtuning support (keyboard mappings are missing)scl or tun file import€199
Audio Damage QuantaGranular synthesizerWindows, macOS, iOSVST, AU, AAXFull-keyboard microtuningtun file import$99
Big Tick AngelinaVocal formant synthesizerWindowsVST (32-bit)Full-keyboard microtuningtun file importFree
Big Tick RhinoHybrid FMWindows, macOSVST, AUFull-keyboard microtuningtun file import$49.00
Cakewalk Dimension ProCombines real instruments with advanced synthesisWindows, macOSVST, AU, AAXFull-keyboard microtuningscl file importDiscontinued
Cakewalk Rapture ProMultisample synthesizerWindows, macOSVST, AU, AAXFull-keyboard microtuningscl file importDiscontinued
Cakewalk Z3TA+2Waveshaping synthesizerWindows, macOSVST, AU, AAXFull-keyboard microtuningscl file importDiscontinued
Camel Audio Alchemy 1.xAdditive synthesizer/spectral samplerWindows, macOSVST, AU, AAXFull-keyboard microtuningtun file importDiscontinued
Camel Audio Alchemy 2 and aboveAdditive synthesizer/spectral samplerLogic Pro X bundled pluginN/ALimited to 12 note scales, each note ±100 cents from 12-edoVia Logic Pro settingsNow part of Apple Logic Pro X
Celemony MelodynePolyphonic pitch editing and autotuneWindows, macOSVST, AU, AAX, RTAS, standalonescl file import€99-€699
DexedFM synthesizerWindows, macOS, LinuxVST, AU, LV2Full-keyboard microtuningscl/kbm file importFree
EP-MK1VST, virtual Rhodes electric piano.Windows, macOS, LinuxVST, AULimited to equal divisions of the octave or a non-octave intervalIn tuning section, set number for '# of Divisions' and 'Interval to Divide.'

Can actually work on non-integer decimal EDOs (!)

Free
FB-3300 / FB-3200 / FB-3100Virtual analog synthesizerWindows, macOSVST, AULimited to 12 note scales, each note ±100 cents from 12-edoUser input, some presetsFree
Fxpansion Cypher2Various synthesizer, MPE-optimisedWindows, macOSVST, AU, AAX, standaloneFull-keyboard microtuningtun file import€179 (demo 30 min)
Fxpansion Strobe2Various synthesizer, MPE-optimisedWindows, macOSVST, AU, AAX, standaloneFull-keyboard microtuningtun file import€165 (demo 30 min)
GalactixVST, Additive synthesizerWindowsVSTFull-keyboard microtuningThe built-in choice for the temperaments: Equal, Pythagorean, Just and Mean-tone 1/4 comma. Main note flexible tune (from A=440), Supports each oscillator tuning by 0.01%Free / €19+ VAT
Garritan Personal Orchestra 5Sample-based orchestra libraryWindows/macOS,

VST/other?

Full-keyboard microtuning

(buggy with nonoctave scales)

scl/kbm file import$149.95
Humanoid Sound Systems EnzymeScanned synthesisWindows, macOSVST, AUFull-keyboard microtuningtun file importDiscontinued
Image-Line HarmorAdditive synthesizerWindowsVSTPartial Scala support (keyboard mappings are missing)

Each note is ± 6000 cents from 12edo

scl file import

(doesn't adjust reference frequency properly)

or user input, or from fnv preset files

€139
Image-Line SytrusSubtractive FM/RM synthesizerWindowsVSTEach note is ± 4800 cents from 12edoUser input, or from fnv preset files€169
Key Tuner JSFX ScriptMIDI note retuningRuns in ReaJS in ReaperFull-keyboard microtuningscl file importFree
KORG Legacy Collection M1Retro Wavetable / SamplerWindows, macOSVST, AU, RTASLimited to 12 note scales, each note ±99 cents from 12-edoUser input, some presets99.99 USD (199.99 USD for 6 instrument Legacy Collection bundle)
KORG Legacy Collection Mono/PolyVirtual Analog SynthesizerWindows, macOSVST, AU, RTASLimited to 12 note scales, each note ±99 cents from 12-edoUser input, some presets99.99 USD (199.99 USD for 6 instrument Legacy Collection bundle)
kv331audio Synthmaster and Synthmaster OneFlexible semi-modular synthesizerWindows, macOSVST, AU, AAXPartial Scala support (keyboard mappings are missing)scl file import$99

$79

LinPlug AlphaSubtractive synthesizerWindows, macOSVST, AUFull-keyboard microtuningtun file importDiscontinued
LinPlug CRX4Sample manipulation synthWindows, macOSVST, AUFull-keyboard microtuningtun file importDiscontinued
LinPlug MorphoXSubtractive synthesizerWindows, macOSVST, AU, RTAS (RTAS is macOS only)Full-keyboard microtuningtun file importDiscontinued
LinPlug OctopusModulation synthesizerWindows, macOSVST, AUFull-keyboard microtuningtun file importDiscontinued
LinPlug Organ 3Organ emulationWindows, macOSVST, AU, RTAS (RTAS is macOS only)Full-keyboard microtuningtun file importDiscontinued
LinPlug SaxLabSaxophone emulationWindows, macOSVST, AU, RTAS (RTAS is macOS only)Full-keyboard microtuningtun file importDiscontinued
LinPlug SpectralAdditive/subtractive synthesizerWindows, macOSVST, AUFull-keyboard microtuningtun file importDiscontinued
Madrona Labs AaltoSemi-modular synthesizerWindows, macOSVST, AUFull-keyboard microtuningscl file import$99
Madrona Labs KaivoSemi modular synthesizerWindows, macOSVST, AUFull-keyboard microtuningscl file import$129
Madrona Labs VirtaSound-controlled synthesizer and effectsWindows, macOSVST, AUFull-keyboard microtuningscl file import$89
Mark Henning AnaMarkVirtual analog/modulation synthesizerWindowsVSTFull-keyboard microtuningtun file importFree
MeldaProduction MPowerSynthVersatile synthesizerWindows, macOSVST, AU, AAXFull-keyboard microtuningtun file import€199
MSoundFactorySemi ModularWindows, macOSVST, AU, AAXFull-keyboard microtuningtun file import€299
Microtonal Polyphonic Shiny DirtBased on circuit-bent analog synthsWindowsVST (32-bit)Full-keyboard microtuning.mts file import, 5000+ tuning files included, easy to add moreFree
Microtonal Poly WormsVirtual analogWindowsVST (32-bit)Full-keyboard microtuning.mts file import, 5000+ tuning files included, easy to add moreFree
Modartt PianoteqPhysical-modeled pianoWindows, macOS, LinuxVST, AU, RTAS, standaloneFull-keyboard microtuningscl/kbm file import€249-€399
Native Instruments AbsynthVirtual modular subtractive synthesizerWindows, macOSVST, AU, AAX, RTAS, standaloneFull-keyboard microtuninggly file import$149
Native Instruments FM8FM synthesizerWindows, macOSVST, AU, AAX, RTASLimited to 12 note scales, each note ±50 cents from 12-edoUser input$149
Native Instruments Kontakt 6SamplerWindows, macOSVST, AU, AAX, RTAS, standaloneFull-keyboard microtuningKontakt script$399
Native Instruments Reaktor 6Modular synthesizerWindows, macOSVST, AU, AAX, RTAS, standaloneFull-keyboard microtuningmacros, .txt file import€199
Plogue chipsoundsEmulation of classic arcade/console sound chipsWindows, macOSVST, AU, AAX, RTASFull-keyboard microtuning

(buggy with nonoctave scales)

scl/kbm file import$95
Plogue chipsynthEmulation of classic sound chipsWindows, macOSVST, AU, AAX, RTAS, standaloneFull-keyboard microtuning

(to be confirmed: if this plugin uses the ARIA engine it is likely buggy with nonoctave scales)

scl/kbm file import$49.95
Plogue SforzandoSampler, .sfz soundfont formatWindows, macOSVST, AU, AAX, RTASLimited to 12 note scalesscl/kbm file importFree
PolyGASGranular synthesisWindowsVSTFull-keyboard microtuningscl/tun file importFree
Imoxplus RespiroPhysical Modeling wind synthesizerMacOS, WindowsAU, VSTbuilt-in one-octave editor, also loads full-keyboard tuning maps.tun file import165 € + VAT
Retune for LivePolyphonic MIDI retuning (pitch-bend based)Windows, macOSMax for Live deviceFull-keyboard microtuningscl file import, csv file importFree
Reveal Sound SpireSubtractive synthesizer with flexible oscillatorsWindows, macOSVST, AU, AAXFull-keyboard microtuningscl file import with adjustable reference pitch$189 + VAT
rncbc padthv1Polyphonic synthesizerLinuxLV2, standaloneFull-keyboard microtuningscl/kbm file importFree
rncbc samplv1Sampler, .wav formatLinuxLV2, standaloneFull-keyboard microtuningscl/kbm file importFree
rncbc synthv1Subtractive polyphonicLinuxLV2, standaloneFull-keyboard microtuningscl/kbm file importFree
Simple Microtonal Sampler 64-bit WindowsSampler, .wav formatWindowsVSTFull-keyboard microtuning.mts files (5378 included)Free
Simple Microtonal Synth (64-bit Windows)

Simple Microtonal Synth (32-bit Windows)

Simple Microtonal Synth (macOS version)

Virtual analogWindows, macOSVSTFull-keyboard microtuning.mts files (5378 included)Free
Spectrasonics KeyscapePiano romplerWindows, macOSVST, AU, AAX, RTASFull-keyboard microtuningtun file import€349
Spectrasonics Omnisphere 2Rompler/synthesizerWindows, macOSVST, AU, AAX, RTASFull-keyboard microtuningtun file import$499, €399
Steinberg Halion 6Sampler / SynthWindows, macOSVST, AU, AAX, standaloneFull-keyboard microtuningMidi module with manual entry, presets and SCL file import. Also Lua script.$349
SurgeSubtractive hybrid synthWindows, macOS, LinuxVST, AU, LV2Full-keyboard microtuningscl/kbm file importFree
SynthFontVSTiSoundfont player (sf2, sfz, sfark, gig, dls, etc.)WindowsVSTLimited to 12 note scalesManual entry or choose from a listFree
TAL BassLine-101Virtual analog synthesizerWindows, macOS, LinuxVST, AU, AAXFull-keyboard microtuningtun file import€55,80
TAL ModVirtual modular analog synthesizerWindows, macOS, LinuxVST, AU, AAXFull-keyboard microtuningtun file import€68,34
TAL SamplerSampler/SynthesizerWindows, macOS, LinuxVST, AU, AAXFull-keyboard microtuningtun file import$60
TAL U-NO-LXVirtual analog synthesizerWindows, macOS, LinuxVST, AU, AAXFull-keyboard microtuningtun file import€55,80
Tuning Workbench SynthRealtime tuning synthesizer & scl/kbm exporterWindows, macOS, LinuxVST3, AU, StandaloneFull-keyboard microtuningManual input, scl/kbm file importFree
u-he ACEVirtual modular analog synthesizerWindows, macOS, LinuxVST, AU, AAXFull-keyboard microtuningtun file import€69
u-he BazilleVirtual modular synthesizerWindows, macOS, LinuxVST, AU, AAXFull-keyboard microtuningtun file import$129
u-he DivaVirtual analog synthesizerWindows, macOS, LinuxVST, AU, AAXFull-keyboard microtuningtun file import$179
u-he Hive 2Wavetable synthesizerWindows, macOS, LinuxVST, AU, AAXFull-keyboard microtuningtun file import€149
u-he ReproVirtual analog synthesizerWindows, macOS, LinuxVST, AU, AAXFull-keyboard microtuningtun file import€149
u-he Zebra 2Semi ModularWindows, macOS, LinuxVST, AU, AAXFull-keyboard microtuningtun file import$199
UVI Falcon 2Hybrid synthesizerWindows, macOSVST, AU, AAXFull-keyboard microtuningscl, kbm and tun file import€349
VAZ ModularVirtual modular synthesizerWindowsVST, standaloneFull-keyboard microtuningtun file importdiscontinued
VAZ PlusVirtual analog synthesizerWindowsVST, standaloneFull-keyboard microtuningtun file importdiscontinued
Virtual CZVirtual emulation of classic digital synthesizerWindows, macOSVST, AU, AAXFull-keyboard microtuningtun file import€70
VitalWavetable synthesizerWindows, macOS, LinuxVST, standaloneFull-keyboard microtuningscl, kbm and tun file importFree (registration)

$25, $80 for additional features

Xen-Arts Ivor2Subtractive SynthesisWindowsVST (32-bit)Full-keyboard microtuningMIDI Tuning Standard (MTS)Free (discontinued)
Xen-Arts Xen-FMTS 2FM synthesisWindowsVST (32-bit)Full-keyboard microtuningMIDI Tuning Standard (MTS)Free (discontinued)
Xfer SerumWavetable synthesizerWindows, macOSVST, AU, AAXFull-keyboard microtuningtun file import$189
Zyn-FusionVarious synthesizerWindows, macOS, LinuxVST, LV2, standaloneFull-keyboard microtuningDirect input of values, or import

scl/kbm file

Free (if installed via AUR or KxStudio repo or compiling from source)

$55 for pre-compiled binary

Notes about this list

'Full-keyboard microtuning' means that the plugin is capable of any arbitrary pitch, note or frequency on any given MIDI note. This is possible via .tun format, MIDI Tuning Standard, and .scl/.kbm pairs (but not .scl support on its own).

All synths in the list are assumed to be 64-bit by default or offer an option of 32- or 64-bit. Synths that are 32-bit only are marked with '(32-bit)'

To be added: all Homegrown Sounds synths, xen-arts

See Also

Retrieved from 'https://en.xen.wiki/index.php?title=List_of_Microtonal_Software_Plugins&oldid=53387'