Summary: Here is a quick rundown of how I used the Stream Byter plugin to parse SysEx data with the meris Enzo guitar pedal. These rules are specific to the Enzo and may work differently depending on Manufacturer's unique SysEx message but the general idea is the same.
Using the Stream Byter plug gives you the ability to parse Sysex dumps. Here I’ll break down an example of how I set up Stream Byter to update my iPad layout from Sysex Dumps from the Meris Enzo.
You will need to know what the incoming Sysex data means to be able to write rules to change the iPad, so a map of the sysex messages is helpful. The Sysex data will vary based on the device you are using. I didn’t have a map except for the first numbers listed on the meris I/O manual. Fortunately the controls were in logical order once I found which byte correlated to the first knob.The way I determined what each sysex byte controlled is by 1. Opening the MIDI Log 2. sending a sysex dump 3. changing one setting on the pedal and saving that preset 4. Sending another sysex dump and finding the location of the number that changed in the MIDI log.
Here is an example of my rules:
IF M01 == 00 20 10 06
SND B6 10 M9
SND B6 11 M0A
SND B6 12 M0B
SND B6 13 M0C
SND B6 14 M0D
SND B6 15 M0E
SND B6 16 M0F
SND B6 17 M10
SND B6 18 M11
SND B6 19 M12
SND B6 1A M13
SND B6 1B M14
SND B6 09 M16
SND B6 1D M17
SND B6 1E M18
END
Breakdown: Messages are written in hexadecimal so it is helpful to have a converter when writing these rules.
M## represents the location of each byte counting from 0. The Sysex dump for my guitar pedal sends a total of 39 2 digit messages.
IF M01 == 00 20 10 06 #The sysex message starts with F0 00 20 10 06. We want to start at M01, the second byte number because 00 20 10 is the meris product id and 06 is channel 7 (the channel I have the Enzo set to). So these messages will send whenever a sysex dump from a meris product on channel 7 is detected.
SND B6 10 M9 - #This is sending in whatever is at M9(10th SysEx byte number) to Channel 7(B6) and CC#(10) for the first knob since I know that the number at M9 displays the Pitch setting of the Enzo and Channel 7 CC 10 is the control for the Pitch knob. And just do that for each control you want to update.
Cheers,
Mitch