I for one expect that MIDI 2.0 helps to boost the RTP MIDI protocol adoption (over ethernet). It has much more speed, longer distances, less latency, proper packet loss recovery (which is not a problem on local networks) and overall much better hardware ecosystem.
Even on WiFi it is useful although latency is very jittery.
> Even on WiFi it is useful although latency is very jittery.
Could you elaborate on why Wifi latency jitter would be an issue for MIDI?
From an outsider's perspective and with only a vague knowledge of MIDI, it doesn't seem to be something that should be any more sensitive to latency jitter than other realtime applications like audio/video.
Music performance is a synchronized effort, and with very precise timings. If there is lag, everything is just a bit late and a musician can (unconsciously) compensate up to some point. But for example (if my math is correct) 120 bpm, has 8th notes every 250ms.
If drum beat is sometimes, and only sometimes, 100ms later than it should, the result is not nice at all. And it is random jitter.
There’s also MIDI timecode, which has to send at four messages per frame (up to 120 messages per second), and whose entire job is to convey timing. It’s basically unusable over WiFi.
As an amateur musician, I played with real time synthesis a lot. Latency, and especially jitter in latency is the biggest enemy. 100 ms is an eternity. 5-7 ms is still noticible and anything above 10 ms becomes a nuisance. Some artists, especially drummers, hear 2 ms differences.
And it’s quite logical really. A reasonably fast tempo is 180 bpm. Playing sixteenths notes would separate them by 80 millis. Then you have separation in swing style sixteenths, funk (which is often ahead of the pulse by a tiny fraction) and the real scale is around 20 ms. That’s comparable to 50 frames per second.
This is also the reason (among others) why orchestras need conductors. The right side would hear the left side 100 millis later due to the speed of sound.
I am of the belief you need to be in the sub-millisecond range for jitter, in order to be capturing a performance authentically.
Whatever the range of perception is, there’s going to be another range where people can’t consciously describe what they are perceiving, yet it affects them.
If you are playing an instrument, eg a MIDI keyboard, I’ve found anything above around 10ms creates a noticeable lag between when you physically touch the key and when you hear the sound.
In broad terms, performing music is much more sensitive to latency than A/V playback is.
Think of it like playback vs a phone call. If you have 0.5s gap between audio and video, you hardly notice. But the same latency in a phone call makes it very awkward.
In music performance, the awkwardness would be multiplied by the number of spectators cringeing :)
> If you have 0.5s gap between audio and video, you hardly notice.
If your video comes later than audio and depicts human mouth talking you would notice it ever for 1 frame (0.02s for 50 frames/s) delay; but it's true that if audio is delayed relative to video, then 0.5s is hardly noticeable.
Even on WiFi it is useful although latency is very jittery.
Disclaimer: I'm working on a RTP MIDI implementation for linux (https://github.com/davidmoreno/rtpmidid)