# CC or sysex for VST?

**URL:** <https://forum.electra.one/t/cc-or-sysex-for-vst/550>\
**Category:** General discussion\
**Created:** [April 17, 2021, 9:12am UTC](https://forum.electra.one/t/cc-or-sysex-for-vst/550 "2021-04-17T09:12:11Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![SmartBits](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/smartbits/32/341_2.png) [@SmartBits](https://forum.electra.one/u/SmartBits)\
**Post date:** [April 17, 2021, 9:12am UTC](https://forum.electra.one/t/cc-or-sysex-for-vst/550/1 "2021-04-17T09:12:11Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![martin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/martin/32/145_2.png) [@martin](https://forum.electra.one/u/martin)\
**Post date:** [April 17, 2021, 9:51am UTC](https://forum.electra.one/t/cc-or-sysex-for-vst/550/2 "2021-04-17T09:51:39Z")

</div>

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.

Thx!

---

<div class="post-metadata">

**Author:** ![SmartBits](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/smartbits/32/341_2.png) [@SmartBits](https://forum.electra.one/u/SmartBits)\
**Post date:** [April 17, 2021, 6:00pm UTC](https://forum.electra.one/t/cc-or-sysex-for-vst/550/3 "2021-04-17T18:00:13Z")

</div>

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. 😉 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…

---

<div class="post-metadata">

**Author:** ![buyallthecontrollers](https://avatars.discourse-cdn.com/v4/letter/b/d07c76/32.png) [@buyallthecontrollers](https://forum.electra.one/u/buyallthecontrollers)\
**Post date:** [April 18, 2021, 12:36pm UTC](https://forum.electra.one/t/cc-or-sysex-for-vst/550/4 "2021-04-18T12:36:04Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![SmartBits](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/smartbits/32/341_2.png) [@SmartBits](https://forum.electra.one/u/SmartBits)\
**Post date:** [April 19, 2021, 12:13pm UTC](https://forum.electra.one/t/cc-or-sysex-for-vst/550/5 "2021-04-19T12:13:59Z")

</div>

> [@buyallthecontrollers](#):
>
> 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.

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.

---

<div class="post-metadata">

**Author:** ![buyallthecontrollers](https://avatars.discourse-cdn.com/v4/letter/b/d07c76/32.png) [@buyallthecontrollers](https://forum.electra.one/u/buyallthecontrollers)\
**Post date:** [April 24, 2021, 2:58pm UTC](https://forum.electra.one/t/cc-or-sysex-for-vst/550/6 "2021-04-24T14:58:28Z")

</div>

> [@SmartBits](#):
>
> Is that because it’s not supported by the mayority of DAW’s?

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

---

<div class="post-metadata">

**Author:** ![SmartBits](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/smartbits/32/341_2.png) [@SmartBits](https://forum.electra.one/u/SmartBits)\
**Post date:** [April 24, 2021, 8:04pm UTC](https://forum.electra.one/t/cc-or-sysex-for-vst/550/7 "2021-04-24T20:04:34Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![thetechnobear](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/thetechnobear/32/134_2.png) [@thetechnobear](https://forum.electra.one/u/thetechnobear)\
**Post date:** [April 25, 2021, 2:15pm UTC](https://forum.electra.one/t/cc-or-sysex-for-vst/550/8 "2021-04-25T14:15:16Z")

</div>

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.
