Is there some quick instructions or video explaining this in more detail?
If it’s already in the docs somewhere, a link will be sufficient.
I will be in need of this to reverse engineer some undocumented data/commands.
Is there some quick instructions or video explaining this in more detail?
If it’s already in the docs somewhere, a link will be sufficient.
I will be in need of this to reverse engineer some undocumented data/commands.
Do install the Electra One editor, so you can get to the details yourself.
Here’s some info:
Value conversion SysEx versus Midi CC
Patch Parsing
Each time a Program Change is executed , I sent 4 SysEx messages to collect the current patch dump
midi.sendSysex (devPort, {0x41, 0x10, 0x00, 0x00, 0x00, 0x44, 0x11, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x3B})
midi.sendSysex (devPort, {0x41, 0x10, 0x00, 0x00, 0x00, 0x44, 0x11, 0x05, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x7B})
midi.sendSysex (devPort, {0x41, 0x10, 0x00, 0x00, 0x00, 0x44, 0x11, 0x05, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x3A})
midi.sendSysex (devPort, {0x41, 0x10, 0x00, 0x00, 0x00, 0x44, 0x11, 0x05, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x30, 0x0A})
The first three messages deliver a response in which parameters are found , necessary for the Patch. The fourth message was obsolote, I found afterwards. That may be for instance because it contained data for the sequencer which I didn’t parse.
The exact parsing can be found back in the json editor of the Electra 1.
Be careful: Roland did not implement anything simple like a 1 byte = 1 parameter philosophy. Very often 1 parameter was composed of bits from 2 different subsequent bytes.
Example: parameter 81 "Contour Sensitivity’
You will find it back as a composition of 7 bits, as a response against the first SysEx request:
Be mindful
The reverse engineering was done using three - four tools:
Thanks @NewIgnis this is great. I also managed to grab raw JSON from the online editor.
That brings me onto an idea. I’m just on the verge of adding patch parsing to a preset (the Novation A-station).
We’ll do it in a separate topic as a kind of tutorial.
BTW the fourth response includes the patch name. When you convert from hex to ASCII letters you get the name.