I would like to share a new beta-testable GPLv3+ VCVRack plugin which provides 2-way hardware module parameter control of VCVRack patches and display of rich parameter value feedback with either the TouchOSC tablet/desktop control surface or the Electra One Mk 2 MIDI controller, built on top of code from the Stoermelder MIDI-CAT and TheModularMind Oscelot modules.
Module parameter mapping to hardware encoders and touch-screen controls is really easy due to the integrated MIDI-CAT workflow (see the videos below for demos) and then the module mappings are saved in an external module library file, so can be re-used in any future patch. I have built a factory mapping library file with over 550 mapped modules so far.
The Github repository containing getting started and full user documentation and pre-built vcvplugin binaries can be found here: GitHub - rjsmith/rsbatech-modules: VCVRack plugin to provide hardware remote control via smart MIDI/OSC devices. At the time of writing this (17 Jan 2025), the latest release is v2.1.3.
I have produced two Youtube videos that demo how the controls, mapping and module mapping library files work:
Key Features
The RSBATechModules plugin modules Orestes-One and Pylades are a mashup of (MIDI-CAT minus MIDI CC & MIDI notes) plus (Oscelot-inspired rich data feedback) plus bi-directional Electra One SysEx or OSC commands plus some of my own feature ideas:
- Control individual rack module parameters with rich value and control label feedback on the Electra One / TouchOSC screen.
- The actual module parameter names and values (e.g. “-12 db” or “Sawtooth”) are automatically transmitted and displayed on the device’s touch screens in realtime (with adjustable update frequency)
- Each mapped module can have up to six pages of 36 controls per page.
- Smooth hi-res value controller changes
- Double tap to send a command to a controlled parameter to reset it to its programmed default value.
- Navigate between the mapped modules in the current VCVRack patch using a grid selection page on the touch screen of Electra One or TouchOSC.
- Optionally scroll the VCVRack window to the mapped module
- Automap a single module
- Automap all modules in a rack in one go, optionally skipping or overwriting existing module mappings
- Saving and switching between a single rack-level mapping (e.g. with PatchMaster modules) and individual module mappings.
- Create and manage re-usable module-specific mappings stored in a module mapping library JSON file. These can be shared between Pylades (TouchOSC) and Orestes-One (Electra One).
- Export, import and share module mappings as JSON files
- Factory - provided module mappings with 550 hand-mapped modules so far.
- Use multiple Pylades and Orestes-One modules connected to different TouchOSC and Electra One controllers in the same Rack (e.g. dedicate one iPad to controlling a MixMaster, another iPad for controlling other modules and an Electra One controlling a Rack-wide mapping, all at the same time)
Plus most MIDI-CAT features (up to and including v2.0.beta4). Ben gave me his blessing to go ahead with this; I literally could not have done this without MIDI-CAT.
Documentation
Full user documentation for the VCVRack modules and the associated TouchOSC and Electra One presets are here in the repo wiki.
Beta Testing
If this is of interest and you wanted to try it out, please follow the Getting Started guides for installing the RSBATechModules plugin and the Pylades+TouchOSC and Orestes-One+Electra One presets.
Of course, this is all at your own risk! There may still be edge cases that will cause these modules to crash VCVRack, thats why this is a beta test. I am not an expert C++ developer so any help in making this more stable will be extremely gratefully accepted.
Pylades + TouchOSC combo are ready for wider testing because TouchOSC itself is very stable. I’ve tested the TouchOSC preset running on an original iPad Air (colours are shonky but otherwise seems to work) and a 2022 iPad Pro.
Running the Electra One “VCV Rack 2” preset needs an Electra One MK II device and the very latest beta 4.0 firmware to be installed, so this is definitely for the more adventurous testers out there. My E-1 preset exploits the very latest (start of January 2025) beta firmware features added in the past few weeks such as preset-specific user functions and saving preset data to the device persistent storage for later recall.
At the time of writing this post (17 Jan 2025), the latest published beta Electra One firmware I have tested with is 4.0.0c, available for download from this Electra One forum post. Try this at your own peril, or wait until the firmware is completed and officially released, whenever that will be.
That said, the preset has been running pretty well on my E-1 as the beta firmware has morphed from early 3.7 builds to the recent 4.0 builds. VCVRack control with real encoders and an integrated control touch screen is a really amazing and unique combination imho.
The E-1 developer has been very responsive in fixing firmware bugs and even adding some features that I have suggested as I developed this preset over the past six months.
I have developed and tested the RSBATechModules C++ plugin on MacOS (ARM64 and Intel builds using Rosetta). It would be great if any Windows or Linux VCVRack users could give the modules a spin.
Also, if you actually create any new module mappings, it would be super awesome if you would consider sharing the relevant plugin JSON files here or as a Pull Request on the github repo so I could add them to the factory mapping library.
Please leave any feedback in this thread, or, if you have a Github account, please feel free to create tickets and even Pull Requests in the repository Issues list directly.
And Finally
I have been quietly noodling around with electronic music, and modular soft synths for a long time since the days of NI Reaktor 3. My first attempt at modular synth MIDI controller integration was this 2003 Reaktor patch for my Evolution UC-33, so I have been waiting for something like the Electra One and VCVRack for a long time now…
I just want to say how much enjoyment I have got out of VCVRack and the community here over the past few years. I hope this may contribute in a very small way something back to you all