Many synths have a single USB2 port for audio and MIDI. Unlike USB3, USB2 is half-duplex and uplink and downlink data must be scheduled on the same link. I assume this leads to increased queuing/scheduling delay (and hence jitter) for MIDI. Has anyone looked into how MIDI jitter increases with the busyness of a USB2 bus? Should we try to connect our USB2 MIDI devices including synths to different buses, even when bandwidth is sufficient, to reduce MIDI jitter? What is best practice (ideally based on data)?
I have a high-spec audio setup with macOS running MainStage for live performance and certainly it feels subtly more responsive to play a piano-style sound directly on the HW synth generating the sound than via an external controller keyboard (with MIDI routed through MainStage). I assume this is due to MIDI jitter which I want to reduce....
Maybe I need to wait for timestamped MIDI 2.0 over full-duplex USB3?
Sharing MIDI and Audio over the same USB connection does not impact timing characteristics of the MIDI data. Well, it might if you were to somehow saturate the whole USB bandwidth with many channels of audio. But if that was the case, it would be likely you would start to hear audio packet drops before you had MIDI timing issues.
As for you comparison of the HW synth feeling "subtly more responsive", that is almost always to be expected. Mainstage and plugins are great. But your hardware synth gets messages to play more immediately, while MIDI messages sent over USB have some delay, some slight jitter. Then the message comes out of a USB driver, lands in the operating system where further delay is possible. Then Mainstage has to process it, a bit more delay and jitter. Then the plug in finally gets it and when the CPU gets around to providing processing power, a note can be played, with a bit more delay. USB is one small part of the total system. Computers keep getting faster and better as software synthesizers, but hardware synthesizers still generally have notable timing advantages.
Chair of MIDI 2.0 Working Group