Cardinal is a virtual modular synthesizer plugin that is available for free and is open-source. The plugin is available as CLAP, LV2, VST2, and VST3 audio plugin for FreeBSD, Linux, macOS, and Windows, and also as AU and JACK or Native audio standalone for some systems. Cardinal is based on the popular VCV Rack but with a focus on being a fully self-contained plugin version. Cardinal is a DPF-based plugin wrapper around VCV Rack, using its code directly instead of forking the project, with the aim of having a proper, self-contained, fully free, and open-source plugin version of Rack.
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 releases have official builds for Linux, macOS, and Windows, and you can find these under Cardinal Releases. There are Linux builds for various architectures (armhf, arm64, i686, and x86_64), macOS “universal” (arm64 + intel), and Windows 32 and 64-bit builds. Both macOS and Windows builds have an installer.
Cardinal was created as a way to have Rack as a proper open-source audio plugin. A proper audio plugin should be self-contained as much as possible, as not to interfere with the DAW/Host. Loading external modules clearly goes against this idea. Cardinal’s authors do not wish to abide by the wishes of a company for what they can and cannot do, which is why they created Cardinal as an open-source project. A self-contained plugin can’t be overstated, as DLL/shared-object symbol conflicts can trigger hard-to-debug crashes. While Rack tries to mitigate this as much as possible, crashes due to conflicting modules have already been seen in v2 builds. On the other side, Cardinal redefines class and function names as needed to avoid as many conflicts as possible.
Support for ARM and non-mainstream platforms (for example BSD) has always been missing from the official Rack since the start. While we can patch the Rack free version to support these, same can’t be done with Rack Pro with it being a closed-source product. The online library/store only supports a very specific set of platforms too, so non-supported platforms would need any 3rd-party modules to be manually compiled to make them usable. Cardinal fills this gap by providing support for these platforms.
Another issue that Cardinal addresses is the audio threading behavior of Rack. Both audio and MIDI should be locked to the host audio thread as to minimize (or even altogether remove) latency and jitter. The use of separate threads for MIDI is bad design, one that has been corrected in DAWs and JACK-MIDI for several years. But Rack’s use of RtMidi requires separate threading, so Cardinal does not use it.
In conclusion, Cardinal is a free and open-source virtual modular synthesizer plugin that is self-contained, making it easier to use and avoid crashes. Cardinal also supports platforms that the official Rack does not, and addresses issues such as audio threading behavior. The project is a great resource for music producers and enthusiasts, providing them with a tool that is reliable, customizable, and can be used across multiple platforms.
Download it here