Note to SysEx transformer

Hi Giedrius,

About a Note/CC mapping to SysEx transform option.
I know it has been discussed before, and I’m sorry for bringing it up again, but I remembered you where asking for a use case.

Well here is one. I want to control the 8 variations that Roland TR-8S has per pattern. There is no other way than to do this with SysEx, but I’d like to steer it with a sequencer. An obvious choice for me would be to use Notes as source (as these are very visible on a Deluge, my sequencer).

The sysex that the TR-8s spits out after pressing the variation buttons are:

A: F0 41 10 00 00 00 45 12 20 10 00 41 00 01 0E F7
B: F0 41 10 00 00 00 45 12 20 10 00 41 00 02 0D F7
C: F0 41 10 00 00 00 45 12 20 10 00 41 00 04 0B F7
D: F0 41 10 00 00 00 45 12 20 10 00 41 00 08 07 F7
E: F0 41 10 00 00 00 45 12 20 10 00 41 01 00 0E F7
F: F0 41 10 00 00 00 45 12 20 10 00 41 02 00 0D F7
G: F0 41 10 00 00 00 45 12 20 10 00 41 04 00 0B F7
H: F0 41 10 00 00 00 45 12 20 10 00 41 08 00 07 F7

And I’ve checked, the TR-8S responds by a variation change when sending these back (I used https://github.com/gbevin/SendMIDI for that)

I was really hoping that my Midihub would come to the rescue, but I found that there currently is no “transform to SysEx” options, unfortunately.
Don’t get me wrong, I do understand that it’s a big undertaking to make a good transformer for something like this, it would (I think) involve some kind of templating syntax, which include some predefined checksum functions (as some types are used quite ubiquitous).

Hope you will consider something, as I think Midihub would be even more useful with an option like this.

Cheers,
Joris

A bit off topic, but you can probably build something like that in Pure Data.

Assuming that your midi interface supports sysex, of course.

I haven’t used sysex in Pure Data. In Pure Data there’s a [sysexin], but not a [sysexout].

For sysex out you can use the “midiout” object.

I use it to send sysex to my Blofeld, works 100%. On Mac though, I have not tested on my Pi.

You can use this abstraction for formatting the sysex string:
sysexout.pd (1.8 KB)

In Hex format 240 = F0 and 247 = F7.
(https://www.rapidtables.com/convert/number/hex-to-decimal.html)

Those are the sysex start and end messages. Everything in between is the systex string definition.

2 Likes

I think this might work:
Screen Shot 2020-09-13 at 15.28.14

Sysex for Blokas Com 1 .pd (1.5 KB)

I converted the 8 messages to decimals, using the hex converted above and made a switch that triggers them depending on number input. Use the sysexout abs from last comment.

3 Likes

Thank you, providing the context will help when designing this feature sometime down the line. :slight_smile:

Btw, if using DIN-5 MIDI, another interim solution could be to program the Midiboy and put it in the middle to perform such data transformations.

1 Like