[HN Gopher] Microsoft opens MIDI 2.0 repo
       ___________________________________________________________________
        
       Microsoft opens MIDI 2.0 repo
        
       Author : anigbrowl
       Score  : 132 points
       Date   : 2023-06-28 16:16 UTC (6 hours ago)
        
 (HTM) web link (devblogs.microsoft.com)
 (TXT) w3m dump (devblogs.microsoft.com)
        
       | saintradon wrote:
       | I wonder what took so long. Maybe it's partially due to midi
       | being perfectly fine for 90% of its use cases. Still, seeing
       | "midi 2" legitimately announced reminds of that meme of "Music 2"
       | being announced.
        
         | jrajav wrote:
         | It's mainly getting more traction recently thanks to the push
         | from MPE gaining more popularity. MPE improves on MIDI in
         | several crucial ways, mainly allowing for much better
         | polyphonic parameter controls. However, it's also kind of a big
         | hack internally, hijacking things like MIDI channels to work
         | properly. MIDI 2.0 is largely a response to the proven need, to
         | clean all that up and back the effort up to full industry
         | collaboration (where MPE was a proprietary push from the likes
         | of Roli).
        
           | Eduard wrote:
           | MPE = MIDI Polyphonic Expression
           | 
           | https://www.midi.org/midi-articles/midi-polyphonic-
           | expressio...
        
       | Dwedit wrote:
       | Some people read the word "MIDI" and immediately think of music
       | played back using the Microsoft GS Soundfont, and absolutely
       | nothing else. But MIDI was meant as a protocol for instruments to
       | talk to sequencers, synthesizers and PCs, rather than a playback
       | format for audio.
        
         | DaiPlusPlus wrote:
         | Yes, but canyon.mid and passport.mid will always have a place
         | in our hearts <3
        
           | netsharc wrote:
           | jazz.mid for me! https://www.youtube.com/watch?v=UYcW_ux2tas
        
       | rakah wrote:
       | I sure hope it finally supports MPU-401 style intelligent mode!
        
       | cachvico wrote:
       | What are the major features of MIDI 2 over MIDI 1?
       | 
       | Does MIDI 2 have broad vendor buy-in? We all know about
       | Microsoft's history here.
       | 
       | Is MIDI 2 a good thing overall?
        
         | anigbrowl wrote:
         | MIDI 2 has huge vendor buy-in. MS isn't leading the charge,
         | Google and apple are supporting it too. I posted this because I
         | thought the repo might be more immediately useful than the pure
         | specifications, which were released a few weeks ago.
        
         | jrajav wrote:
         | It has broad vendor buy-in from the vendors that matter much
         | more than OSes: Instrument manufacturers. Yamaha, Korg, and
         | Roland all demo'ed MIDI 2.0 prototypes at NAMM recently.
        
         | [deleted]
        
         | CharlesW wrote:
         | > _What are the major features of MIDI 2 over MIDI 1?_
         | 
         | "What Musicians & Artists need to know about MIDI 2.0":
         | https://www.midi.org/midi-articles/what-musicians-and-artist...
        
         | duped wrote:
         | There's some boring/obvious QoL stuff like expanding the notion
         | of channels into groups + channels (16 groups of 16 channels in
         | MIDI 2 instead of the implicit single group of 16 channels on
         | MIDI 1), better synchronization messages, higher resolution
         | control changes/velocity/aftertouch, polyphonic control
         | changes, and so on. Basically the limitations of MIDI 1's 8 bit
         | protocol are being lifted.
         | 
         | But the big difference is that MIDI 2 is duplex (devices can
         | send and receive messages from each other, rather than just
         | broadcasting them into the void). This allows for discovery
         | (devices can find each other on the same connection/network),
         | capability inquiry (devices can get metadata about each other)
         | and the super power: property exchange (get/set properties as
         | JSON).
         | 
         | The reason the last bit is so big is because it fixes some
         | giant issues with MIDI, like being unable to control the tuning
         | system used by all the connected devices. With some conventions
         | and the new protocol we should see MIDI 2 open up a lot of room
         | for non-western and microtonalities without resorting to tedium
         | or hacks.
         | 
         | But that's just an example. It's kind of like a binary protocol
         | for hardware and software music devices that goes beyond basic
         | performance controls.
        
         | ilyt wrote:
         | Yes and yes, it isn't microsoft that started pushing it.
         | 
         | Biggest promises on top of better data types is actual device
         | discovery, so for example after connecting control keyboard to
         | a synth you can have the knob names automatically populated.
         | And no hacks needed to get MPE
        
         | pwenzel wrote:
         | And how does it compare to OSC (Open Sound Control)?
        
       | glimshe wrote:
       | MIDI is one of those things that work great in 80-90% of
       | scenarios, and very poorly on the rest. It's actually a lot like
       | other "good enough" technologies with enormous staying power. I
       | don't love MIDI, but I understand it and it "just works" for me,
       | so there is zero incentive to switch.
        
         | ganoushoreilly wrote:
         | It's great. I have a 8x8 motu midi rack that i've had for
         | probably 25 years, might be one of the only consistent pieces
         | of rack gear I've had.
        
         | mjr00 wrote:
         | yep. MIDI is great for a keyboard/piano interface with
         | velocity, pitch bends and a sustain pedal, maybe some filter
         | modulation if you're feeling frisky. But using it for guitars
         | and orchestras? Use the right keyswitch note to change the
         | articulation, use a different keyswitch to pick the "right"
         | note (since many instruments e.g. guitars have multiple notes
         | that play a C3), maybe the actual notes themselves don't make a
         | sound but instead shape a chord that can be strummed by a
         | separate strum trigger note. Oh and the dynamics of the sound
         | might be controlled by a CC, which shows up in Kontakt if
         | you're lucky and requires looking at the manual if you're not.
         | Oh yeah and none of this is standardized, so a Spitfire
         | orchestra library's keyswitch controls are entirely different
         | from EastWest. Fun.
         | 
         | Sounds like MIDI 2.0 will help with some of this, at least.
        
           | hospitalJail wrote:
           | Your comment about guitars is why I decided to continue
           | playing with guitars despite the EDM craze(and I love EDM).
           | 
           | The ability to create analog waves naturally is something
           | that I thought software would struggle with, or at a minimum,
           | be too difficult/time consuming.
           | 
           | It hasnt turned into anything useful, never ended up making
           | any public music, but as far as I can tell, I can create
           | weird sounding music faster than anyone with software.
           | 
           | I'm happily waiting for AI Music to turn my blah into fab.
        
           | ROTMetro wrote:
           | Aren't most musical scores these days all done in MIDI? With
           | the other option being to hire X number of musicians plus a
           | conductor? So seems like a pretty AMAZING thing that this 80s
           | technology is able to do what previously took a score of
           | people to do, and a use case that was probably not
           | considerated during it's creation.
        
       | xhevahir wrote:
       | Considering how hostile Windows has been to MIDI, I wouldn't put
       | much store by this. Working with MIDI on Windows is such a PITA;
       | the SoundFont player I used to use (VirtualMIDISynth) was
       | constantly breaking due to some change Microsoft had made to
       | their certification rules or whatever the hell, forcing me to
       | switch back to the ancient GS Wavetable thing that MS have never
       | bothered replacing. (Fortunately for me, my purposes don't
       | require high quality samples.)
        
       | masspro wrote:
       | I remember in the early 2010s sometimes excitedly checking the
       | MIDI Manufacturers Association's blog for updates on MIDI 2.0 and
       | seeing things like "great news! At this year's NAMM, industry
       | partners agreed to consider agreeing on considering MIDI 2.0 at
       | next year's NAMM!" I'm a bit out of the music game at this point
       | but it would/will be cool to encounter some new gear being made
       | with MIDI 2 support!
        
       | gdubs wrote:
       | When I was developing Polychord for iPad, I got very deep into
       | MIDI and one of my favorite things about the standard is how it
       | immortalizes manufacturers from the 1980s [1]
       | 
       | In the system exclusive message section you can find references
       | to Fairlight, Kurzweil, etc.
       | 
       | 1:https://www.recordingblogs.com/wiki/midi-system-exclusive-me...
        
       | zh3 wrote:
       | >Microsoft has gotten so much better with integrating and
       | supporting open source over the years.
       | 
       | Eh...integrating yes, support? And effectively declaring
       | themselves in charge of MIDI specs, hmmm ("...no longer under NDA
       | etc").
        
         | lockhouse wrote:
         | They own this one website that hosts a few open source projects
         | for free...
         | 
         | https://github.com/
         | 
         | Maybe you've heard of it.
         | 
         | In all seriousness, I would say that today Microsoft does a
         | better job supporting open source projects than most of their
         | peers.
        
       | anigbrowl wrote:
       | Fun fact: a much younger version of me started the push for this
       | 22 years ago
       | 
       | Edit: I don't want to make out that I spearheaded the project or
       | anything. I just spent several years politely bothering people at
       | music industry trade shows and on industry forums. All the heavy
       | lifting was done by other people.
       | 
       | https://www.soundonsound.com/people/sounding-36
        
         | jxramos wrote:
         | Can you share what precisely you were pushing for. How did you
         | phrase it to others at the time?
        
           | anigbrowl wrote:
           | It's literally in the linked op-ed article?
        
             | mort96 wrote:
             | Heh, I didn't realise you were the submitter of the
             | article. HN should probably mark that a bit more clearly
        
         | greenthrow wrote:
         | To avoid sounding like you're trying to take some credit you
         | might have phrased it:
         | 
         | "This is something I've been wanting for 22 years."
        
       | mort96 wrote:
       | Why's this a Microsoft thing?
        
       | delfinom wrote:
       | Man, I'm afraid to get banned by opening a GitHub issue but the
       | usb driver looks bad.
       | 
       | AMEI themselves wrote a clean Windows interfacing portion of the
       | driver. But they copy and pasted a MIDI driver meant for Arduinos
       | for message parsing
       | 
       | The code formatting is awful. you can't even follow nesting of if
       | statements properly in some places
       | 
       | https://github.com/microsoft/MIDI/blob/main/src/usb-driver/U...
       | https://github.com/microsoft/MIDI/blob/main/src/usb-driver/U...
       | https://github.com/microsoft/MIDI/blob/main/src/usb-driver/U...
       | https://github.com/microsoft/MIDI/blob/main/src/usb-driver/U...
       | 
       | Not something I ever want to see in a OS Vendor endorsed and
       | probably soon distributed by default USB Driver lol
        
       | hospitalJail wrote:
       | Yay MIT License!
       | 
       | Not sure if this is genuinely important, but always happy to see
       | humanity make a solid step forward with almost no chance of
       | regression.
        
         | lockhouse wrote:
         | I've noticed a lot of corporate sponsored open source projects
         | favoring the MIT license these days.
        
       | ranting-moth wrote:
       | Is this the official MIDI Association repo, hosted on MS org
       | github?
       | 
       | They make it sound that way: "We're opening _the_ repo! "
        
       | UtopiaPunk wrote:
       | MIDI rules. I love that I can hook up an old keyboard from the
       | 80s to my PC running the lastest flashy synth VST in a DAW. When
       | such keyboards were manufactured, personal computers were rare,
       | let alone DAWs. It's just neat to see technology stay relevant
       | and useful over decades, instead of becoming e-waste. Thanks
       | MIDI!
        
         | eweise wrote:
         | love the 5 pin connectors as well. Its like the 80s are still
         | here.
        
           | photonerd wrote:
           | Aren't they just standard 5-pin DIN connectors?
        
             | epcoa wrote:
             | Sure - that's very 70s to 80s Euro hi-fi though. I guess
             | most olds here associate it with the PC/AT clone keyboard
             | connector in the early 90s.
        
             | tremon wrote:
             | Standard 5/180 DIN connectors, yes. The DIN standard
             | specified the number of pins and the angle (arc) between
             | the first and last pin.
        
       | mikeInAlaska wrote:
       | My final project in a 1989 Electronics class was a MIDI interface
       | for the IMSAI 8080 PC. I had various instruments mapped to each
       | of the red/blue switches. Now thinking back about it, I wonder
       | how the heck I got any information on MIDI specs without the
       | Internet.
        
         | InitialLastName wrote:
         | You can fit enough of the MIDI 1.0 spec for a basically working
         | implementation on a single sheet of paper.
        
       | mikeInAlaska wrote:
       | MIDI 1.0 is 38 years old, I wonder if that is some kind of record
       | for a protocol standard. But, what about the years between with
       | MIDI over USB? Is that fairly called MIDI 1.0 still no matter the
       | transport mechanism?
        
         | jasonjayr wrote:
         | MIDI is very similar to RS232
         | https://www.compuphase.com/electronics/midi_rs232.htm
         | 
         | But RS232 dates back to the 60s
         | https://en.wikipedia.org/wiki/RS-232
         | 
         | > In telecommunications, RS-232 or Recommended Standard 232[1]
         | is a standard originally introduced in 1960[2] for serial
         | communication transmission of data. It formally defines signals
         | connecting between a DTE (data terminal equipment) such as a
         | computer terminal, and a DCE (data circuit-terminating
         | equipment or data communication equipment), such as a modem.
        
           | horsawlarway wrote:
           | Shout out to RS232, as an aside!
           | 
           | One of my very first experiences with coding was
           | communicating with devices over serial with RS232. 25 years
           | later it's mostly usb-adapters and 5v TTL converters instead
           | of the old school (in my day) db9 connectors. But I still use
           | it all the time for hobby projects.
        
           | dfox wrote:
           | MIDI is similar to RS-232 only if you conflate RS-232 (which
           | specifies voltage levels and physical connector) with
           | asynchronous start-stop serial, while that is the most common
           | application for RS-232, it can be carried over a lot of
           | physical layers and also RS-232 can carry synchronous serial
           | (which is a part of the reason for the DB25 with a lot of
           | "unused" pins).
           | 
           | MIDI physical layer is pretty much unique to MIDI and a kind
           | of an ugly, but cheap and reliable (when done correctly),
           | hack.
           | 
           | Edit: technically you can wire RS232 transmitter to MIDI
           | receiver and if both follow the respective specification the
           | Tx should not source enough current to blow the Rx
           | optocoupler. But it will generally not work the other way
           | around because in absence of said optocoupler the
           | relationship of the MIDI signal (which is a current loop
           | referenced to more or less unspecified potential) to receiver
           | ground matters.
        
           | ilyt wrote:
           | > MIDI is very similar to RS232
           | 
           | It wouldn't be wrong to say MIDI is protocol running on top
           | of RS232 (of specific config and bitrate)
           | 
           | In fact easiest way to get MIDI IN/OUT is using UART on
           | microcontroller + an optocoupler
        
         | Someone wrote:
         | Wikipedia says TCP is from 1974
         | (https://en.wikipedia.org/wiki/Transmission_Control_Protocol).
         | That would mean it turns 50 next year.
         | 
         | There likely are way older protocols in telephone networks.
        
           | Aloha wrote:
           | CAMA is one of the few I can think of thats still around.
           | 
           | SS7 is newer than TCP
        
         | anigbrowl wrote:
         | Yes. MIDI is the sequence data protocol, not the transport
         | specification. There are multiple alternatives to the basic, eg
         | Elektron had a proprietary system that gives ~10x better
         | speed/timing accuracy.
        
       ___________________________________________________________________
       (page generated 2023-06-28 23:01 UTC)