Latency - USB vs MIDI

Hey Everyone, I’ve been using GP for just over a year, and after a half dozen shows GP has been solid. I use a Novation Launchkey 49 and a M-Audio Oxygen Pro 61 with GP, and I typically connect both controllers via USB cables to a powered USB hub and the hub then connects to a USB port on my M4 MacBook Air. I have experienced latency when playing either keyboard and have tweaked my settings to minimize the latency and it’s now to the point that I feel it more than hear it so I just learned to live with it.

However, prior to using GP, I had a hardware synth rig and and I chose the Launchkey 49 and Oxygen 61 Pro specifically because they have 5-PIN MIDI Out ports to connect to my older hardware synths. I used a MIDI Solutions Quadra Merge to connect everything together via MIDI. and the 2 controller boards seemed much more responsive when using their MIDI Out ports, so I wondered if using MIDI instead of USB would help with the latency in GP. Tonight I connected the Launchkey 49 and Oxygen pro 61 keyboards via 5-pin MIDI DIN cables to the Quadra Merge’s inputs and then ran the MIDI Output from the Quadra Merge into the MIDI In of my Focusrite Scarlett 4i4 interface which connects via USB to my M4 MacBook Air running GP. To power the 2 keyboards, I connected 2 USB cables to the USB ports on the 2 keyboard controllers to a power bar that has USB charging ports. I then fired up GP and rewired a synth patch in GP that always had noticeable latency to use the new MIDI connection instead of a USB connection and the latency was completely gone. It was like I was playing my hardware synth rig again. Using only USB cables reduces the cable mess, but if you have a keyboard controller board with a 5-PIN MIDI Out and you want to reduce the latency then try the MIDI Out instead of USB with GP.

What are your settings? Specifically, your OS, your audio interface, your sample rate, your buffer size, etc

MIDI 5 pin DIN transmits MIDI data at a rate of 31.25 kbps

USB MIDI speeds are up to 480 Mbps …. so approximately up to 15,000 times faster

In other words, if you are experiencing noticeable latency, the problem lies elsewhere.

Hey dhj,

Specs are below.

I’ve read exactly what you wrote, that USB has a faster data transfer rate than MIDI. But
I’ve also read that MIDI doesn’t get bogged down like USB can sometimes. Not sure. But the
proof is in the playing and using the MIDI cables tonight provides an instant response.

However, I’ve also thought about what’s between the cables and the computer. I’ve tried a
few powered USB hubs and I’m currently using a Startech 7 port USB hub. One experiment
might be to connect the keyboard controller via USB directly to the MacBook’s USB port and
see if the latency is reduced. I’ll try that and report back.

M4 MacBook Air with 16 GB RAM, Mac OS 15.5
Audio Interface is a Focusrite 3rd Gen Scarlett 4i4
Sample Rate in GP is 48Khz
Audio Buffer size is 128 samples. I’ve tried 96 and 64 but it didn’t make a noticeable
difference. And again, I don’t really hear the latency so much as feel the delay when
playing.

My leading suspect is still your USB hub.

This is a solid test.

I use GP on Mac M2, I have the following connected via a USB hub:
2 MIDI keyboards
a MIDI foot switch
a Focusrite audio interface
an iPad

In the past I have found that the key (no pun intended) to good performance is the USB hub. I have been through several and found two worked very well (no latency).

Most others I’ve tried have introduced some form of latency

Thx. Others have reported good experiences with Anker USB hubs.

I have experienced latency in various weird ways and for weird reasons.

  1. Different USB cables can have different latencies. I did not want to believe it either.
  2. Some keyboards (probably older ones) have more latency with USB than 5-pin DIN. That was certainly the annoying case with my Casio PX-5S.

While the one-the-wire specs of USB show massively better bit rates than lowly old MIDI, sometimes the internal handling of USB bus signals on different devices is … non-musical, to put it lightly.

For years I had a setup like this:

  • Casio PX-5S - MIDI Out (5-Pin) ==>
  • MIDI In (5-Pin) - Arturia KeyLab mkII - USB-B to USB-C ==>
  • USB-C - MacBook Pro

I tried all kinds of combinations of cord types (USB-B to USB-A, USB-B to USB-C), cord brands (ULine, etc.), into various kinds of USB hub dongles that supported USB 2.0, 3.0, 3.1, USB-C, Thunderbolt, etc.

I eventually discovered that the closest I could get my Casio PX-5S to feeling right was to use my old MIDI cables (literally old, from 1986) and pass that MIDI through my other keyboard controller. It made no sense, but it worked.

I say all that to let you know that it’s a good idea to experiment, even when you think something shouldn’t work. MIDI 5-Pin should be much slower and latent. USB cords should be fungible. I’ve learned to question all assumptions when it comes to this stuff.