6 ms·
As a composer software engineer: all I can personally say is that MIDI is a pretty terrible protocol that's borderline unusable for everything except very limit
by gnulinux 3y ago
As a composer software engineer: all I can personally say is that MIDI is a pretty terrible protocol that's borderline unusable for everything except very limited applications. It's fine to use it for keyboard (piano, organ, celeste, harpsichord etc). For literally anything else it's useless and I see nothing in 2.0 that fixes it.
- shampto3 3y agoOut of curiosity what limitations do you find yourself running into when composing? I’m a songwriter myself, but my arrangements are probably too basic so I haven’t had any noticeable issues.
- echelon 3y agoWhy? I was under the impression midi was used for all composition. Is that wrong? If so, what do composers, EDM artists, etc. use? Something proprietary?
- lmpdev 3y agoSibelius I'm not a composer but I imagine .sib and PDFs I thought midi was more intended for live messaging between different instruments/controllers
- rewgs 3y agoYes, it’s all MIDI. People complaining about it are ignoring the fact that it’s beyond ubiquitous and has not required a change for literally decades. It’s a smashing success, warts aside. The dude replying to you with “Sibelius” apparently doesn’t understand that, like all other DAWs and notation programs…Sibelius uses MIDI, because of course it does.
- elihu 3y ago> "People complaining about it are ignoring the fact that it’s beyond ubiquitous and has not required a change for literally decades." It sounds like MIDI is meeting your expectations, but people who have different requirements might disagree. As an example, consider notating this in proper, exact just intonation: https://www.youtube.com/watch?v=I49bj-X7fH0&t=1s https://www.youtube.com/watch?v=I49bj-X7fH0&t=1s There are probably some composition programs that can do this, but MIDI is more of a hindrance to that task than a help. MPE is kind of a kludge, but it works decently well and it absolutely addresses a real use case. For a certain kind of user it was a welcome addition to the MIDI spec.
- singingfish 3y agoI hacked together a just intonation thing for a friend using midi notes for a friend using midi and puredata a while back. It didn’t take long - less than an hour. Obviously took advantage of pd’s implementation detail. The MPE presets I’ve messed with with some Roli kit have been fun.
- viraptor 3y agoNot the parent, but some limitations are that you can only really have events that describe channel/time/value. That's mostly fine for instruments like piano. But on a guitar you can pluck the string with a soft/hard object, close/far from the bridge, add vibrato to an ongoing note, etc. Sometimes it's enough to use multiple instruments with different characteristics to simulate that. Sometimes not. MIDI is fine for some instruments and for controlling few high level parameters. If you want to make music though, you'd go with a DAW instead which can start with MIDI on some tracks, but otherwise works with waveforms instead. There's also a difference between when you only compose, want to hear the idea put together and give musicians the sheets, and when you want to create the end result fully on your computer.
- hannasanarion 3y agoEDM artists work within the limitations that their tools provide. There's a reason that you hear synthesised/sampled pianos all the time in electronic music, but rarely synthesided/sampled guitars: midi sucks at expressing guitars. There are some really great guitar sample packs out there, I particularly love the Impact Soundworks Shreddage series, but just look at how much they had to mangle MIDI to make it feasible, with NINE (9) sections of the keyboard dedicated to mode switches, and chopping up the velocity space into five different articulation modes, and they still can't model unison bends which are a staple of classic rock guitar: https://www.youtube.com/watch?v=P2h9AmL2BhI https://www.youtube.com/watch?v=P2h9AmL2BhI edit: actually after double-checking, they do support unison bends, but it's a special CC parameter that you have to turn up to do the technique and then turn back down when you don't want it anymore, pretty hacky. The point is, you can't use MIDI to actually play these instruments like real guitars live, even though these sample packs can produce realistic guitar sounds, you need to do butt-tons of midi programming in ways that MIDI wasn't intended to be used in order to make it sound mostly right to the point where it's probably easier to just learn to play the instrument than put in the extreme effort of meticulously programming all this faff.
- rullopat 3y agoI use MIDI commands from a MIDI programmable pedal to change the parameters of my amplifier and to command my Fractal Audio amp modeler, for me it is very useable
- hdygdtfd 3y agomeh. it's perfect for what it was designed. lowish latency key input to/from quasi analog devices on the cheap. you can't get better than it. canbus is newer and worse. midi is so simple you have it anywhere without braking bank. midi is only bad if you try to abuse it for actual digital audio.
- elihu 3y agoWhat's worse about CAN bus? It seems like it would be a pretty good option if we were re-inventing MIDI in 2023.
- bandrami 3y agoI have a hardware hacker friend who did an LED bank that lit up based on MIDI signals with a decoder she wrote in verilog in two days. If it's more complicated than that it's just not going to take off among musicians.
- lmpdev 3y ago> It's fine to use it for keyboard Isn't that its intended use? I don't understand how you could use it for other categories of instruments unless you mean syncing their clocks? A midi guitar seems fairly non-sensical to me (they exist but aren't perfect) so how could we stardardise around something that's likely to completely change in 5-10 years? What features were you hoping for in 2.0?
- j16sdiz 3y ago> likely to completely change in 5-10 years? ...we have been saying the same in the past 3 decades. No industrial player is large enough to push this change. We need some very extensive backward compatible hardware and software to make this possible.
- elihu 3y agoFor electronic musical instruments, which in theory ought to only be limited by our imagination, it seems rather arbitrary and limiting to have synthesizers that can only be played like a piano. Users that just want an electronic piano are well served by the status quo, but "all music" is a broader category than "all music that is intelligibly playable using a piano-like interface in 12-tone equal temperament." The ubiquity of MIDI and its piano-centric design has meant that it's been a very uphill battle trying to do any kind of electronic music that isn't plain 12-edo piano music. That's a shame. We've lost out on a lot of interesting music that could have happened if it was just a little easier. MPE at least has made it reasonably possible for things like the Linnstrument to exist and be commercially successful.
- scns 3y agoI know it is different from what you want but Korg gives you the possibility to use other tunings on the Mono/Minilogue (XD) models. Aphex Twin made several availlable for download.
- hannasanarion 3y agoYeah, lots of synthesizers have that feature, but the problem is that it's accomplished "client side", by the synth. It recieves a MIDI message that says "Play me a D" and the minilogue in Werckmeister mode plays a D detuned by 6 cents instead. Crucially, it makes the instrument play something different than what the controller asked for. Unless your entire setup is composed only of Minilogues all configured in the same tuning settings, your electronic instruments will be out of tune with each other. Plug in an old yamaha because you like the sound? Now everything is out of tune. This isn't supposed to happen in a MIDI workflow. It would be much better to be able to specify tuning system in the midi messages itself, so that any instrument, hardware, software, or whatever, knows to make it's Ds 6 cents flat so your whole electronic orchestra can be in Werckmeister tuning together, instead of just the one minilogue.
- cramjabsyn 3y ago> For literally anything else it's useless and I see nothing in 2.0 that fixes it. Sorry, you must be holding it wrong. It is useful and flexible enough for countless applications. It was defined in the 80s and still used universally today, so objectively the opposite of useless and terrible. It is limited though.
- likeclockwork 3y agoI mostly agree, if you're talking about expression, though I thought MIDI 2.0 would improve the expression story. For anyone wondering about MIDI's limitations, here's a post by Roger Linn going into it a bit: https://www.rogerlinndesign.com/support/why-expression https://www.rogerlinndesign.com/support/why-expression > So why is this expressive touch control important? Because under skilled hands, the ability to capture subtle musical gestures enables more interesting and expressive solo performances than a MIDI keyboard's on/off switches. Consider a guitarist's string bends, a violinist's skillful vibrato, or a wind player's subtle breath control, all of which can't be authentically replicated on a MIDI keyboard. >In my view, the limitations of MIDI keyboards have resulted in electronically-generated music being used largely for background music
- wyager 3y agoWhen was this written? Isn't this kind of of solved by MPE (which I believe Linn makes use of)? We're starting to see several MPE-capable instruments hit the market. I have a pre-order out for the Osmose keyboard, which has per-key pressure and per-key (horizontal) pitch bend. If pre-release reviews are to be believed, it does a very good job capturing things like "a guitarist's string bends, [or] a violinist's skillful vibrato".
- scns 3y ago>> In my view, the limitations of MIDI keyboards have resulted in electronically-generated music being used largely for background music. Someone needs to tell Roger Linn about Raves i think.
- wyager 3y agoMy main complaints about MIDI are that: A) The full protocol seems to be proprietary to some degree. To access the official specs, I believe you need to be a paying member. There are other sources, but this is not an ideal state of affairs. B) The current protocol seems to be composed of dozens of random accretions on top of the original protocol. 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.
- duped 3y agoA) You just need to sign up with an email address. The docs are free. If you don't want to do that, you probably know someone who has access. B) There's a new binary protocol and a new pseduo JSON-rpc framework on top. If you read the free documents you would not come away with this conclusion. We're a long way removed from sending 7-out-of-8 bit messages along 3 feet of cable with optocouplers doing our decoding. It's like a weekend of work to write a MIDI 2.0 decoder for a massive amount of benefit. And it's transport agnostic.
- wyager 3y agoRe B, I'm not talking about MIDI 2 > a new pseduo JSON-rpc framework Is this supposed to make me feel better? The primary reason MIDI 1.0 is still in active use is basically that it did not do anything like this.
- jalk 3y agoMidi 1.0 is still in active, since they didn't change the protocol until 2.0 It's hard to see what you want: You can't be complaining about lack of physical interfaces not present on your hardware (the additional specs for Midi over USB, RTPMidi, TRS plugs and the 3.3v 5pin din) so are you sad that your drum machine doesn't play bagpipes when you switch to program #110 (General Midi) or that a Juno 106 doesn't magically add reverb when you crank up controller #91 (the suggestions for CC mappings) or perhaps you are trying to send samples to a Yamaha DX7 using the DLS standard? You are not really missing out though. I.e. you can still use the broil setting on your toaster oven even if your microwave doesn't support that. no-one is forcing you to use the lowest common denominator on every device.
- randyrand 3y agoHere’s a non exhaustive list of what midi (and the standard midi file format) does poorly, off the top of my head: - Control Change msgs are largely a wasteland of non supported features - messages are not uniform size, so you can’t read a midi file backwards for instance - the file format, usb format, uart format, and bluetooth format are all related but not fully compatible. Especially the file format which has meta messages that cannot be sent over bluetooth or uart, etc. - sysex messages are not packetized in the original spec, needing delay to send large messages - NRPN and RPN messages are another wasteland - same with system real-time, song changes, bank changes, smpte, all needless complexity no one uses. - the file format needs a chunk length written in the header, which is annoying to keep rewriting when recording continuously - the file format needs an “end of track” msg that needs to be rewritten again and again when recording to disk It’s fine for NoteOn and NoteOff. Most of the rest of it is pretty mediocre imo.
- elihu 3y agoHere's some more: - no way to play a unison without resorting to multiple channels - communication is one-way, so no standard way to query what CCs the synth actually supports - tuning table support wasn't part of the original spec (MTS exists but most synths don't implement it) - poly aftertouch exists but it's hard to actually use it effectively due to how it's implemented in keyboards and how the protocol is designed - 128 notes per channel isn't enough for some instruments without resorting to MPE - MPE addresses an important use case but breaks some MIDI abstractions (users have to know about "zones" instead of "channels") - it's possible to lose a "note-off" resulting in a stuck note - 31.25 kbps is slow by modern standards (USB is faster, but then you're stuck with short cables and the "what if neither or both devices are a USB host" problem) On top of that, I think it's a bad sign that midi.org requires you to login to download the MIDI 1.0 spec. What are they trying to accomplish by making it harder than it needs to be to just read a 40-year-old specification? I think it may be a good time for a new protocol that isn't based on the same fundamental abstractions as MIDI. Device compatibility isn't necessarily even that big a problem as long as cheap conversion devices to translate between protocols exist (though of course MIDI devices would be limited to what it's possible to express in MIDI). Instead of note on / note off, I'm imagining a bidirectional protocol where the controller explicitly allocates voice circuits, explicitly tunes them to a particular pitch, and then either triggers envelope generators or takes manual control of the envelope. For a physical layer I think CAN bus could be a pretty good option. It's meant for low-latency real-time tasks, it's supported by a lot of microcontrollers, the standard speed is 1mbps, and cable length can be very long at that speed (40 meters).
- aa-jv 3y agoYou must be doing something very, very wrong. Lets hear the special needs you have.
- coldtea 3y agoGiven that it has been used succesfully for 30+ years, for all kinds of musical applications (aside from keyboards - including all kinds of exotic controllers), in huge productions (Hans Zimmer level huge), I can believe that it is not optimally (or even badly) designed, but I find the above statement needlessly hyberbolic. It also (contrary to popular belief) supports far more finegrained granularity in parameters than 256 levels. Also MPE uses existing MIDI protocol (1.0) capabilities to map the polyphonic messages.