6 ms·
We tolerate MIDI, but it's really pretty terrible. It's ubiquitous, but it's just barely good enough to have avoided being replaced. The first major issue is s
by jdietrich 8y ago
We tolerate MIDI, but it's really pretty terrible. It's ubiquitous, but it's just barely good enough to have avoided being replaced.
The first major issue is simply the lack of bandwidth. The physical layer operates at 3125 bytes per second, which just isn't enough for anything more than a single instrument with relatively sparse control data. MIDI devices can ostensibly be daisy-chained, but that's a really dumb thing to do because you get horrible timing problems. Back when we still used a lot of hardware synthesisers, it was the norm to have a large multi-port MIDI interface connected to your computer, providing one interface per instrument. That still doesn't solve your problems if you have a multitimbral module with lots of polyphony - if you start sending control channel messages, the timing of your note on/off messages will fall apart.
The second major issue is the lack of resolution. MIDI is an 8-bit standard, which is generally acceptable for velocity but grossly inadequate for most control channel messages. There are some pretty nasty workarounds being used to avoid zipper noise when you adjust a control parameter; this is most commonly an issue when sweeping a resonant filter. There are various hacks to send 14-bit control change messages, but they're non-standard aside from velocity and pitch bend.
MIDI is also built around the western scale, with no real accommodation for other tuning systems. We're forced to use the crude bodge of sending a note on message immediately followed by a pitch bend message; MIDI doesn't support per-note pitch bend, so you can't have polyphony and microtimbrality on the same channel. This is a fairly niche issue in the west, but it's a showstopper in a lot of other musical traditions.
OpenSoundControl addressed these issues and more besides, but it lacks widespread support because it was developed unilaterally rather than as an industry-wide collaboration. The spec is very powerful, but it just isn't very nice to work with. It's exciting to see that the MMA have a number of big players involved with the development of MIDI 2.0. We've been talking about fixing MIDI for a long time, but it seems like there's finally the traction to get a new standard widely adopted.
- dbattaglia 8y ago> MIDI is an 8-bit standard And considering one of those bits is used for status, it’s effectively 7 bits worth of resolution (128 discrete values is... not great for anything but maybe western scale note pitch values).
- TheRealPomax 8y agonot sure that's useful information to highlight how bad MIDI is, given that you can effectively get any frequency out of a hardware device that supports the coarse+fine channel tuning instructions. It's high time MIDI gets an update, but "I can't get my non-western scale out of this device!" is not one of the problems MIDI 1.0 actually suffers from.
- jdietrich 8y agoMicrotuning is a long way from being a solved problem in MIDI 1.0. MIDI Tuning Standard is sufficiently poorly implemented that there are several non-standard alternatives in widespread use. This is very much a "Falsehoods Programmers Believe About Names" type of situation - what western engineers perceive as an insignificant edge case is a constant frustration for many non-western musicians. The answer to the question "How do I play music from my own culture using electronic instruments?" should not be "Well, it's complicated...". Support for non-western scales should not be a clumsy, optional part of the spec. https://www.midi.org/articles/microtuning-and-alternative-intonation-systems https://www.midi.org/articles/microtuning-and-alternative-in...
- jzoch 8y agoAgreed. This reminds me of a few discussions i saw about unicode being silly and over the top and that ascii is perfectly functional. Non english languages can work around the spec!
- rebolek 8y agoTell how western-centric they were to those Japanese engineers from Yamaha, Roland, Korg and Kawai who worked on MIDI 1.0 specs.
- jdietrich 8y agoJapanese traditional music is primarily pentatonic or heptatonic and aligns closely to western 12-tone equal temperament. Contemporary Japanese music is entirely compatible with western music theory. That's a happy coincidence for a Japanese-American project, but it's distinctly inconvenient for Arabic, Persian or Indonesian musicians who use notes that have no useful equivalent in the western scale.
- djaychela 8y agoMost midi controllers support 14 but resolution using msb and lsb transmission - iirc this is part of the general midi specification, not a hack. I agree that there are plenty of things to improve on the old midi spec, but I think for a lot of people the issues are irrelevant - while physical midi is 31k, most people I encounter now use multiple soft synths in their DAWs, and aren't even aware of the original spec and speed of midi (unlike back in the day with multiple synths chained off a single midi output on an atari ST where it was definitely an issue). I remember zipi, which promised similar useful changes and came to nothing - I think for the vast majority of people midi doesn't get in the way of their work. Did mlan also promise similar improvements?
- ibigb 8y ago> MIDI doesn't support per-note pitch bend "MIDI Polyphonic Expression" and is a new MIDI standard created by us, ROLI, Apple, Moog, Haken Audio, Bitwig and others for communicating over MIDI between MPE controllers ... The principal reason for MPE is to get around a limitation of MIDI: Pitch Bend and Control Change messages must apply to all notes on the channel. This prevents polyphonic pitch bends and polyphonic Y-axis control (which uses Control Change messages) over a single MIDI channel. MPE solves this problem by sending each note's messages on a separate MIDI channel, rotating through a defined block of channels. Here's a brief summary of MPE: http://www.rogerlinndesign.com/mpe.html http://www.rogerlinndesign.com/mpe.html Today there seem to be work arounds, not that a new midi version would not work better, however.
- spamizbad 8y agoMPE is a bit of a mess. First, it requires a dedicated MIDI “port” per device, and two, you have latency issues since you’re sending a lot of control data over 31KBAUD. Then there’s the fact that many manufactures promise MPE support in their devices, but rarely in 1.0 firmwares... you either ship with it or wait 6 months for either a crummy implementation or a statement from the manufacturer walking back support. It sounds like a non-trivial software implementation task, especially on devices with resource starved I/O processors
- enqk 8y agoI think if you're doing MPE, you can afford USB-MIDI
- spamizbad 8y agoI could be wrong, but USB MIDI is still limited by the same bandwidth and latency constraints. I don't think it's any faster in terms of baud rate, despite being carried over a faster bus.
- enqk 8y agoUSB MIDI isn't limited by the constraints, because they're only about the legacy physical link
- agumonkey 8y ago> We tolerate MIDI, but it's really pretty terrible. It's ubiquitous, but it's just barely good enough to have avoided being replaced. sounds like C
- juststeve 8y agosounds like VBA
- boomlinde 8y ago> There are some pretty nasty workarounds being used to avoid zipper noise when you adjust a control parameter Workarounds, sure, but I wouldn't call it a nasty hack to simply interpolate between the discrete MIDI steps. > There are various hacks to send 14-bit control change messages NRPN is part of the standard and allows 14-bit control messages, so no hacking required. > MIDI is also built around the western scale, with no real accommodation for other tuning systems. There's the MIDI Tuning Standard since 1992, so there is a standardized accommodation for other tuning systems, and a bunch of synthesizers that implement it. Just not part of the MIDI 1.0 standard itself. > OpenSoundControl addressed these issues and more besides, but it lacks widespread support because it was developed unilaterally rather than as an industry-wide collaboration. IMO OSC probably lacks widespread support exactly because it doesn't specifically address most of these things. It's a protocol for sending timestamped and namespaced data over a network, and anything much more specific than that is just a matter of ad-hoc convention. It solves getting high precision data to devices in a timely manner, but it doesn't address the issue of getting a client to play a note. In general I think that MIDI 1.0 just being tolerated is a great way to summarize the situation, and I'm glad that actual MIDI 2.0 implementations are seemingly around the corner.
- wazoox 8y agoThe physical layer operates at exactly the maximum throughput then available on an Apple II serial port.
- timc3 8y agoI love MIDI, its pretty much a universal standard. Every device I need it on has it (my modular is the exception for sound sources), and just a standard 5 pin DIN socket that is easy to solder. Yes, it could be better but I don’t just tolerate it.
- rytis 8y ago> We tolerate MIDI, but it's really pretty terrible. It's ubiquitous, but it's just barely good enough to have avoided being replaced. OK, what I'm going to say is not constructive, but, boy, how I hate this type of comments. Where were you 40 years ago? Why did you not prevent it from being terrible? What did you do to replace it with something better? Yes, it may be "suboptimal" by the 2019 "standards", but back then, I'm pretty sure, people put a lot of thought in to it and tried to make it as good as possible. Just because it looks childish on the current hardware does not make it "pretty terrible". EDIT: It's almost like complaining that 555 is absolute rubbish comparing to 8266 that can do sooo much more, and why just did they not come up with something better back then.
- jdietrich 8y ago>OK, what I'm going to say is not constructive, but, boy, how I hate this type of comments. Where were you 40 years ago? Why did you not prevent it from being terrible? What did you do to replace it with something better? I'm not saying that they should have come up with something better. MIDI was an incredible breakthrough in 1983, but it was designed in 1983. That's a very, very long time in technology. We've known about and dealt with the shortcomings of MIDI for decades, but it's difficult to replace a deeply-entrenched standard. MIDI has been pushed as far as possible without breaking backwards-compatibility, but it is now long overdue for the industry to move in unison and create something fit for the 21st century. Imagine if you dealt with lots of devices on a daily basis that had a 33kbaud serial interface. Would that kind of annoy you? Would you say "this archaic serial format is just great!". No, you'd be kind of cheesed off that you were stuck with it. MIDI 2.0 looks great. It's a really big deal for the electronic music industry. You can only usefully say why it's a big deal if you acknowledge all of the crummy, annoying parts of MIDI 1.0.
- zapzupnz 8y ago> boy, how I hate this type of comments And I'm not a fan of this kind, either. Yes, it might be unfair to poke holes in a standard from the 80s from a 2019 perspective, but it was GP's assertion that the MIDI standard was unsuitable to last as long as it did without an update. _That_ is what is being criticised as pretty terrible, and that's fairly clear from what GP wrote.
- 8bitsrule 8y agoThe physical layer operates at 3125 bytes per second which just isn't enough for anything more than a single instrument The typical MIDI 'instruction' requires 3 bytes. So, 1000 non-intense instructions per second. Not good enough for intense controller mods, but if the played 'instruments' do most of the work, that's over 80 ips (notes e.g.) for each of 12 voices. (Also that's 3125 bytes per MIDI input, of which you're welcome to use many.) Perfectly adequate most of the time ... and one reason that the original, genius design lasted this long. NOT to say that it isn't insanely great to hear this news.
- pier25 8y agoOTOH if MIDI is so terrible how come there are probably millions of tracks produced using it? Sure, it's old and outdated, but it does the job.
- beefman 8y ago> it's just barely good enough to have avoided being replaced The probability this is true for any system in use (software, natural language, tax code, home appliance...) asymptotically approaches 1 with its age in years.