[HN Gopher] How will MIDI 2.0 change music? (2020) ___________________________________________________________________ How will MIDI 2.0 change music? (2020) Author : kelnos Score : 92 points Date : 2021-10-30 19:28 UTC (3 hours ago) (HTM) web link (qz.com) (TXT) w3m dump (qz.com) | romwell wrote: | As long as it's 100% backwards compatible, including the 5-pin | DIN connectors, I'd be on board. No 5-pin, no game. | | More on this below. | | ---------------------- | | USB midi is one of the worst thing that happened to MIDI. If I | have a synth with USB midi and a controller with USB midi, I _can | 't connect them to each other_, which is idiotic and frustrating. | | The original MIDI spec had its drawbacks, but the biggest have | been addressed by MPE. | | As for latency, jitter, granularity -- as a gigging musician and | producer, I've never had any issue with it. It's good enough. And | most of the music you hear today is a reflection of that. | | What's not good, it's that some manufacturers are ditching the | 5-pin MIDI jack for USB or Bluetooth. Thanks, nobody asked. Same | for losing the THRU port. | | Because what musicians love is setting up their computer on stage | while everyone is waiting, right? | | Bidirectionality with MIDI can be achived by replacing the dual | 5-pin MIDI with the mini-DIN (yes, the same connector the old | PS/2 mouse used). Yamaha Tenori-On and and Reface series do that | (though again, nobody asked). | | And the entire NRPN space of MIDI is unused because it's | unstandardized. So simply agreeing on how MIDI 1.0 should be used | would address most of the problems that MIDI 2.0 claims to solve. | | That's what MPE does, by the way, and that's why it has been | silently becoming the de-facto standard. | | The examples I see in promotional videos show a computer talking | to MIDI 2.0 devices. We've had enough of that. What made MIDI 1.0 | work is the simplicity of device-to-device connectivity, | regardless of what the devices are (and whether one of them is a | PC). | | Think of this magic: if I have just ONE type of cable, I can | connect ANY device to ANY OTHER device. | | That means my Yamaha MX-88 I bought new last year can talk to | Korg Poly-800 made before I was born. | | I could have bought the cable in the 80s or yesterday, it's the | same cable. | | What MIDI 1.0 gave people is less thinking about how to connect | devices, and more about making music. | | USB midi did the same thing for _devices connected to a computer_ | , at the expense of being usable in a setup that _does not have a | computer_. That implicit assumption -- that everything will | involve a computer -- was flawed. | | WTF, I want to use my ROLI to play my Yamaha -- and I can't, | because ROLI is too "modern" to talk to _any_ hardware synth made | the same year. | | I hope that MIDI 2.0 avoids this fuckery, but I can't tell yet. | Bidirectionality looks sus. | | My litmus test is: if a device doesn't come with a 5-pin MIDI | jack while having space for it, it's a gimmick (Teenage | Engineering being an exception, because they make up for it with | analog control: my pocket operators sync with my Korg Monologue | via pulse, and Korg syncs with Yamaha over 5-pin MIDI). | | And if Korg Volca could do it, so can pretty much everything else | (hint: don't put it on the side, put it on the front panel if you | want that slim look). | | MIDI 2.0 can be a huge success if you wouldn't be able to tell a | MIDI 2.0 device from a MIDI 1.0 at a glance; i.e. same | connectors, same interoperability. Then it would be truly an | upgrade, a 2.0, and not "thing that works like MIDI in some | cases, but have fun buying dongles to connect old equipment to | new gear". | | MPE works on that model; and connectors aside, any multitimbral | device is MPE-compatible. | habosa wrote: | This 100x. I am just getting into all of this hardware and it's | so frustrating to need a computer in the mix just to get two | pieces of otherwise wonderful single-purpose hardware to speak | to each other. | 112233 wrote: | There is a dongle for that! They call it "MIDI host" | | Here's first search result: | https://www.midiplus.com.tw/en/product-detail/USB_MIDI_HOST/ | romwell wrote: | Oh fuck that. | | I know this full well. | | So now, you need an extra device (MIDI host) to connect two | devices, plus extra cables, plus _power supply_ , and have | fun if you need to set it up on stage in two minutes | between the sets. | | And good luck if _both_ the controller and sound module are | USB slaves. | | The device you linked does NOT solve this problem. | 112233 wrote: | And good luck finding something that plugs into your | computer's type C port without another dongle! What a | good time for making dongles we're living in! | romwell wrote: | You're going to make me cry :( | | Seriously, the _only_ dongle I found that _actually_ | solves the problem is CME WIDI Master[1] | | It's a 5-pin DIN - to - Bluetooth MIDI dongle that _runs | off MIDI power_ (i.e., just plug and forget). | | Brings you from the 80s straight into 2020s with no | noticeable latency, and no wires. | | That's how I actually connect my newer controllers (with | Bluetooth midi, which, thankfully, _does not require the | other device to provide power_ ) to old synths. | | Can highly recommend, 5/5, etc., but it's frustrating | that I'd need to go through Bluetooth and a dongle for | devices that could be linked with one short simple wire. | | [1]https://www.cme-pro.com/widi-master/ | romwell wrote: | Right? | | MIDI 2.0 sounds like a solution in search of a problem. | | MIDI 1.0 addressed the problem of _connecting any two | electronic music devices to each other_. | | MIDI 2.0 seems to un-solve it. | spicybright wrote: | One great thing about musicians is they're not forced into | upgrading things as fast as computer software. | | So hopefully the lack of sales for MIDI 2.0 only devices | will kill the protocol quickly. | zozbot234 wrote: | > USB midi is one of the worst thing that happened to MIDI. If | I have a synth with USB midi and a controller with USB midi, I | can't connect them to each other, which is idiotic and | frustrating. | | Isn't that what USB-C is for? | romwell wrote: | >Isn't that what USB-C is for? | | Nope. USB is master-slave ( _aka_ host-device); two slave | devices don 't talk to each other (nor provide power). | | USB-C just shoves this problem under the rug by making the | cables _look_ the same on both ends. | moogly wrote: | What about the venerable USB OTG? | 112233 wrote: | Like, can I connect two USB-C harddrives together to copy | data? Usually (except when mentioned loudly by the | manufacturer) USB midi devices are "device" devices, not | "host" devices | elihu wrote: | > "MPE works on that model; and connectors aside, any | multitimbral device is MPE-compatible." | | Technically that's not true. MPE adds a feature where you can | dedicate a channel as a sort of "multicast" channel where any | CC you send there affects all the other channels shared by the | same instrument. If the synth doesn't support that it won't | work. But it's possible to implement fallbacks that just do the | multicast less efficiently from the controller. | | I completely agree on USB though. It's awful that I can't just | plug a USB controller into a USB synth. | | (If there was going to be something to replace the old 5-pin | DIN cables my vote would be for CAN-bus. It supports faster | speeds, bidirectional communication, and can go pretty long | distances.) | nitrogen wrote: | _If I have a synth with USB midi and a controller with USB | midi, I can 't connect them to each other, which is idiotic and | frustrating._ | | Is there a universal MIDI router/multiplexer box with a whole | bunch of USB and MIDI ports on it? If not, would there be a | market for such a thing? | kennywinker wrote: | That'd be a midi host box. There are a few, tho mostly you | run into issues of complexity - they require too much | configuration to be useful / fun. | romwell wrote: | Yeah, and they _don 't work_ for the problem I stated: | | All the MIDI host boxes I've seen only have _one_ USB port, | so can 't be used to connect _two_ UDB-midi devices to | _each other_. | romwell wrote: | >Is there a universal MIDI router/multiplexer box with a | whole bunch of USB and MIDI ports on it? | | Nope. You can do this by plugging a USB hub into a | computer/tablet/phone, and running several MIDI interfaces | into the hub, so it's not an _unsolvable_ problem for the | musician, just a very clunky setup. | | Didn't find a single device with _multiple_ USB and MIDI in | /out ports after an extensive search. And the devices that I | did find cost more than the synths that they would connect. | | >If not, would there be a market for such a thing? | | There _is_ a market for a compact device like that, | especially if it can be battery-powered for live gigs, | remembers the settings, and doesn 't need a screen/external | device to set up the routing. | | Even something as simple as "Merge all IN ports, and send to | all OUT ports" would be great, and _there isn 't such a | thing_. | | Seems like most musicians who care about this simply don't | buy gear without 5-pin ports to begin with. | | But yes, I've been thinking about making this for years now, | and if you need a startup/kickstarter idea - go ahead, I'll | chip in. | dmoreno wrote: | Not exactly what you are looking for, but I created a web | interface for ALSA sequencer, which effectively makes any | raspberry pi what you are looking for. | | For old MIDI DIN you would need a MIDI adapter or use the | raspberry pi serial ports and some circuitry. Can be powered | by an USB powerbank for example. | | https://github.com/davidmoreno/aseqrc | | I also added to the mix rtpmidi | (https://github.com/davidmoreno/rtpmidid), and USB MIDI | gadget (https://github.com/davidmoreno/midiconfigfs) on the | PI, so then I can use the pi itself from one or several | computers via Ethernet and USB. | moomin wrote: | I wouldn't hold your breath on MIDI 2 guitar controllers being | better than MIDI 1. The fundamental problem is pitch resolution | and that isn't really addressed by having a better protocol for | representing pitch and intonation. | rnestler wrote: | > The fundamental problem is pitch resolution and that isn't | really addressed by having a better protocol for representing | pitch and intonation. | | But having 32 instead of 7 bits for pitch will give better | pitch resolution, no? Or am I misunderstanding something? | elihu wrote: | MIDI 1.0 has 14 bit (per channel) pitch bend, which is probably | fine. What MIDI 2.0 adds is per-note pitch bend, so you don't | have to dedicate a separate channel for every string, which is | awkward and un-idiomatic. (MPE at least standardized how | multiple-channel instruments should behave, but that was a | relatively recent development.) | strenholme wrote: | Now, I agree that MIDI 1.0 was designed for keyboard based | synthesizers, and I know that complaints about MIDI latency have | been around about as long as MIDI has been. So, yes, it has | always been imperfect. | | However, the _nice_ thing about MIDI is that it allows me to hook | up my 2020 /2021 synthesizer (a Behringer 2600) to a 1987 | sequencer (a Yamaha QX5), a 2015 synth (a Roland JD-Xi), or | pretty much any piece of pro synth gear made since 1983. | | Now, with MIDI-over-USB or what not, we lose something which | makes MIDI very nice: We can connect a hardware keyboard to a | dedicates sound module without having to have a computer | involved. While there _are_ USB host synths which one can connect | a MIDI-only-over-USB keyboard to directly, they are few and far | between (my JD-Xi has USB, as does my 2600 and Arturia Keylab | controller, but all three can only be hooked up to a _computer_ | with USB) | | Until MIDI 2.0 has a way to allow synths to be connected to each | other without involving computers, and there is a standard way to | do that (I think USB-C would probably be best for this), DIN MIDI | 1.0 will be a part of pro and bedroom recording studios. | 112233 wrote: | What happened to OSC? | romwell wrote: | The same thing that will happen to MIDI 2.0, I feel :D | spacechild1 wrote: | OSC hasn't really been designed as a replacement for MIDI, I | think. It is really a generic data communication protocol. They | only specified the syntax and omitted any _semantics_. As a | consequence, each application has to specify their own OSC | messages. And that 's what digital mixing consoles, lighting | consoles, DAWs like REAPER or computer music programs like | SuperCollider do. There really is no common ground between how | these applications use OSC. | | To make OSC a suitable replacement for MIDI, you would have to | come up with a set of OSC messages everyone can agree upon. | That's not likely to happen... | diskzero wrote: | What happened, as in why isn't OSC "MIDI 2.0"? | | The short story could be that the members of the MIDI | Association chose to pursue their joint specification to be the | next version of MIDI. | | The actual story will have to be answered by someone who | attended all of the various meetings that have occurred over | the last three decades about what the MIDI 2.0 spec will be. I | was only at a few. | nyanpasu64 wrote: | Replying to a past comment | (https://news.ycombinator.com/item?id=22188146): | | > - Violins come last, and it doesn't really matter because | they're lazy and they'll take a few hundred milliseconds to | really kick in anyway. | | I think the assumption that violins don't need strong | staccato/marcato attacks is wrong. I've needed it in the past, | and was unable to get it from soundfonts which only have slow- | attack samples. This issue is omnipresent in off-the-shelf | soundfonts, and I've also sometimes seen poor articulation in | music I've heard made using commercial sound libraries (which | I've never purchased or pirated so I can't judge myself). | | As an example of a piece suffering from slow attacks, | https://www.youtube.com/watch?v=ua5VJt6jkaU is a nice remix, but | feels sloppy because the flute, strings, and violin's 32nd notes | are barely audible (goes from attack to release without reaching | full volume) and smeared together. | bonestormii_ wrote: | Yeah, articulation should be standardized in the midi | specification. It's always a custom mapping to control it even | when proper articulations are available. "Oh cool, custom | mapping?!", you might say. Wrong. It sucks, because it tends to | make old old scores utilizing articulation unusable because the | mapping was stored in some obscure plugin configurations | divided amongst many plugins. | | It would be great if articulation messages were standardized, | and then you could just expect them to be there, and if they | are absent, the soundfont can simply fall back to the closest | thing available. That kind of helpful logic is not possible | with custom mappings. | dang wrote: | Some past related threads: | | _MIDI 2.0 Specifications Available for Download_ - | https://news.ycombinator.com/item?id=22411765 - Feb 2020 (35 | comments) | | _MIDI 2.0, first major overhaul to music interface standard from | 1983_ - https://news.ycombinator.com/item?id=22180731 - Jan 2020 | (105 comments) | | _Details about MIDI 2.0_ - | https://news.ycombinator.com/item?id=20007638 - May 2019 (147 | comments) | | _MIDI 2.0 Prototyping announced_ - | https://news.ycombinator.com/item?id=18946222 - Jan 2019 (195 | comments) | sillysaurusx wrote: | I just wanted to say, the next and prev links on comments are a | brilliant feature. Thanks! | frosted-flakes wrote: | And the "root" link. But since they are plain links they | pollute the History stack, which is a bit annoying. | dang wrote: | We're thinking about handling them in JS to avoid that. But | other users want it the other way. Might have to do a poll. | iainctduncan wrote: | It won't. It will make certain small elements of music making a | little easier, but there's nothing in Midi 2.0 that will | fundamentally change what we can or cannot do in a way that will | be noticeable in _music_ in a broader sense. Compared to | something like the advent of cheap digital recording, VST | plugins, of fast computers, midi 2.0 is a drop in the bucket. | | That said, I'm definitely looking forward to having it reduce the | number of hacky workarounds we currently deal with to get high | resolution data in convenient forms. Honestly to anyone not deep | into the weeds on this stuff it will be meaningless. | timc3 wrote: | You hit the nail 100% on the head there. I Couldn't agree more | with what you have said hence the comment and not just an | upvote. | IAmGraydon wrote: | Yeah I mean the feature that matters most is high resolution | MIDI CC so we can finally avoid stepping. It's great, but long | overdue and not really a game changer. | rutierut wrote: | There are a lot of claims in this article about MIDI1.0 that are | misleading at best, it makes it sound more limited & crude than | it is. Still it's indeed very nice to see some improvements here, | especially since some were transitioning to proprietary | communication protocols over HID. | prox wrote: | Of all technologies, I believe MIDI has been the most plug and | play experience for me. Plug a midi cable in, boot up a sequencer | and you are good to go. Really interesting to see what can be | done with MIDI 2.0 | throw_m239339 wrote: | That's all good up until you try to synchronize different MIDI | devices with their own sequencers. Even "voltage triggering" is | more accurate... | em3rgent0rdr wrote: | have you tried using | https://en.wikipedia.org/wiki/MIDI_beat_clock | TheOtherHobbes wrote: | The clock is not very accurate and devices have to | interpolate it. Which is something they all do slightly | differently, especially if the tempo changes - which | doesn't happen much in pop, but happens regularly in media | composition. | | If you're lucky the result will be in-time-ish, but it's | never going to be sample accurate. | | This actually matters for some applications, including | sound design. If you trigger two samples with a variable | offset you can get phase cancellation and other easily | audible effects. | | DAWs are sample accurate now, but 5-pin DIN MIDI 1.0 really | isn't. | em3rgent0rdr wrote: | Midi can plug-and-play so easily because there is no | handshaking. Every midi capable device has already agreed upon | the 31,250 serial baudrate and 8-bit data + 1 stopbit format | and the commands. | | The only occasional problem I'll experience with midi is if I | unplug before sending a note-off for a note, then that note | might forever be stuck on. | romwell wrote: | And even that is not really a protocol problem. It's trivial | for a device to implement "reset-on-disconnect". | squarefoot wrote: | The problem is that there is no such thing as a disconnect | signal, so a device can't know a cable has been pulled or | something in between has been powered off; if it happens | then the device is left hanging with a note on, and one | must find a way to send the relevant note off or the all | notes off message when communication is restored. Adding | such controls (aside the simple reading of the current loop | value that doesn't solve all problems) would require one | more layer which would translate in more complexity and | more latency. | | If I had to implement such things on top of an improved | protocol, I would likely also ditch the serial link, ignore | completely USB, and jump straight to Ethernet, which is | damn fast, near realtime, supported pretty much everywhere | (Ethernet switches would essentially work as MIDI Thru | boxes) and free of royalties. Devices in the same local | network wouldn't even need the transport and above layers | to work, so latencies would be extremely low, but adding | more IP stack layers would allow to remote things easily. | wtfrmyinitials wrote: | I was trying to write a program using midi last year and was | surprised by the lack of any libraries to work with it. Then I | looked up the spec and was able to get all the functionality I | needed with 10 lines of code interacting with /dev/midi. | Incredible how powerful such a simple interface is. | [deleted] | odiroot wrote: | Never mind what new features will come, I hope it'll always be | backwards compatible with MIDI 1.0. MIDI today is so universal | and so easy to understand, even on the very low hardware level. | LegitShady wrote: | Agreed. I have thousands of dollars of equipment using 5 pin | midi connectors that all use current midi. | | If new devices come out they're going to need to work with the | rest of my setup, or they're going to be a hard sell. | md8z wrote: | I don't see why someone couldn't make an adapter from 1 -> 2. | I think the other way around would be lossy and not | desirable. | pknopf wrote: | I don't know how it would be if they are switching from 8 bit | to 32 bit. | | I imagine most devices that come with MIDI 2.0 will have an | option to run in either 1 or 2. | Rochus wrote: | The physical layer is completely different; Midi 1.0 was a | current loop with DIN five-pin connectors; Midi 2.0 uses | Ethernet and Wifi. | LegitShady wrote: | The physical layer is the easiest thing to get an adapter | for. It's the logic and processing that is hard to make | cross/back compatible. | romwell wrote: | >The physical layer is the easiest thing to get an | adapter for | | Oh really? Riddle me this, then: a MIDI controller has a | USB port. A synth has a USB port. | | Connect the two without using an external power source | for the adapter ( _Hint: you can 't_). | LegitShady wrote: | You're actually proving my point, rather than disproving | it. Thanks, I guess? | romwell wrote: | What's your point? (And how do you define the physical | layer?) | | The _data_ transmitted over MIDI and USB MIDI is the | same, it 's not the problem. It's the same protocol. | | The problem is that MIDI OUT on a MIDI controller | supplies power, and USB midi out on a device _DOES NOT_ , | because it's a slave device. | | This a physical layer problem no matter how you slice it. | | Now go and read the question I asked again. | Rochus wrote: | I don't think that the new 32 bit packet based protocol | will run over the 31kBit/s current loop. | supernovae wrote: | MIDI 2.0 is going to have a tough road ahead of it to get any | adoption. | | MPE solved some expressiveness and didn't break the world... | throw_m239339 wrote: | No, because most MIDI capable devices couldn't be bothered to | implement the first version of the spec correctly even today. | spicybright wrote: | Do you have examples? | wackget wrote: | When XHR requests are blocked, the OP's URL returns a 404. | "Interesting" website design. | sharklazer wrote: | MIDI 2.0 has USB as a pre-req. I'm not sure how this improves | things. One of my chief complaints, and why I moved away from USB | to an all-midi setup is how interrupts are handled, making USB | sometimes unreliable, especially with large setups like mine. | MIDI just works and is pretty easy to implement. I've never | experienced a real limitation. Resolution has its workarounds but | honestly isn't all that limiting. | | What does 2.0 offer me that 1.0 doesn't? I know it has new | features, but I want a good argument for those features actually | being useful. | sova wrote: | Midi 1.0: 127 steps | | Midi 2.0: 4,294,967,296 steps | | https://www.midi.org/midi-articles/details-about-midi-2-0-mi... | romwell wrote: | Number big, protocol better! | | Ever heard of NRPN, my friend? | | There's a reason why this part of the MIDI spec is rarely | used. And the reason is that _the musicians don 't need it_. | | If you can hear stepping on your pitch bend or filter, it's | not because MIDI, it's because the implementation on your | device is stupid. | jmull wrote: | Yup. MIDI 2: solving problems musicians don't have and | creating new problems! (Excessive complexity -- MIDI 1 was | hard enough to implement. MIDI 2 is telling everyone to | jump 10ft high -- good luck with that.) | mrandish wrote: | I agree that many of the things in MIDI 2.0 don't seem | directly relevant to the bread-and-butter musicians, | composers, mixers, producers and DJs who are the ultimate | users. The numeric bumps in resolution, data and packets | are all conceptually fine but it's not like they are | addressing the standards gaps most holding back users and | forward innovation. | | Personally, I was disappointed they didn't even make a | stab toward addressing higher layers in the stack like | standardizing multi-channel mixing control beyond the | ancient 'defacto' Mackie HUI format or some attempt at a | framework for software plugins running on hosts to | display GUI on controllers (even something very | open/extensible ala HTML/CSS). That could have unleashed | waves of innovation from indie and smaller developers. | capableweb wrote: | > MIDI 1 was hard enough to implement | | MIDI 1 is one of the easiest protocols I've ever | interfaced with myself. Getting started on any platform | is easy, the API is not that large and it's relatively | straightforward. You can on Linux write bytes directly to | /dev/midi and get up and running really quickly, and the | specification is not that big. See | https://ccrma.stanford.edu/~craig/articles/linuxmidi/ for | some examples. | | What did you find hard in implementing MIDI 1? Would be | nice to hear the opinion for something I haven't heard in | real life (yet?). | nitrogen wrote: | If you're using only one 7-bit CC (and not an MSB/LSB pair) | to control a filter cutoff parameter that can range from | 20Hz to 20kHz, it's not possible to dial in the exact | frequency you want to match a particular harmonic. | em3rgent0rdr wrote: | On this matter I must say for playing music live that the 127 | steps provides a great deal of resolution. Good enough for me | that I have never felt like my EWI's breath sensor was not | fine enough or that my piano's touch sensor was not fine | enough or that a CC knob didn't give enough resolution when | turning slowly. Though if I listen closely to an isolated | note I could tell there was a difference in loudness between | two neighboring velocity steps, but probably couldn't tell in | a live performance setting, and I would challenge listeners | to see if they could tell the difference. I would say 127 | steps is "good enough" or almost is for practical | purposes...But that is just my datapoint and opinion. (For | comparison, the most common video format is YUV420, and that | averages to 12-bits per pixel, and most screen monitors use | 8-bits for each color.) Had MIDI used the top bit to flag an | optional extra byte for resolution, then that would have been | great. | jchw wrote: | Aside from increased resolution, one of the biggest | improvements is MPE. It allows controlling parameters on a per- | note basis. A side effect of this is making microtonal music | significantly easier to express, since you no longer need | multiple channels to do per-note pitch-bending. MPE support is | already probably more robust than MTS (MIDI Tuning Standard,) | although I could be wrong on that. | | Essentially: for traditional western music, it seems to just | offer better flexibility and precision, but it will make a huge | difference for microtonal music. Honestly, being able to adjust | parameters per-note simply makes sense. | | (I am not a musician, just a programmer who has dabbled in a | small amount of music software and protocols.) | romwell wrote: | MPE is not a MIDI 2.0 improvement. | | MPE is _already_ implemented with MIDI 1.0. | | The only limitation of using channels for MPE is that you | can't daisy-chain MPE devices... Which nobody really does | anyway (most of my gear doesn't even have a THRU port). | mrandish wrote: | MPE also enables increased expressiveness that new kinds of | multi-dimensional controllers such as the ROLI keyboards | leverage (new kinds of MPE controllers are shown at | https://www.midi.org/midi-articles/midi-polyphonic- | expressio...). While MPE is part of MIDI 1.0, many synth | manufacturers never bothered to support it since their MIDI | implementations were basically considered a "solved" problem | by product management. Many of them never even bothered to | support polyphonic after-touch except in their high-end | keyboards. | | Now with MIDI 2.0 support becoming a 'checkbox' item for | customers, all the manufacturers will need to revisit their | MIDI implementations in upcoming product releases (some | already have). I suspect many will use this as an opportunity | to increase input dimensions and expressiveness - which is a | very good thing for all of us users, even if they do so in | ways which may have technically been possible before. | m-hilgendorf wrote: | MIDI 2.0 is transport agnostic so it doesn't necessarily | require USB, however USB is going to be the best solution for | connecting many MIDI devices for awhile. | | The big underlying change is that MIDI 2 is duplex, which | allows for device discovery, property exchange, and profile | configuration. What that buys you is an arbitrary protocol for | exchanging information about what things are connected to each | other on the same network of devices. It should allow for a lot | of cool features, like supplanting Mackie Control and Eucon | with an open (or at least trivially open) protocol. One thing I | think we'll see with these is more support for microtonal or | arbitrary pitch systems that MIDI currently can't realize. | | Jitter compensation is built into the protocol too so it should | resolve some of the timing issues with USB. | | Having read through the spec and written the data structures | out for it already I'm not sold that it's overly complex. The | additional annoyance is that it mandates JSON parsing but that | isn't a tall order these days. | WhitneyLand wrote: | What would you have recommended instead of JSON? | m-hilgendorf wrote: | I think JSON makes a lot of sense. It's just orders of | magnitude more complex to parse into useful data structures | than MIDI1, or any other part of MIDI2. | | Since MIDI is already going the opposite direction of say | AES67 and reinventing wheels is ok, a custom binary | encoding would have made more sense to me. Something that | can be encoded in a C89 struct without a ton of trouble or | doesn't need much thought put into an allocator on bare | metal devices to get the handshake working. | | I believe it's not strictly JSON though, I don't have the | docs in front of me but iirc strings have a max length. So | that's good. | nitrogen wrote: | It's weird to put variable-length text-based serialization | formats into something that has to perform in realtime no | matter what, on potentially limited hardware. | jcal93 wrote: | I'm in your camp on this one. The new features are neat, but | MIDI 1.0 being stupid-simple is its killer feature to me. Plus | everything from the last 30yrs supporting it is a big plus. I | love that I can take my 1980s SuperJX and fit it right into my | setup with brand new stuff, and a brand new DAW, and everything | just works. | md8z wrote: | I don't know if I would call MIDI 1.0 simple in practice. It | has a lot of really confusing idiosyncrasies, it's definitely | got that feel of being a simple base that was organically | developed and had tons of things piled into it over the | years. The packet structure in MIDI 2.0 is a lot more... | consistent, I guess is what you could say? I don't think you | even need a state machine to implement it beyond the initial | handshake. | rkagerer wrote: | My biggest problem with MIDI is the latency & jitter introduced | by USB adapters (many computers these days lack a dedicated sound | card or even the space for one). Does the new spec do anything | about that? | bitwize wrote: | If you want MIDI without latency or jitter, you pretty much | need an old Atari ST. USB isn't the only source of latency (and | I believe MIDI over USB runs in a special mode that minimizes | latency). | em3rgent0rdr wrote: | And to be pedantic, USB is not officially part of the MIDI | spec, so that problem introduced by USB adapters isn't really a | problem with MIDI per se. | | If you really want to interface MIDI with a computer in a | fashion consistent with the original MIDI specs, then you can | use an actual Serial port at MIDI's 31,250 baud rate, which is | possible to do on a Raspberry Pi for instance (or on a computer | which you could set your baud rate to that). Then you can get | interrupts precisely when the MIDI notes arrive. | 999900000999 wrote: | The only issue I've noticed, and this might just be an iOS thing | is devices would randomly disconnect, I know it's not good for my | iPad but one day I found myself incessantly plugging in the | adapter over and over again to try to get it to work. It's at the | point where I'm tempted to go Bluetooth midi only when using my | iPad from music Creation. Which prevents me from using my full | size piano, first world problems | SeanLuke wrote: | I know that this article is meant for the general masses, but | it's rather misinformed in nearly every sentence it utters | regarding MIDI 1.0. That's a shame. | | I'm pretty bummed out about MIDI 2.0's prospects. The protocol | has been very slow to come out, and its design is ugly, | overcomplex, lumbering, and kitchen sink. It is nothing like its | predecessor. MIDI 1.0 was pushed by a single person with a small | coterie of contributors, and has the design elegance and | simplicity of such. But MIDI 2.0 has been wasting away for years | in a large committee, and reeks of it. | | MIDI has only a few, fairly easily dealt with problems: | | - It's too slow and has a fixed rate. | | - Its time sychronization mechanism is primitive. | | - Its data model is too low resolution both in value and | parameter space, and workarounds (NRPN etc.) unacceptably trade | off speed to fix this. The model also does not define | constraints, such as min/max values or categorical labels for | values. | | - Its parameters are global rather than per-note (resulting in | workarounds like MPE). | | - Its escape mechanism (Sysex) is too flexible and leaves too | many nonstandard design choices to the manufacturer. Because the | CC/NRPN data model is bad, manufacturers often have resorted to | layering custom and proprietary protocols on top of sysex, many | of which are very, very badly designed, and all of which are | different from one another. Indeed, some manufacturers have | lately treated their corner of MIDI Sysex as a trade secret, | using non-documented protocols (ahem Arturia) or profoundly | stupid and lazy sysex protocol designs (I'm looking at you, | Roli). | | This stuff is easy to fix. But 2.0 goes _far_ further, dumping in | two-way communication protocol options, device queries, ties to | existing, non-peer-to-peer protocols (USB) and lots of data | models that do not appear to be separable from the basic stuff. | What a hairball. Will anyone want to implement this? | romwell wrote: | Yes to all of this. MPE is good enough. | matchagaucho wrote: | The article fundamentally speaks to how industry standards led to | a proliferation of synthesizers and collaboration within the | music industry. | | The Metaverse, coincidentally, is at nearly the same crossroads | as MIDI in the early 1980's. | | Each vendor built their own hardware and defined their own | protocols. When Roland open sourced the MPU-401 chipset and gave | away the MIDI specs, the industry blossomed. | | Anyway, a lot to learn from MIDI... if Meta can similarly align | an industry around basic hardware, APIs, and formats. ___________________________________________________________________ (page generated 2021-10-30 23:00 UTC)