- Relative CC changes (inc/dec by an offset, good for stateless buttons?) - Similarly program change now embeds bank msb/lsb/program into one message. - Aftertouch is 32 bits - Per-note pitch bend (32bit resolution) - Per-note controllers
-
Show this thread
-
- To support multiple notes on the same pitch or full microtonal stuff, noteon can now *separately* carry pitch info, turning the "note number" into a voice index. You just round robin note numbers and pitch is separate.
1 reply 0 retweets 10 likesShow this thread -
And now for the crazy bit. There's a whole sub-protocol for device inquiry, capability info, and property exchange over sysex. You know, metadata. It has JSON. And zlib. And Unicode.
3 replies 5 retweets 41 likesShow this thread -
Overall the MIDI 2.0 protocol spec seems to be a not-overly-ambitious extension to MIDI 1.0 fixing most of the stupidity and adding enough extensibility, without just, like, making everything a giant pile of JSON or TLV or something. But the MIDI-CI JSON stuff is...
1 reply 3 retweets 17 likesShow this thread -
The biggest thing that bugs me is the single attribute (on top of velocity) for NOTE ON. You should be able to fake more expressive controls with preceding per-note controllers but... that was the one place a variable-length TLV might've made sense.
1 reply 0 retweets 11 likesShow this thread -
OTOH they have an okay amount of toplevel message expansion space if needed (6/16 top-level message types are defined), so I hope they use it well in the future.
1 reply 0 retweets 7 likesShow this thread -
Now the thing is the new UMP packet format does not define any mapping to physical transports, and AFAICT the negotiation is between MIDI1/MIDI2 features, not the underlying transport. So how is UMP defined over e.g. existing USB-MIDI or DIN UART MIDI transports? No idea.
2 replies 1 retweet 10 likesShow this thread -
It seems no physical layer mappings are defined in the MIDI 2.0 spec itself, that's for another document to lay out including any negotiation.
1 reply 0 retweets 8 likesShow this thread -
According to their website, they're focusing on USB first (I guess the old 31kbit UART transport is deprecated, unsurprisingly), and a new mapping for UMP over USB(-audio?) needs to be written before that works. So no automatic backwards compat with MIDI1 byte streams.
1 reply 0 retweets 11 likesShow this thread -
One thing they did do is make the UMP format self-delimiting. The message type alone determines message length, and they arbitrarily pre-assigned some lengths to all the unused message types. So transports should be able to deliver UMP messages with future expansions cleanly.
1 reply 0 retweets 6 likesShow this thread
OTOH it is *not* robust at the 32bit word level, so the underlying transport has to guarantee that. If you drop or corrupt a word expect things to explode.
-
-
(MIDI1 was slightly better at this with the start/continue markers, but in practice this was useless anyway because as soon as you drop any data you get stuck notes so you're screwed anyway)
1 reply 0 retweets 8 likesShow this thread -
Oh yeah, another fix: 7-bit sysex messages are still atomic (except for realtime messages) to preserve MIDI 1.0 compat, but the new 8-bit sysex messages *are* interleavable with other messages and even up to 256 sysex messages may be interleaved together in streams.
3 replies 0 retweets 7 likesShow this thread
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.