CTRLR: The Missing Link?
CTRLR integrates hardware synths into your DAW with the convenience of software synths. See you on Ebay.
Around the year 2000, I was lured by the spoils of software synths: reliable recall, sounds stored within project files, easy automation and the ability to run multiple instances. It was revolutionary. But ever since, some downright gorgeous-sounding hardware synths have been slowly collecting dust around me, exactly because of this lack of convenience.
Just one example is a Roland MKS80 Super Jupiter polyphonic analogue synth module from the mid ’80s I’d been loaned. Since I didn’t have the optional MPG80 programming unit for it — with all the knobs and faders — it sat under-utilised in my rack. When another good friend finally loaned me his MPG80 controller, what should have been the connecting link still didn’t solve two aspects of soft-synth workflow I’d become accustomed to: full recall of sound parameters from within my DAW projects (I’m using a DAW which doesn’t record SysEx dumps), and full automation of all parameters.
It got me thinking. What would I need to build a VST/AU-based editor for my synth collection? When I started listing the skills required, even an optimistic timeframe was starting to look medical degree-long: Learn how to code C++; build GUIs from scratch; create VST/AU plug-ins; ensure it was cross platform; and test it. It sounded less and less like a fun weeknight hobby and more like a career choice.
Thankfully, almost out of the blue, I discovered CTRLR, which has completely revolutionised the way I integrate my hardware synths within the context of a modern-day 64-bit DAW. Hopefully it can do the same for you.
WHAT IS CTRLR?
CTRLR (ctrlr.org) is a freeware, open-source, cross-platform tool allowing owners of MIDI-equipped hardware synths to integrate them with the same convenience of software-based plug-in synths. It can run either as a standalone editor or a VST/AU plug-in within 32-bit and 64-bit DAW applications running on OS X, Windows, and surprisingly, Linux.
Launching CTRLR as a VST/AU plug-in allows you to load a controller Panel created for your synth, configure the MIDI port and channel settings, and then, via standard plug-in automation, automate all parameter objects on the Panel just like a software synth.
While the concept itself may not be unique (manufacturers of modern synths often provide a plug-in-based editor), what is special about CTRLR is users are free to create their own custom Panels with relative ease — providing it has a sufficient MIDI spec.
Additionally, CTRLR allows you to generate specific VST/AU plug-ins with your desired Panel preloaded. I’ve spent the past months getting a kick out of addressing the Roland MKS80 nestled deep within my rack by simply calling up my self-created plug-in called Roland MKS80.vst.
A FEATURE-RICH EDITOR
CTRLR’s editor is deep to say the least. Here are some examples:
- You can arrange layers of controls in Tabs for control-laden synths.
- Users with design chops can import bitmaps as the basis for their GUI and replace CTRLR’s built-in faders and knobs with bitmap animations saved in PNG format. The freeware KnobMan application (www.g200kg.com/en/software/knobman) is designed specifically with this type of design in mind.
- CTRLR’s slider/knob objects even support multi-part MIDI messages — great news for synths supporting high-resolution 14-bit Continuous Controller data such as Moog’s Voyager. And when creating Panel Modulators that send SysEx messages, complexities such as Roland’s SysEx Checksum standards have been implemented (this was essential when I created the Roland MKS80 panel).
- There’s also a very useful MIDI Monitor tool allowing you to watch the data flowing in and out of CTRLR. And the MIDI Calculator window will help those not accustomed to converting values back and forth from decimal to hexadecimal, and vice versa.
TOTAL RECALL
While building your own panels is powerful, the key feature most of us are looking for is the ability to recall our hardware synth settings as easily as our softsynths. So, how does it work?
Well, behind the scenes CTRLR’s primary developer, Atom, is hard at work building a Librarian within CTRLR that promises to help manage the patch memories within your hardware synths. It’s a big job, so in the meantime CTRLR uses the Snapshot function to achieve total recall of patches within DAW projects — perfectly adequate if you tend to create unique sounds for each project you create.
Creating a Snapshot stores a ‘local’ preset in that project’s plug-in instance. When you reopen the project, simply hit Send Snapshot, and CTRLR transmits all settings on the Panel to the synth. Hey presto, your hardware synth sound is recalled.
Used in tandem with your DAW’s Freeze function, you can use multiple instances of a single hardware synth just like you can with a software synth. Just unfreeze and resend your snapshot if you want to tweak the sound. The best part of this workflow is the sounds are stored within the DAW project itself (just like a software synth), freeing you from having to separately maintain patch memories within the synth itself. It also effectively gives you unlimited patch memories for your synth — one of the key motivators for me avoiding hardware synths in the first place.
Editing is uni-directional (you can’t actually suck the patch data out of the synth to edit) unless otherwise stated. This is fine for most purposes if you create yourself a good initial Snapshot.
PACKETS OF STREAMING GOLD
Some synths only adjust parameters with MIDI SysEx messages, which is a problem for Ableton Live users as the DAW removes MIDI SysEx messages from MIDI data streams. CTRLR neatly overcomes this limitation by communicating directly with hardware MIDI ports (in Live’s MIDI preferences, uncheck the Input and Output ports you are using with CTRLR for the Track/Sync/Remote columns). Although it has been possible for Ableton Live users to create Max4Live editors for hardware synths, for synths requiring SysEx messages you need to launch a satellite Max run-time application when recalling projects, introducing the risk of incomplete recall.
When creating a CTRLR Panel for a synth without the aid of the manufacturer’s MIDI SysEx Implementation guide, consider watching the data streams from an existing editor like Emagic’s Windows-only SoundDive, and identifying which values are changing in response to tweaking the controls.
A similar approach was instrumental when I developed the MKS80 Panel. Armed with an iPad2 running Liine’s Lemur app loaded with the MKS80 editor, I watched the data streams — making it easier to understand the grubby scanned version of the MKS80’s MIDI SysEx guide I found online.
SUPERCHARGE SYNTHS WITH CTRLR
Prior to making the MKS80 Panel, external modulation via MIDI was limited to Aftertouch (with only two destinations), Velocity (rates for Envelopes 1 and 2 only) and Pitch Wheel. Now, armed with the Panel, any parameters within the MKS80 can be modulated. In tandem with Ableton Live’s Clip-based parameter automation, I can perform exotic modulations such as ‘wavesequencing’ oscillator waveforms. It’s not just controlling, it’s super-charging your synths!
Creating your own Panels might seem daunting, but it’s doable and there’s a whole community to help you along. And during the process you’ll get a dual education — how to build Panels, and a deep understanding of what makes your synth tick — all without the medical degree timeframe.
[…] http://www.audiotechnology.com/site/index.php/ctrlr-the-missing-link/ […]
Hi
I have kind of got ctrlr working in windows but I would be very interested to see how you configured the MIDI settings in ctrlr and your DAW. I use Cubase 8.5 which has an ‘external instrument’ facility which I think is the equivalent of the ‘track insertable objects’ you refer to above. I have some hardware synths connected via a MOTU MIDI interface. I have ctrlr loading as a vsti. Any screenshots you could provide would be very helpful!
Thanks
John