7 ms·
The recent video on MuseScore 4 has a fascinating (though simplified) perspective on how limiting MIDI is: https://www.youtube.com/watch?v=Qct6LKbneKQ&t=21m35s
by btown 4y ago
The recent video on MuseScore 4 has a fascinating (though simplified) perspective on how limiting MIDI is: https://www.youtube.com/watch?v=Qct6LKbneKQ&t=21m35s https://www.youtube.com/watch?v=Qct6LKbneKQ&t=21m35s
MIDI's issues in a notation context are twofold: non-standardization of controls for e.g. choosing articulations for string instruments, and an inability to communicate future information if known to the MIDI producer - say, for instance, knowledge that this Note On event is the beginning of a phrase that will last for 2 measures, as known to notation software.
There's a real way in which MIDI solved for communicating trigger events over the wire, but was not extensible enough to allow for further backwards-compatible standardization that would let it communicate music over the wire. By contrast, the web evolved from communicating hypertext to sending entire application environments and executable code over the same protocols. The web was born later, to be sure, but in an age where an Arduino can execute JavaScript, I wish we were looking to much more extensible modes of communication as inspiration for what can be done with interoperable musical devices.
- armadsen 4y agoI agree with you in general, but I think it's important to note that the web has evolved in a forwards incompatible manner. You can't hook up an older device/web browser to the modern web and have it work with modern web sites. In many cases (depending on how old) it doesn't even degrade gracefully. On the other hand, you can hook up a 40 year old MIDI keyboard to a brand new iPhone via MIDI and it just works.
- brudgers 4y agoTo be pedantic, a forty year old MIDI device will probably have a pretty poor MIDI implementation by the standards of five years later…e.g. the DX7’s MIDI is notoriously limited (and it is only 39 years old). But I get your point.
- Enginerrrd 4y agoI see your comment has been down voted, likely due to pedantry, but I wanted to let you know I appreciated it. One of the things I love about this site is the tremendous depth of otherwise obscure knowledge.
- brudgers 4y agoNot being the smartest person in the room is what has always brought me back. To me, the downvotes suggest the way the community is changing. I suspect I could have been just as pedantic without acknowledging it - and perhaps even aggressively argumentative - and been more appreciated by my readers. Probably leaving off the equanimious point-getting sentence would have improved reception. Anyway, MIDI was a ChatGPT of my youth and because I was gear aware when the DX7 showed up in music stores, now that I have empty nest adult money I have considered buying one and hence done some research. A fantasy largely abandoned after having bought and sold a handful of cheaper and lighter late 80's Yamaha MIDI instruments. For what it's worth, there is a somewhat rare third party upgrade board for the DX7's MIDI ports, and if the maximum you want to do is send and receive Note On/Off on a single channel a stock DX7 will be good enough. It just doesn't do most of what people expect MIDI to do even though what it does is pretty amazing for the price when it was released. Thanks for giving me an excuse to write.
- jacquesm 4y agoHm, I have a spare one here that you are welcome to but I believe you are on another continent?
- brudgers 4y agoNo. It is just what was going through my head compelling my pedantry. And what was going through my head as the downvotes happened. And as I read your comment. Then started writing. What happens when I have the time and mood to write. Self awareness is another thing HN gives me.
- fancyPantsZero 4y agoyou always have CCs, and if you run out of those, you always have sysex
- coldtea 4y agoAnd we already know, as those are the hacks we use and have used for years. They're still limiting tho for the intended purpose. And if you're not using CCs/Sysex in an ad-hoc way, e.g. if you can get VST vendors to agree on some semantics for those, then you've just built a new protocol layer on top of MIDI, only you did it as a kludge, with whatever was available as a "safety net for unknown stuff" from 40 years ago, and not a proper design...
- ajross 4y agoI haven't had time to watch that video (though I will), but that sounds to me like complaining that the USB HID standard lacks proper support for ametric poetry. It's... not for that. Given a standard for how instruments work, MIDI's a reasonably simple event structure to represent them. But the space of "what can you do with an 'instrument' to make music" is immense, and not feasibly susceptible to enumeration in a protocol like this. Music is art, and almost without exception every great musician ends up doing something that can't be represented by the algorithmic conventions of her ancestors. MuseScore has the disadvantage of trying to live in this weird world of "typeset music", which has (for centuries) tried really hard to pretend that this disconnect doesn't exist. But it does, and it's not MIDI's fault any more than it is the fault of whoever invented the drum roll or pizzicato strings or anything else that didn't have a pre-existing notation. Quite frankly MIDI isn't even MuseScore's biggest problem. Just look over the shoulder at any teenager playing with Garage Band with a big cacophany of effects and then ask "how do you put that in MuseScore". You can't, and you never will, and... that's probably a good thing.
- ilyt 4y agoThe typeset stuff was invented way before midi tho. Just that MIDI was really invented for electronic instruments and, well, most of them were notes generated by pressing keys and maybe a modulation bar or joystick. Hell, arguably you still could transfer a lot of those modulations via CC commands but you'd have to standarise on which exact CC change corresponds to what instrument's technique. That being said MIDI 1.0 clearly has a bunch of pain points (low resolution, no bidi communication making auto-config hard etc.) that are getting fixed in 2.0 but that just slowly started, so 1.0 is there to stay for a long time still.
- ajross 4y ago> The typeset stuff was invented way before midi tho. To be clear: that was the point. Typeset music notation has struggled to keep up with the physical expression of music[1] for hundreds and hundreds of years. There's nothing new about this problem, and it has nothing to do with MIDI. [1] And MIDI is just another such expression in this context. MIDI is absolutely not an attempt to reproduce typeset music, it's designed to capture electronic instrument behavior.
- ilyt 4y agoTechnically you could just employ CC to send extra info, say send CC with number representing how long the note will be, or the modulation type the note should get. We already have MPE abusing standard a bit to have per-note bending and such. The biggest problem in MIDI is IMO the fact there was no possible option for any standard negotiation between devices. You had MIDI IN and OUT, and at any time one or both could be connected to instrument/controller, you didn't knew where you were outputting it, and you didn't knew who send you control messages. That utter simplicity had benefits from interfacing perspective but it also made it impossible to expand the standard easily. There was no option for "MIDI 1.1" that would say improve some stuff but still had option to send MIDI "1.0" compatible signal if it detected that other side doesn't talk it. There was also no option for simple "tell me what CC 85 does on you" so every mapping between devices had to be done by hand or by loading someone's profile. It kinda had to be what it is, it was introduced in 1983 where extra transistors were pretty fucking expensive so simplicity of the protocol was huge benefit, I'm pretty sure simple MIDI keyboard could be implemented even with a bunch of logic chips without much problem.
- noizejoy 4y ago> no possible option for any standard negotiation between devices. While I agree for ease of designed use, I also think that’s one of the fantastic features of MIDI, because it makes it possible to use participating devices in novel ways, never anticipated by their manufacturers. For example, I sometimes use note pressure messages (a.k.a. polyphonic aftertouch) as a second set of 127 control change messages, rather than their documented design intent.
- ilyt 4y agoRight but you wouldn't need that hack in the first place in MIDI2.0 It does look pretty overcomplicated, but then the variety of use cases might be excusing it. Also the fact it has some kind of negotiation doesn't preclude doing clever things with it, just the fact you don't need to rename knobs differently for every single device you connect
- 4y ago
- jacquesm 4y agoThe most glaring one is that there is no way to encode rests, trills and other common meta data. Obviously, MIDI was meant for performance, not as a binary form to encode sheetmusic. There are some tricky ways in which you can augment MIDI though, for instance through creative use of the text fields.
- colanderman 4y ago> MIDI's issues in a notation context I'm surprised MuseScore is attempting to piggyback on MIDI to store sheet music. That seems like trying to typeset a book using Teletext.
- weinzierl 4y agoIf anything it speaks for MIDI that it is used for sheet music at all even if it was never intended to be.
- djur 4y agoThat's pretty much the conclusion the video makes. The context here is playing scores with VST instruments, which use MIDI as an interface. The solution they found was to implement a new interface suitable to their needs and an orchestral plugin compatible with that interface.
- Snarwin 4y agoMuseScore doesn't use MIDI to store sheet music; it only uses it for playback.
- Hasnep 4y agoTo clarify, Musescore doesn't use midi to store notation, it's used to send note information to VSTs for real time playback of the score. The new protocol sends the whole score in advance so better phrasing can be calculated.
- coldtea 4y agoThey're not trying to "piggyback on MIDI to store sheet music". They are trying to use MIDI to play the sheet music, with their built-in sample player, and with third party orchestral VSTs, but with less information loss about expressiveness...
- TheOtherHobbes 4y agoThose suggestions were literally unimaginable when MIDI was invented. Samplers barely had enough memory for a single sample, never mind GB of multisamples with countless articulation options. And semantic messaging - for phrases, etc - is a whole other level of complexity which has barely been researched, never mind implemented. MIDI 1.0's failings are much simpler - limited resolution, limited channels, and limited support for polyphonic expression. MIDI 2.0 has addressed all of those, but it's a bureaucratic monster of a protocol and I suspect it's not going to be popular. We could really have done with a MIDI 1.5 which kept the same message types but made them 16-bit instead of 8-bit, and also added some extra poly-start and poly-controller features. That would have been enough to open a whole new world of expression without adding a lot of extra complexity.
- TylerE 4y agoYou could get away from poly-anything with an essentially unlimited number of channels. Just use one channel per note, and banks like you currently use channels
- noizejoy 4y ago> MIDI 1.0's failings ... I generally agree with most of your points, although I'd prefer to call it "limitations". But even with those limitations, MIDI 1.0 has been used in numerous practical applications that have transcended the original use case concepts. From GM to MCU to MPE and many other things people have done at smaller scale or even just in their own custom setups. Sure, those are "hacks", but especially on this site, I'd consider that worthy of praise, rather than ridicule. To this day, thanks to MIDI 1.0, I can and do cobble very different pieces of hardware and software together to effectively create a highly individualized and therefore creativity boosting music making environment. > MIDI 2.0 has addressed all of those, but it's a bureaucratic monster of a protocol and I suspect it's not going to be popular. -- We could really have done with a MIDI 1.5 ... Yeah - MIDI 2.0 gives me a a vibe somewhat analogous to IPv6. But it's early days, so I'll wait how it plays out ...
- ajxs 4y ago> ...an inability to communicate future information if known to the MIDI producer... The video notes that MIDI just wasn't designed for this purpose. It was designed as a standard messaging protocol facilitating communication between the different RTOS's used in synthesisers. The fact that it became a standard format for digital musical notation was probably just an afterthought, albeit a pretty good one. I couldn't watch the whole video, however there are always MIDI control codes which can be used for the kind of meta-information they're talking about, like specifying Staccato, or Tremolo.
- TylerE 4y agoThe issue isn’t that you can’t use CCs for that. It’s that no two sample libraries agree on what they should be, or even what they are. I’ve seen high end libraries with multiple staccatos, for instance.
- TylerE 4y agoMIDI is great for live performance and terrible for most anything else.
- pclmulqdq 4y agoAnd only really for synthesizers and other keyboard instruments.
- TylerE 4y agoLots of other uses. Almost all lighting rigs are running MIDI, for instance.
- ace2358 4y agoHuh? I thought that was dmx? I wish midi was used for more things. Like I wish it was easy to map a dj controller to Final Cut Pro using midi. Or to studio one for photo editing. I don’t know how to do that right now.
- smcnally 4y agoBlender and OBS can use MIDI controllers https://github.com/JPfeP/AddRoutes https://github.com/JPfeP/AddRoutes https://obs-midi.org/ https://obs-midi.org/
- noizejoy 4y ago> I wish midi was used for more things. There are utility programs, that allow you to trigger and/or script keyboard and/or mouse actions et. via MIDI. So it becomes entirely possible to use a hardware MIDI controller to control a variety of software allowing lots of key commands. I currently have a a few such pieces of software on my Win10 system: CoyoteMIDI, Extended Expression, Bome MIDI Translator p.s. However, I'm not up-to-date on the state of such software on MacOS or Linux.
- newcup 4y agoIf you’re an Emacs user and you lost your keyboard, no worries. Just plug in your midi accordion! https://twitter.com/ykarikos/status/1038145486618861573 https://twitter.com/ykarikos/status/1038145486618861573
- robotresearcher 4y ago> MIDI's issues in a notation context MIDI is not a notation protocol. It's a stream of real time events (plus sysex metadata). Let's evaluate it that context.
- hansihe 4y agoBecause MIDI is commonly used in a notation context, and its limitations in that context are very commonly encountered by users, I would say a discussion about those limitations is very relevant and interesting.
- coldtea 4y ago>MIDI is not a notation protocol. Which is irrelevant as an observation. The context here is not whether MIDI is a notation protocol or good for notating purposes, but about using MIDI to play the music in a notation app. And the problem is that MIDI can't transmit and take advantage of the extra information a notation program has access to about the piece. That's a problem with MIDI 1.0 EVEN outside a notation context. The limitations under notation program use of MIDI to play orchestral music, are also limitations of MIDI itself for things that would be very handy to have under many more contexts. Standard MIDI sequencers for example, can't send messages about "playing mode" with semantic purpose, and resort to hacks (sending a simultaneous out-of-range MIDI note with your actual MIDI notes to signal a specific expression like pizzicato to a VST sample player), each done in its own ad-hoc ways (including CC, custom notes, abusing channels, and so on), and requiring ad-hoc mapping for every new VST, even for common shared attributes.