roland checksum on EFX modules

Hi,

I am trying to map a CC to a sysex string but I can't figure out the checksum. I have found rule code for roland checksums on here, but is not producing the output i need.

This is the string I need to make

F0 41 10 00 00 00 18 12 10 10 00 02 oo pp F7

oo is the data and pp is the checksum

the data goes from 00 to 64 and the checksum goes from 5E to 7A and changes direction at some point.

Here is a smooth-ish sweep of the control and the resulting sysex capture:

3216076 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 01 5D F7 3216091 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 02 5C F7 3216111 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 03 5B F7 3216123 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 04 5A F7 3216137 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 06 58 F7 3216168 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 08 56 F7 3216189 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 09 55 F7 3216220 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 0B 53 F7 3216231 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 0C 52 F7 3216250 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 0E 50 F7 3216272 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 0F 4F F7 3216282 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 10 4E F7 3216303 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 11 4D F7 3216334 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 12 4C F7 3216345 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 13 4B F7 3216358 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 14 4A F7 3216389 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 15 49 F7 3216403 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 17 47 F7 3216424 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 18 46 F7 3216456 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 19 45 F7 3216472 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 1B 43 F7 3216482 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 1C 42 F7 3216504 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 1E 40 F7 3216536 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 20 3E F7 3216546 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 21 3D F7 3216568 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 23 3B F7 3216591 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 24 3A F7 3216612 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 25 39 F7 3216622 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 26 38 F7 3216643 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 27 37 F7 3216674 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 28 36 F7 3216687 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 29 35 F7 3216707 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 2B 33 F7 3216739 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 2D 31 F7 3216749 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 2F 2F F7 3216771 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 31 2D F7 3216781 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 33 2B F7 3216793 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 34 2A F7 3216833 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 36 28 F7 3216844 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 37 27 F7 3216865 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 39 25 F7 3216890 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 3A 24 F7 3216902 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 3B 23 F7 3216923 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 3D 21 F7 3216951 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 3E 20 F7 3216970 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 42 1C F7 3216990 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 44 1A F7 3217000 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 46 18 F7 3217016 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 47 17 F7 3217047 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 49 15 F7 3217068 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 4A 14 F7 3217079 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 4D 11 F7 3217091 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 4E 10 F7 3217124 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 4F 0F F7 3217140 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 51 0D F7 3217174 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 52 0C F7 3217191 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 53 0B F7 3217200 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 56 08 F7 3217221 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 57 07 F7 3217253 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 58 06 F7 3217264 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 59 05 F7 3217277 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 5A 04 F7 3217309 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 5B 03 F7 3217330 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 5C 02 F7 3217340 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 5D 01 F7 3217357 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 5E 00 F7 3217390 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 5F 7F F7 3217407 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 60 7E F7 3217424 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 61 7D F7 3217434 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 62 7C F7 3217466 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 63 7B F7 3217485 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 64 7A F7 3217506 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 64 7A F7 3217513 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 64 7A F7 3217545 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 64 7A F7 3217566 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 64 7A F7 3217577 - MIDI IN [Bome MIDI Translator Virtual In]: F0 41 10 00 00 00 18 12 10 10 00 02 64 7A F7

can anyone spot what might be happening? it's surely to do with the 3 address bits before the data, but as I say existing checksum rule code hasn't worked.

Thanks,

Mike

Hi,

Well although Roland does use checksum, in many cases the Roland ignores it anyway, but if this is not the case here, please try the below project file.

It was unclear on the dump you sent me whether that is the data being generated by Bome MIDI translator or the actual Roland device.

 


Attachments:
1562608821985_CC-to-Roland-Sysex-2019-07-08.bmtp

Hi Steve,

Thanks that works. My problem was I was missing a 16 from the address part. Mine was 16+2 +oo rather than 16+16+2+oo.

Thanks for your help.

My pleasure. Since the largest your Roland expects is 64 (100) hex, you might want to add a rule to abort output if incoming CC is greater than 100. Or you could scale, the output from 0 to 100. Look at our tutorial on scaling for how to do this.

https://youtu.be/g4AoEyq3qGw