I’m trying to start on developing an FS1R template and I’ve hit a snag which has me scratching my head.
the format of the system exclusive message (performance parameter) is as follows
F0 43 1N 5E 10 00 LL VV VV F7
N = device id
LL High byte
vv vv is the value for the parameter. ( I think this is where I’m messing up)
My Lua script is as follows
[
“F0”,
“43”,
“11”,
“5E”,
“10”,
“00”,
“00”,
{
“type”: “value”
},
“F7”
]
Unfortunately this isn’t working. I suspect the issue is that the message expects two bytes of data to be passed but only one byte is being passed for vv vv.
I tried adding a dummy “00” just before type:value but this failed too.
Also note I’ve checked the FS1R is programmed to receive sysex and programming changes. I’ve checked the device number multiple times. This really has me scratching my head. Any advice or direction would be welcomed.
Aha! I think I have to use the nibble example from the Writing SysEx templates documentation page. I’ll report back my results once I get this working.
Should be just tedious now. I’ll reach out once I have a bit more. At this stage I have 1 parameter mapped but I know the format to use so should glide for a while.
The same you may encounter in patch parsing as sell. Take a look at the patch Editor of the SE-02 preset: all too frequently the value of one parameter was split over two bytes in the SysEx, where for instance 3 bits where taken from one and 4 bits from the adjacent byte. So I needed to recompose the parametervalues.
It might give you some inspiration, I hope.
When composing SysEx messages via Electra’s SysEx template, the first and last byte (F0 and F7) are usually omitted.
So if a SysEx string is listed as F0 43 1N 5E 10 00 LL VV VV F7 in the manual of a synth, it would translate to
And just to avoid confusion with the terminology, these strings above are SysEx templates. Lua in contrast, is a Scripting Language which allows extending the functionality of Electra presets.
Besides many other things, Lua also allows handling SysEx messages, but they are processed in a different looking format than the SysEx template mentioned above.
Thanks Marian. Interestingly my other two templates for the Varios8 and PLG150AN both work fine while including the F0 and F7 bookends. In terms of the Lua scripting stuff, I’m familiar with LUA having developed the Spectra RE for Reason. I’ll certainly check out oldgearguys Micron template as I do have a Micron. Having said all that I think I’ve discovered a potential bug in the 2.1.6 firmware. I’ve reached out to Martin for some advice. The bug appears to be only occurring on SysEx calls where the 14 bit value is split into 2 hex values (Thanks Yamaha). anyway. My first control worked perfectly but as soon as I added a second it didn’t work at all. Interestingly, if I change the Parameter Number to 1 instead of 2 on the second one it works fine. Both work fine if both parameter numbers are 1 but not if its any other number. I tested by FS1R by getting my patchbase FS1R out and it works fine so its not the device. Checking the log of the Electra.One.Console reveals that the second parameter transmits the current value of the first parameter with every knob turn. I’ve spent the day working testing almost everything it could be. I’ve reached out to Martin though I understand he’s quite busy.
I have checked your FS1R preset. I can see that both controls, NAME1 and NAME2, link only SysEx parameter 1. You need to adjust the NAME2 control to link parameter 2. That can be done in the visual editor or by editing the JSON. Let me know if you need more assistance with that.
The F0 and F7 bytes are optional, Electra accepts both formats.
Hey Markus. I’ve made a start but life is preventing me from progressing it. I’ve got about 10 to 20 Paramus done and request the patch from the fs1r. If you are interested in progressing my template yourself let me know. I will be returning to it at some point.