Cardinal is a free and open-source virtual modular synthesizer plugin, available as JACK standalone and AU, LV2, VST2 and VST3 audio plugin for FreeBSD, Linux, macOS and Windows.
It is based on the popular VCV Rack but with a focus on being a fully self-contained plugin version.
More specifically, this is a DPF-based plugin wrapper around VCV Rack, using its code directly instead of forking the project, with the target of having a proper, self-contained, fully free and open-source plugin version of Rack.
See the why section below for the reasons Cardinal exists, also for frequently asked questions check this FAQ document.
Cardinal contains Rack, some 3rd-party modules and a few internal utilities all in a single binary.
All “Core” modules from Rack have been replaced by Cardinal equivalents, simplified to better work for an audio plugin.
Cardinal does not load external modules and does not connect to the official Rack library/store.
All VCV branding has been removed (to the best of our knowledge) in order to avoid any trademark issues.
The VST3 version is in progress, already part of the build but still experimental.
Cardinal releases have official builds for Linux, macOS and Windows.
There are Linux builds for various architectures (armhf, arm64, i686 and x86_64), macOS “universal” (arm64 + intel) and Windows 32 and 64bit builds. Both macOS and Windows builds have an installer.
Cardinal provides 3 plugin variants – “main”, Synth and FX.
They are all equivalent in performance and behaviour, with only the IO and metadata that changes.
This is because some hosts are very strict on which plugins are allowed as instruments vs FX, so separate variants of the same plugin are needed.
FX and Synth variants both have 2 audio outputs, while “main” has 8.
All variants have MIDI input and output support.
This variant provides 8 audio inputs and outputs and 10 CV inputs and outputs.
NOTE: Due to AU and VST2 formats not supporting CV ports, this variant is not available for those formats.
This variant provides 2 audio outputs but no audio inputs or CV ports.
Plugin type is set as “instrument”.
This variant provides 2 audio inputs and outputs, but no CV ports.
Plugin type is set as regular “effect”.
Because people will ask for it. It is, well… Rack.
But a couple of modules background’s have their colors flipped, because damn we want proper dark mode!
Carla and Ildaeil plugin hosts
Custom Fundamental modules design
At the moment the following 3rd-party modules are provided:
Glue the Giant
Additionally Cardinal provides its own modules for DAW/Host automation, time position, audio to CV pitch conversion and internal plugin hosting.
See official release announcement at https://kx.studio/News/?action=view&url=cardinal-2207-released
Adjust view menu similar to VCV Rack 2.1.2
Allow building using OpenGL ES2 (with USE_GLES=true build flag, disables glBars module)
Do not install JACK standalone on Windows by default
Fix example patches not working as templates
Fix file dialogs not working in macos-intel builds
Fix missing opus as supported extension in audio file module
Fix missing time information in AU version (regression in 22.06)
Fix VST3 keyboard input through host keycodes
Fix VST3 not loading under Cubase
Fix VST3 UI not appearing under Studio One
Give keyboard focus to UI on each mouse click
Make X11 clipboard handling more robust
Update all modules that use file browser dialogs
Update internal Cardinal async file dialog API to add default filename
Update to Rack 2.1.2
Initial, experimental support for web-assembly
Available at https://cardinal.kx.studio/ for demo purposes
Built as-is from current source code using emscripten, with a few LV2 and JSFX plugins added in
Part of official releases as Cardinal-wasm-22.07.zip, easily rehosted (pure static files)
Related discussion at #287