CC or sysex for VST?

I’m pondering if it’s more feasable to use simple sysex messages instead of CC’s to control softsynths. Up till now I’ve used CC’s as I’m not yet too proficient in sysex, but the number of “free” CC’s in the MIDI specifications is limited. Of course I could just use any CC’s, but I wonder if using sysex would be a better approach. If I’d go the sysex route, is it just a matter of editing the example given in the “Writing sysex templates” tutorial?

[ “3E”, “0E”, “00”, “20”, “00”, “00”, “3E”, {“type”:“value”}, “7F” ]

Where “3E” would be “my ID”. And the rest would need to be editted to give it a unique controller ID?

Electra’s sysex implementation offers way more control over the midi messages than the CC messages. But I am not sure if there many (or any) VST plugins that would use sysex messages for the parameter control.

I do believe that many synths kind of ignore the “standard” CCs and use them for their own parameters.

Other option, if supported by the plugin, is to use NRPN. That gives access to 16k parameters.

I am a bit confused regarding the “ID” part of your question. Maybe try to elaborate that idea a little bit more.


Thanks for the quick reply @martin . I’m a follow-the-rules kinda guy, so if there’s a standard I try to conform to that. :wink: Maybe NRPN is a way to go indeed. I don’t think there will be much difference in regard to performance between NRPN or Sysex?

What I meant by the ID part was the manufacturer ID, I believe that is mandatory? So I could just use any (free) number and stick to that for all my presets. Something like that. I need to dive further into the whole sysex documentation…

I guess it depends on the DAW, but using sysex only really works for live fiddling. As soon as you want to record what you’re doing, then your options become very limited.

I recommend you expose in the DAW the controls you want to automate/modulate and map that to the EO using CC messages.
In Ableton per example, that gives you bi-directional messaging and 14-bit resolution.
On the downside, that means that you can’t always easily exchange presets because they will be DAW dependent.

EDIT: Just tested in Live 11 and bi-directional messaging in 7-bit works fine.

1 Like

Is that because it’s not supported by the mayority of DAW’s?

As far as I know in ProTools you can only automate specific parameters of a softsynth. But that’s not much of an issue for me; I’ll probably use the E1 more to create sounds. Once they’re created I use those presets in PT with only a few parameters automated. I’m still quite new to this, most of my synths are CV/Gate…
Bi-directional messaging would be nice though, but I haven’t seen an option in PT to “expose the controls” as you say. I tried Ableton Live in the past, but it didn’t quite fit my workflow. But that was years ago, I may have to look at Live and Bitwig again if they have better support for this kind of functionality.

Indeed. And usually, even if it’s recorded, you can’t modify the data.

Yeah, that’s true. Are there any means to overcome the 127 CC limit when using softsynths? The easier synths I can well map with those, but more complex synths will be a challenge.
Or is it best practice to just map the most used controls?

unfortunately, it rather depends on host and/or vst
NRPNs are the midi 1.0 way of dealing with more parameters.
but again, host/vst support is a bit patchy

midi 2.0 fixes, but we are still waiting on hosts to support.