# Help! Translating a MIDI CC input to a Roland Sysex Message

**URL:** <https://forum.bome.com/t/help-translating-a-midi-cc-input-to-a-roland-sysex-message/7134>\
**Category:** Bome Products\
**Tags:** midi-translator, checksum, roland, bomebox\
**Created:** [March 30, 2025, 5:01am UTC](https://forum.bome.com/t/help-translating-a-midi-cc-input-to-a-roland-sysex-message/7134 "2025-03-30T05:01:59Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![bryce.scheurle](https://forum.bome.com/letter_avatar_proxy/v4/letter/b/7ba0ec/32.png) [@bryce.scheurle](https://forum.bome.com/u/bryce.scheurle)\
**Post date:** [March 30, 2025, 5:01am UTC](https://forum.bome.com/t/help-translating-a-midi-cc-input-to-a-roland-sysex-message/7134/1 "2025-03-30T05:01:59Z")

</div>

Hello!

I’m a bit new to sysex and brand new to Bome.

I am trying to have an incoming CC - let’s say CC 1, any value, on MIDI Channel 8 be converted into a sysex message to change presets/memory slots on my Roland MVS-12 video switcher.

I am sending static CC values out of a Fractal Axe FX III when a footswitch is triggered on its foot controller - ie Channel 6, CC 1, value 127

From the Roland’s manual -

The following commands can be sent to the MVS-12. They are shown in RS-232C (ASCII) and hexadecimal (MIDI).

MLD : Memory Select

Activate the specified memory number.

stxMLD:a;  
a : Memory Number (0-3)

stx M L D : a ;  
O2H 4DH 4CH 44H 3AH \* 3BH

- = 30H-33H

I can’t seem to figure out how exactly to put this into MIDI translator pro - I need to do that, save a profile, and then upload it to the bomebox via wifi for it to work right? Hoping for any step by step assistance here. Thanks for your time if you’re able to help.

Earlier in the manual for the MVS-12 this is also there, if it helps -

Data Byte  
• F0H Exclusive Status  
• 41H ID Number (Roland)  
• dev Device ID (dev:10H-1FH)  
• 00H MVS-12 Model ID  
• 00H MVS-12 Model ID  
• 4FH MVS-12 Model ID  
• 12H Command ID (DT1)

Command Data  
• SSH Checksum  
• F7H

---

<div class="post-metadata">

**Author:** ![SteveC](https://forum.bome.com/user_avatar/forum.bome.com/stevec/32/8250_2.png) [@SteveC](https://forum.bome.com/u/SteveC)\
**Post date:** [March 30, 2025, 5:49am UTC](https://forum.bome.com/t/help-translating-a-midi-cc-input-to-a-roland-sysex-message/7134/2 "2025-03-30T05:49:22Z")

</div>

Hi and welcome to the Bome community!

You can try the below but I have no way to test it.

I set up my aliases as follows. You will need to set them up for your devices.

 ![image](https://forum.bome.com/uploads/default/original/2X/d/d8905750e5ee3612c565dde92584721229d3c8c0.png)

You can learn more about aliases from [this tutorial](https://youtu.be/CrE391VJL0s).

Input is CC1 from on MIDI CH 6 as you requested.

The rules calculate the checksum as follows. We also log an error if it is out of bounds

```auto
if qq>3 then Log "Log value cannot be greater than 3 value is %qq%"
if qq>3 then exit rules, skip outgoing action

// First data item 
rr=2
// 0x4d
rr=rr+77
// ox r
rr=rr+76
// ox44
rr=rr+68
//0x3a
rr=rr+58
// value of qq+0x30 
rr=rr+qq
rr=rr+48
// 0x3b Last data item
rr=rr+59
// Get remainder
rr=rr%128
//Subtract from 128
rr=128-rr
// rr is now the checksum

// add 0x30 to qq
qq=qq+48

Log "Log Value=%qq% checksum is %rr% or 0x%02X rr%"

```

I build the outgoing message as a raw MIDI message from the information you provided.

```auto
F0 41 10 00 00 4F 12
// command string
02 4d 4c 44 3a qq 3b 
// checksum
rr 
// end
F7

```

[Roland-MVS12-SysEX.bmtp](https://forum.bome.com/uploads/short-url/oCEGbVSnglEJlsYUMZris2IhZcZ.bmtp) (1.6 KB)

Steve Caldwell  
Bome Customer Care

* * *
_Also available for paid consulting services: bome@sniz.biz_

---

<div class="post-metadata">

**Author:** ![SteveC](https://forum.bome.com/user_avatar/forum.bome.com/stevec/32/8250_2.png) [@SteveC](https://forum.bome.com/u/SteveC)\
**Post date:** [March 30, 2025, 5:53am UTC](https://forum.bome.com/t/help-translating-a-midi-cc-input-to-a-roland-sysex-message/7134/3 "2025-03-30T05:53:25Z")

</div>

If your foot controller sends the value of 127 then change the incoming incoming trigger value to 127 and then qq to 0-3 in the first rule.

Steve Caldwell  
Bome Customer Care

* * *
_Also available for paid consulting services: bome@sniz.biz_

---

<div class="post-metadata">

**Author:** ![bryce.scheurle](https://forum.bome.com/letter_avatar_proxy/v4/letter/b/7ba0ec/32.png) [@bryce.scheurle](https://forum.bome.com/u/bryce.scheurle)\
**Post date:** [March 30, 2025, 6:17am UTC](https://forum.bome.com/t/help-translating-a-midi-cc-input-to-a-roland-sysex-message/7134/4 "2025-03-30T06:17:21Z")

</div>

Thanks Steve! I was able to get this to work, but I’m not sure how to modify it to access the other memory slots (instead of 30H they are 31H, 32H, and 33H). Does it have to do with editing the qq variable somewhere? I want to have CC 2 do 31H, CC 3 do 32H, and CC 4 do 33H - I assume I can clone the translation you posted and just modify the variables but I’m not sure where to do that.

---

<div class="post-metadata">

**Author:** ![SteveC](https://forum.bome.com/user_avatar/forum.bome.com/stevec/32/8250_2.png) [@SteveC](https://forum.bome.com/u/SteveC)\
**Post date:** [March 30, 2025, 6:22am UTC](https://forum.bome.com/t/help-translating-a-midi-cc-input-to-a-roland-sysex-message/7134/5 "2025-03-30T06:22:32Z")

</div>

Yes, duplicate the existing translators, change the incoming trigger and modify the value of qq in the beginning of the rules like you did with the one you have. Make it 1,2,and 3. The 30H (48) is added later in the rules.

Or you could make one translator and capture the incoming CC value in qq and then subtract one from it in the first rule. That way you would only need one translator.

Steve

---

<div class="post-metadata">

**Author:** ![bryce.scheurle](https://forum.bome.com/letter_avatar_proxy/v4/letter/b/7ba0ec/32.png) [@bryce.scheurle](https://forum.bome.com/u/bryce.scheurle)\
**Post date:** [March 30, 2025, 8:29pm UTC](https://forum.bome.com/t/help-translating-a-midi-cc-input-to-a-roland-sysex-message/7134/6 "2025-03-30T20:29:54Z")

</div>

Thank you Steve! Got it all working.

---

<div class="post-metadata">

**Author:** ![SteveC](https://forum.bome.com/user_avatar/forum.bome.com/stevec/32/8250_2.png) [@SteveC](https://forum.bome.com/u/SteveC)\
**Post date:** [March 30, 2025, 11:40pm UTC](https://forum.bome.com/t/help-translating-a-midi-cc-input-to-a-roland-sysex-message/7134/7 "2025-03-30T23:40:36Z")

</div>

Awesome, so I guess I got the checksum right and that the documentation was accurate. This is not always the case, especially the documentation on SysEX can be quite confusing.

Steve Caldwell  
Bome Customer Care

* * *
_Also available for paid consulting services: bome@sniz.biz_
