Converting SYSEX to Midi Note

Hi
I want to Convert Incomming SYSEX to note and map to Widget in Gig Performer Host.

They are 12 Note (On/Off) C to B from my External Gear which are sended as SYSEX to BMT and as Outgoing Notes C to B.
Note Off (is always the same) SYSEX:
F0 42 00 78 06 08 00 00 00 00 00 0E 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 F7
C is: F0 42 00 78 06 08 00 00 00 00 00 0E 20 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 F7
C# is: F0 42 00 78 06 08 00 00 00 00 00 0E 40 00 20 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 F7
D is: F0 42 00 78 06 08 00 00 00 00 00 0E 40 00 40 00 20 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 F7
and the last B is: F0 42 00 78 06 08 00 00 00 00 00 0E 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 40 00 F7

Each Note on Eternal Gear (12 Notes C-B) are maped to 12 Widgets in Gig Performer
but if are activated 2 or 3 Notes the Outgoing SYSEX message is diferent for Example:
C & C# = F0 42 00 78 06 08 00 00 00 00 00 0E 20 00 20 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 F7
C & D = F0 42 00 78 06 08 00 00 00 00 00 0E 20 00 40 00 20 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 F7
C & D# = F0 42 00 78 06 08 00 00 00 00 00 0E 20 00 40 00 40 00 20 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 F7

20 is Note ON
40 is Note OFF

I need a Rulles in Translators to can mapp Sending Midi Notes on Widgets in Gig Performer and they cab be combinations:
C & F
D & G & A
G
etc.

Hier my bmpt File

And hier my Gig Performer File

Something like this should work.

We set up a single SysEx incoming pattern and assign global variables to each of the note positions. Then in rules, we call perform outgoing actions where the parameters are as follows
1st - Outgoing MIDI CH 0-15
2nd - Note Number (without octave shift)
3rd - Outgoing value set by local variable qq or rr
4th - Octave Shift

That way you can change the outgoing MIDI channel and outgoing octave when you call the Perform ‘Note’.

The second translator (the perform action) takes the incoming parameters and turns them in to outgoing notes.

This is what you get with C and D pressed with an offset of 12.

1: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 0C 7F
2: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 0D 00
3: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 0E 7F
4: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 0F 00
5: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 10 00
6: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 11 00
7: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 12 00
8: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 13 00
9: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 14 00
10: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 15 00
11: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 16 00
12: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 17 00

I disabled your original preset.

I use global variables g0-g9, ga and gb in this project

Scale-sjc.bmtp (8.5 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Also, note, that manipulating SysEx messages within Gig Performer itself is possible with gpscript. You could reach out to their community or if you want me to help there, I’ll be happy to provide paid support for that.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Thank you very much Steve.

Yes with scripting in GPmis a lot’s possible. Im Nikosound there at GP Comunity.
m
Maybe with GP is better solution for this SYSEX to midi note case.

Thank to you in BMT its working, no stuck notes hier but some crackling is happening at Rack changing mapped with msb, lsb, pc.
Maybe becouse there are a lot of midi data in this case, on patch switch.

I will try to post also on GP Comunity.

Best Regards
Nikosound

How much will be cost for payed support for this
GP script f.e. ?
With GP to using, without BMT?

Send me a private message or email and I will respond with my rates.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

@Nikolche

I posted a script on the Gig Performer Forum for how it can be done in gpscript.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Hi Steve
I loaded your GP Script and renamed Midi In and Midi Out like in your Script

there are no Midi Notes On/Off

Worked for me. Your device names cannot have spaces. Maybe that is it. Also your MIDI Blocks need to be given a script name and the MIDI In block needs to be enabled for SysEX.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Whoops looks like it is sending stuff twice. I’ll check into it.

NVM - I had loopMIDI Port 1 input enabled in GP, so I was seeing both outgoing and incoming messages.

Also, it looks like it is never sending B.

Needed to fix this.

		While plen>=0 Do

Note Off are mapped to Widgets but Note On are missing now
And yes is sending stuff twice.

Please take this discussion to the GP forum as it is no longer Bome related.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Hi Steve

I have tryed your ,Scale Preset" for BMT and is working as it should in BMT Pro, but I need NoteOn/Note Off convert to CC, instead to Midi Note.
The Reason is that in other Host I can not mapp Notes to Hardware Controller but CC Messages are mappable to Hardware Controller and Synchronised with Host this way.

One rule change in translator

Change

oo=oo|144

to

oo=oo|176

I commented out the old rule.

Scale-sjca.bmtp (8.6 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz