Translating absolute MIDI CC into relative -1/+1 values

Regalix

2020-02-28 12:34:33

Ok, let us now pull the last puzzle of this gigantic BT Midi setup. The goal is: No parameter jumping. Ever. Period.

 

I hope we can solve this irritating issue once for all.

 

I'm inspired by the following posts: 

 

https://www.bomeloft.com/forums/viewtopic.php?t=11149

 

I've tried the submitted presets/projects.

 

However, the presented solutions seem to be a bit chaotic, and not quite working as intended.  

 

The big question: Are we going to use NRPN for this? As in some controllers, there's per default an 'Increment/Decrement' data output option for the encoders.

 

I hope Steve can assist us with, as always, a simple end elegant solution.

 

Thank you in advance.

Steve-Bome Forum Moderator

2020-02-28 14:30:01

Hi, and that for your question.

There are several ways to approach prevention of parameter jumping however if your DAW supports relative encoders, and you have relative encoders that is probably the most elegant solution.

The most common type of relative encoders are \"2s Compliment\" and \"Relative Offset\" (but different vendors may give them different names).

2s Complement encoders will send values of 1-63 for positive movement of 1-63 clicks right and 127-64 for 1-63 clicks left (Some versions only send 1 and 127 (for 1 and -1)

Relative Offset encoders will send values of 65-127 for postive movement of 1-63 clicks and 63-1 for negative movement of 1-63 clicks. (Some versions only send 65 and 63 ( for 1 and -1)

If you DAW supports this (you didn\'t tell me what DAW you are using) and you have these types of encoders, you are golden and you should setup both your DAW and encoders this way.

-----------

Now if your DAW only supports Absolute (0-127) and your encoders are relative as above, you can write translators in MT Pro to emulate this behavior for your DAW. This is probably the second most elegant way. If this is what you want, tell me your encoder type from above and I will guide you further down this path.

The most common (for cheaper controllers) is your DAW and your encoders (or pots) only support 0-127 and somehow you need to keep them in sync to prevent \"jumping\" as you described.  Some DAW\'s support this feature through a \"takeover\" mode.

The strategy is that if you move the fader or knob on your DAW and it is differnent than the position of your controller POT.  Then later you move your knob, you want to prevent \"jumping\". If the DAW supports this, it will ignore your controller knob movement until it crosses the last known point that you changed it on the DAW.

However if your DAW does not support takeover mode, yet still sends MIDI message out as you move your controller on your computer, we can emulate takeover behavior with translators in MT Pro in a similar fashion.  However if you DAW does not send out MIDI message, then I\'m afraid there will be no way for MT Pro to know the last known position and prevent this.

In a nutshell,  if you describe the type of encoders/pots you use, and whether your DAW supports relative encoders and/or takeover mode and also sends MIDI messages, I can likely help you further. If you tell me what DAW you are using, I may be able already know what it support.

Here are my questions to move forward

1) Do your knobs on your controller support relative? If so, what type?

2) Does your DAW support relative? If so, what type?

If the above both match, set it up and you are done. If we need to convert one relative type to another, we can do that in MT Pro.

3) Does your DAW and controller support absolute only and support takeover mode? If so, use it and you are done.

4) If your DAW and controller support absolute only, but no takeover mode and DAW sends knob/fader movements then we can emulate takeover in MT Pro. If not, we are out of luck here as the DAW needs to communicate where it is for us to figure out when to send and when not to send movements from the controller.

5) If your DAW only supports relative and you controller only absolute, we can do conversion with MT Pro (if the DAW sends messages out). We just need to know what type of relative the DAW needs.

 

I hope this helps. Just let me know more information on your situation and we can peel it down from there.

There a few tutorials on relative to absolute and absolute to relative that may also help you.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

 

 

Regalix

2020-02-29 07:10:43

comment

You're right, this needs to be planed extensively, just to make sure that all, or most of, the scenarios are covered. Let me try a couple of things and get back to you if I stuck.