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

Hi everybody.
I agree that Sysex implementation would enable owners of rack units like e.g. Lexicon PCM81/91 to use an external midi controller like my old PC1600x to tweak multiple parameters.
What I imagine is a control that maps a midi CC to a sysex string (the CC message could be also be reused in different connected units, what I’m interested in is the sysex string being sent out to a specific rack unit).
I believe this feature would appeal to many studio owners and musicians alike as it would allow to modify and/or create a patch in much less time.

I’m also looking for that PIPE !
Would be awesome to load presets for my Yamaha PSS 680 in sysex by chossing a midi channel and send a note

A way to convert midi notes to sysex data strings would be amazing. Being able to set it up for one string per note would be my current goal so that I could sequence the sending of the sysex data. Hope this comes to fruition