Possible to remap SysEx in realtime?


I just got a vintage Roland JX-10 synth and I'd love to be able to use the excellent PG-8X freeware app to control it. However, the PG-8X sends SysEx data in JX-8P format, so the JX-10 can't see it. Their SysEx strings are identical except for the 2-digit model ID, so I'm thinking if I could just remap that portion of the SysEx stream in real time (essentially changing the model ID), I'd be in luck. Here's an example:

JX-8P filter cutoff: F0 41 36 00 [21] 20 01 22 01 F7 - (the 21 in brackets is the model ID)
JX-10 filter cutoff: F0 41 36 00 [24] 20 01 22 01 F7 - (the 24 in brackets is the model ID)

So if I can just remap that 21 in all messages to 24, I'm thinking that should do the trick. Is this possible, and would there be any performance penalty or latency while doing that in real time to control filter sweeps, etc.?


Yes, Jim,

Yyu can do that, just capture the incoming raw message with 21 as it is. Then copy and paste the incoming to the outgoing raw messages. Then edit the 21 and make it 24.

If you are going to do a lot with this same change, then you can assign the outgoing message a global variable such as ga, set the value of ga to 36 (the decimal value for hext 24) and then instead of replacing 21 with 24, replace the 21 with ga.

And the good news is, there is not any performance penalty


Steve Caldwell
Bome Customer Care

Also available for paid consulting services: bome@sniz.biz

Thanks Steve - you just beat me to it - I figured it out. It's been a while since I used MIDI translator so I had to get my head around it again ;-) I was able to easily remap the entire thing by just substituting variables for all the SysEx string bits in the middle. Woohoo - I'm a happy camper. Such a great program - thank you!


We aim to please.