A total GP newbie here. I’m aware based upon reading a few GP forum threads that it’s both viable and beneficial to use GP to set up and manage MIDI connections between two or more hardware synths and not just to manage and control plug-ins. I’ve got a Korg M3 workstation and Korg PA5X arranger both hooked up to an M1-based MacBook Pro using each keyboard’s respective USB MIDI connection. My plan/hope is to set up GP rackspaces and setlists that allow me to utilize either keyboard as a MIDI controller to simultaneously control both Mac VSTs and internal hardware patches on the other keyboard, depending upon the song/performance in mind. My simple question: is it perfectly OK to continue to use the two respective USB MIDI connections for such MIDI routing, or do I instead need to acquire a MIDI hub? My concern is whether using the two USB MIDI connections might introduce an unacceptable level of latency?
So, you would have one USB cable running from the Korg M3 into your MacBook and another USB cable running from the Korg PA5X arranger to another port in your MacBook.
That sounds fine to me and less chance of problems than a USB hub.
I think a lot of people do not do this because they run out of ports in their laptop. And probably the least problematic data to run through a USB Hub is midi data, since it takes up far less bandwidth (compared to, for example, audio).
(If you do get a USB Hub, get a powered one. Anker is mentioned (positively) a lot here).
Actually I AM using a powered USB hub. But I should have been clearer. When I mentioned a "MIDI Hub’ in my post, I really was referring to whether a dedicated multiport MIDI interface (like the Blokas MIDIhub) would be needed - i.e. something to which I would connect the DIN MIDI ports on my Korg keyboards as opposed to their USB MIDI ports. But it’s reassuring to hear that I could continue to use the USB MIDI ports. And for the record, I actually have three available USB Type C ports on my MacBook, so I could if necessary attach the two USB MIDI cables directly and bypass my USB hub entirely. That would still leave me with another USB port for my audio interface.
No concern there (and by the way, theoretically there would be more latency risk with a hub since that’s an extra layer) but in practice, it’s way too small to be noticeable. My own controllers are connected to USB hubs which are connected to other USB hubs and then into my computer!
Thanks jeffn1 and dhj for these much appreciated reassurances. I’m really looking forward to diving much more deeply into GP now.
I play in an 80s cover Band for few years mixing two hardware keyboards (Nord Stage 3 and Yamaha MODX) along with VST plugins (Windows on Asus laptop).
The hardware synths are connected using USB cables to a USB hub which in turn is connected to the laptop using USB type C.
It works perfectly, no latency issues at all.
Latency can be observed only when using large buffer size in the audio settings (E.g. 256 or greater).
Thanks Dadi for the added reassurance. One followup and related question: do you use GP to make patch changes on your Nord and Yamaha, or is it limited to just VSTs?
You can absolutely change patches on external hardware — several ways to do it –
See for example,
Also, not mentioned in that blog (we need to update it) if you’re using setlists, then you can define actions in a song part to send external PC messages (or any messages)
This is really helpful information, dhj. I will dive into it. Thanks so much!
Yes I do, I send MSB/LSB/PC to the external synths for every song.
Furthermore, we also play medleys in which I’m sending MSB/LSB/PC while actually playing moving to the next part.
BTW, when changing performances on MODX then it resets the audio played (not always), this is how MODX is designed (even without laptop) so you need to plan ahead what to change and when.
Nord Stage 3 does keep the sounds active.
And as mentioned in the blog article, you can use GPScript too and even without scripting e.g. using a Scriptlet available here:
This works even between variations and can learn your PC when using an external controller.
Also just learned that it looks like there’s an instrument definition file available for the Korg M3 (not sure about the PA5X). Would that be of any value here, or just stick to issuing MSB/LSB/PC commands?
Well I guess I should answer my own question. I see now that GP supports use of INS files.