Yeah definitely not so easy and I agree it would be better to start with something simpler.
But nevertheless lets change the cutoff from the filter 
I can help a little so lets see if we can make it.
I suggest to:
- make 1 parameter change work
- make a template
- add lua code for a midi channel change ( I have it in another template see Ensoniq Mirage )
- add the voice select if needed…
I do not not how the synth works.
Its not clear what a “voice” means.
I t could be you need to send a voice select command before changing the parameter,
But you can do this on the synth itself. You have to tell us this.
F0
0F
05
00
{midichannel} 00 could be channel 1 not sure
{messagecommand type} 01
{voicenumber} [0..5]
{parameter pagenumber} [0..31]
{parameter slot number} [0..5]
value hi byte [0..255]
value lo byte [0..255]
Lets change the boss parameter:
page 13, slot 1 [0.127] Filter #1 Cutoff
So first send:
filter#1 filter fully closed
"0F", "05", "00", "00", "01", "00", "13", "01", "00" "00"
You can use sendmid GitHub - gbevin/SendMIDI: Multi-platform command-line tool to send out MIDI messages
sendmidi dev YourMidiPort syx 0F 05 00 00 01 00 13 01 00 00
also run recievemidi on another terminal.
Here you can catch the response.
If it worked you can use this in your template.
The example should be used for "parameterNumber": 1,
Edit to your needs.
[
"0F",
"05",
"00",
"00",
"01",
"00",
"13",
"01",
{
"type": "value",
"rules": [
{
"parameterNumber": 1,
"parameterBitPosition": 0,
"byteBitPosition": 0,
"bitWidth": 4
}
]
},
{
"type": "value",
"rules": [
{
"parameterNumber": 1,
"parameterBitPosition": 4,
"byteBitPosition": 0,
"bitWidth": 4
}
]
}
]
Cheers
Tim