MIDI Remote: 14 bit relative midi relative message structure

I can get MIDI remote to respond to absolute 14 bit messages using midi cc 0-31 as MSB and midi cc 32-64 for LSB, but I can’t find any documentation for what the relative messages look like.

Anybody get 14 bit relative working in MIDI remote?

It’s not working, sorry. Please use 7 bit relative modes instead. Maybe someone can give a hint on why 14 bit relative should be a thing at all?


It’s unfortunate it doesn’t work in Cubase despite being in the documentation (?).

But with some simple programming in Bome MIDI Translator and velocity sensing behaviour of encoders (Arturia, Akai and likely many others), it certainly is a thing. It’s very useful having much finer control over parameters while still be able to move through the parameter range quickly.

If anybody is interested in trying this Bome preset, I can make it available. But make sure your encoder has this velocity sensing first.

I too struggle to understand how an encoder would benefit from sending relative, 14bit messages. I use relative encoders that a velocity feature regularly btw.

so for, relative midi cc inc/dec sending 63/65.

a message of 65, the calculation of 65-64 gives +1. with scaling factor of 75 (I’ve found this most useful), this would give higher multiples of 75 the faster the encoder turn.

my beatstep encoder goes up odd increments, like from 65 to 68 to 71 and so on the faster it is turned. so from 75 per click, it can go up to 225 or 450 per click and so on.

the benefit I personally get is the 14bit resolution in UAD plugins that I frequently use where mouse control is too coarse.

if you get enough control over your parameters otherwise, then I suppose this won’t be helpful.

I think you’re confusing apples with oranges. It is not in the MIDI implementation how a relative CC message of 65 (or +1 if you will) behaves. It is how the recipient interprets it. In the realm of VST, the translation of the +1 message to a VST Parameter.
Unfortunately Cubase’s MIDI Remote is currently lacking an easy way of scaling the relative MIDI CC message to a VST Parameter. For example, let’s say you bind your relative encoder to the Gain parameter of an EQ band. How many dBs should one click of the encoder represent? 1dB? 0.1dB?
The only way of controlling that currently is by scripting using the MIDI Remote API.
If you wish, you can read more about the matter in this thread:

How many dBs should one click of the encoder represent? 1dB? 0.1dB?

Do you find 1dB increments?

If you do, you are certainly entitled to use it that way.

With the “scaling” I use in the Bome tool, it can be variably anything in between and beyond depending on how fast the encoder is turned.

1-3dB increments are useful for me to get in ballpark. And 0.1-05dB increments are very useful to me for accuracy once I’m in the ballpark.

My point is having the flexibility of how fine or coarse the steps are to get you where you want in a 128x128 value range.

I’m not sure where I’m confusing apples with oranges.

Right. But, if we are talking about VST Parameters the value range is not a 14bit integer. Every single VST parameter in Cubase, be it the Frequency value of a channel EQ, the cutoff frequency of a synth or the attack time of a compressor, are under the hood expressed as floating point value between 0.0 and 1.0. This is what we have to scale our MIDI messages against. To first impose a 14bit integer limit serves no point.

Using a 75/encoder click scale isn’t exactly 14bit is it?
At 218 steps, it’s closer to 8 bit and that’s all I need to get the resolution I want.

I’m not imposing a 14bit integer limit. The 14bit integer limit is imposed on us.

You can take the time to implement the floating point in a custom MIDI remote or wait for Steinberg to implement it in the MIDI Remote options. I don’t have time to learn JS and I’m definitely not expecting Steinberg to move on this.

What I did with Bome took little time and works as I need.

The Bome preset is, should anybody ask for it, is for those who would like more resolution to their VST parameters, don’t care to learn JS and would rather not wait for the floating point to be implemented.

Perhaps I am the only one and I should have kept this to myself.

75 out of what? A 0-16383 scale?

You misunderstand. The floating point values has been there all along. Since the inception of VST. It’s just that they’ve been hidden from users until MIDI Remote came along.

You should read the topic I linked to above. I think we’re basically asking for the same thing—a more user friendly way of scaling VST Parameters when using relative encoders.