Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Perhaps I was unclear: None of those additional specs change the wire protocol - Just like IMAP, HTTP and DNS doesn't change how TCP/IP works. I.e. MTC is a sysex format, General Midi is just instruments names -> program numbers assignments + CC/RPN mappings. The tuning stuff are typically RPN messages. MPE hogs all channels for sending poly-expressions but its all using the basic Midi 1.0 message types

you originally wrote: > ... Various extensions are only sporadically supported, so in effect you typically don't have any more capability than the simplest version of the protocol anyway.

This is just not true - every device have different capabilities and you control them with what ever midi messages the device responds to. Sometimes they follow those standards and other times the don't. I.e. I can control the Reverb level on a Yamaha AN1X through CC#91 (which is a General Midi defined controller mapping for Effect 1 level). If I send CC#91 to an Arturia MicroFreak it will change ARP/SEQ rate. Sure it's a little annoying that I have to read the midi implementation list for each of my devices, but I'm not going to give up and never control those settings just because the don't align with the published extensions.



OK, sure, I agree that at some level the wire format has been stable, but that's like saying "http and http/2 both use TCP, so they are the same protocol".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: