How to receive a sysex message of variable length and convert it to text?

I am receiving a sysex message with the structure F0 21 XX F7 where XX is a variable quantity of bits that should be converted to text.

As example I can receive this for a long name:

F0 21 41 50 49 2D 35 35 30 41 20 53 74 65 72 65 6F F7

Or this for slower name:

F0 21 41 50 49 F7

I would like to convert the sysex message to text (without the starting F0 21 and the ending F7) and save it to a variable.

Can I do it with BMTP? how?

Bome MIDI Translator Pro does not handle strings but you can you placeholders.

For instance:

F0 21 41 50 49 2D 35 35 30 41 20 53 74 65 72 65 6F F7
F0 21 oo pp qq rr ww tt uu vv ww xx yy zz g0 g1 g2 F7

Each input pattern needs a different length in a different incoming trigger in the MIDI message (hence a different translator)
For your shorter example

F0 21 41 50 49 F7
F0 21 oo pp qq F7

Note that only “oo” through “xx” are local variables so if you have patterns (like the first one above) , you would have to be careful not to use “yy zz g0 g1 g2” in other translators in order to avoid variable collision between translators.

So each translator can use oo-xx but every translator with a longer length, would need different global variables for each pattern.

Different translators would handle each length based on the input pattern.

Steve Caldwell
Bome Customer Care


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

Thanks for your reply @SteveC