Send sysex to external MIDI


Is there a way to send a sysex message to an external midi device? I use a keyboard that doesn’t receive program change commands in master mode( it only receives PC in patch or performance mode). I can send a sysex file to make it happen in Mainstage. This feature would make the switch to GP an easy transition.


I’ll second this one. I have keyboard (Yamaha S90ES) that I have to switch modes on a per song basis. In Forte, I could send a sysex on load separate from a per channel PC to get things configured. Is there a workflow to do this in GP?


My solution is to use MainStage to send sysex commands. Program change commands are sent to MainStage from GP via the IAC bus in Mac. It would be much easier to do all this in GP, but this will work for now. Sysex to external MIDI is still on my wish list .


It wouldn’t be hard to add a function to GP Script that could send a sysex message out. That’s already on our list. Can you give me an example of some sysex messages that you would want to send.

It would probably be possible to specify a sysex message in a MIDI Out plugin as well.


In MainStage, I sent the sysex messages in a MIDI file. Maybe there’s a better way in GP. Here’s an example.



This is a short term hack but it should work, however you’d have to write a little GP Script function to use it.

There’s a command line program for Mac and Windows called SendMIDI out there.

GP Script has a shell function (Mac only) and a more sophisticated ExternalApplication object that works on both platforms.
These can be used to invoke external programs. So you should be able to use this to invoke the SendMIDI program to send out SysEx messages.


Here are the two sysex messages I need to change my S90ES between Multi and Voice modes:

Any guess on when this would be implemented natively? My band is on hiatus now, so if it’s likely to be added soon then I’ll concentrate on building the rest of the rackspaces for our repertoire.


I use an iPad running OnSong. Although it is a lyrics/chords app, it is an immensely powerful master midi controller. If you logon to a wireless network and use the free rtpMIDI app, then you can use it to send sysex. I control a Roland keyboard, a TC Helicon harmoniser and GP on my Surface tablet using OnSong. The Roland needs a cord, but everything else works over the wireless network that I take on a gig with me. OnSong can automate widget control in GP and I use it all the time in scroll mode and it happily adjusts volumes, mutes VSTs, turns harmonies on and off and heaps of other midi functions all without cords. OnSong is so powerful but I’m not sure that many musoes appreciate its extraordinary midi capability.


yep, also on Ipad, I sometimes use SongBook Chordpro, it can also generate MIDI / Sysex; extensive MIDI support. Oh I’m sure there many ways, apps…


Hi did you got this to work for you with GP?..i’m running a similar setup


what setup? mine or OP ?

Gig Performer v3 can now send SYSEX either from a script or “song part change”


Ok Thanks…I just can’t seem to wrap my brain around this GP scripting. i’m coming from Brainspawn Forte where it’s easy…adda ECHo MIDI Plugin and a code and i’m done! I would Appreciate it very much if you could explain how to get this done in GP


Can you be a little (well actually a lot) more precise about what you actually want to do. It’s no longer necessary to use scripting if you just want to send out a sysex message somewhere but it’s hard to advise you without knowing what you’re trying to do.


Hi thanks for the reply… I am trying to get my Motif es6(IN MASTER MODE) to respond to program(patch) change when switch to different rackspace in GP… F0 43 10 7F 00 0A 00 00 05 F7 this is the code that need to be sent to the device in order for it to work as desired…


Create a MIDI Out Block that points to your MIDI Device and set the name to a unique name. ie… KRONOS.
Open a Song Part and set the Advanced: Extra MIDI to your SysEx
This is untested as I’m away from my gear at the moment. Actual pics will be different.


Ouch — as I was putting together an example, I just discovered that does not working with sysex messages. I’m going to fix that right now so it will be in the update we put out in the next day or so. Can’t believe I overlooked that!



:sunglasses: Just experienced the same


OK — this is now working as you can see from the image below where I am monitoring the output. We’ll get this out ASAP.


OK — this is now working as you can see from the image below where I am monitoring the output. We’ll get this out ASAP.

screenshot_3316.png819×748 101 KB



Oh… so we have the insert an ‘x’ before each byte?