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!
wildzzz 670 days ago [-]
Its the same feeling working with old test equipment. They have these massive Centronics-style GPIB ports that you can either connect to a converter or an Ethernet adapter. The great part is that the commands from an old unit almost always work on a brand new unit with similar features. I had to use an old spectrum analyzer from the time before floppy diskette drives were common and moved up to a brand new one that ran Windows 10. I could directly connect to the Ethernet port and send the exact same commands to get my measurements.
eweise 671 days ago [-]
love the 5 pin connectors as well. Its like the 80s are still here.
photonerd 670 days ago [-]
Aren’t they just standard 5-pin DIN connectors?
tremon 670 days ago [-]
Standard 5/180 DIN connectors, yes. The DIN standard specified the number of pins and the angle (arc) between the first and last pin.
epcoa 670 days ago [-]
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.
anigbrowl 671 days ago [-]
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.
Can you share what precisely you were pushing for. How did you phrase it to others at the time?
anigbrowl 671 days ago [-]
It's literally in the linked op-ed article?
mort96 670 days ago [-]
Heh, I didn't realise you were the submitter of the article. HN should probably mark that a bit more clearly
greenthrow 671 days ago [-]
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."
gdubs 671 days ago [-]
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.
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.
mjr00 671 days ago [-]
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 671 days ago [-]
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 670 days ago [-]
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.
ganoushoreilly 671 days ago [-]
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.
mikeInAlaska 671 days ago [-]
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?
> 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.
dfox 671 days ago [-]
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.
horsawlarway 671 days ago [-]
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.
ilyt 671 days ago [-]
> 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
TCP/IP first entered into widespread production use on 1 January 1983, when ARPANET switched over to it from the earlier (incompatible) NCP protocol. The version of it adopted at the start of 1983 had been finalised in 1981/1982. Prior to that, it was only used on a research/experimental basis, which meant that incompatible changes were frequent.
Aloha 671 days ago [-]
CAMA is one of the few I can think of thats still around.
SS7 is newer than TCP
anigbrowl 671 days ago [-]
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.
wildzzz 670 days ago [-]
Depends on what you consider a "protocol". Morse code dates back to 1844 and is still in use. Hellschreiber is from the 1920s, still in use by some hams. You can downlink slow scan TV (1957) images from the ISS sometimes. Except for Morse code, a lot of the older protocols used by hams are mostly for novelty, legacy, and price reasons as they can be cheaply implemented into just about any computer ever made. Morse code still has use in the military as a backup system for long range communications.
masspro 670 days ago [-]
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!
cachvico 671 days ago [-]
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?
duped 671 days ago [-]
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.
CharlesW 671 days ago [-]
> What are the major features of MIDI 2 over MIDI 1?
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.
ilyt 671 days ago [-]
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 671 days ago [-]
And how does it compare to OSC (Open Sound Control)?
jrajav 671 days ago [-]
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.
671 days ago [-]
zh3 671 days ago [-]
>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 671 days ago [-]
They own this one website that hosts a few open source projects for free…
In all seriousness, I would say that today Microsoft does a better job supporting open source projects than most of their peers.
zh3 670 days ago [-]
By buying github, they got the ability to suck down all the code on it, at scale. If I understand correctly, it was then used for AI training - so perhaps more like open source being co-opted than supported.
xhevahir 671 days ago [-]
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.)
hospitalJail 671 days ago [-]
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 671 days ago [-]
I’ve noticed a lot of corporate sponsored open source projects favoring the MIT license these days.
Dwedit 671 days ago [-]
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 671 days ago [-]
Yes, but canyon.mid and passport.mid will always have a place in our hearts <3
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 671 days ago [-]
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).
Not something I ever want to see in a OS Vendor endorsed and probably soon distributed by default USB Driver lol
skissane 670 days ago [-]
> Man, I'm afraid to get banned by opening a GitHub issue but the usb driver looks bad.
I think the reason why you might get banned is because your tone comes across as harsh and non-constructive.
If instead of saying "The code formatting is awful", you said "I noticed the code formatting is a bit inconsistent and I'm not sure what (if any) code style it is following. Is there any way I can help improve this? Do you have a standard code formatting you follow, or any tools you've used to enforce code formatting? I've used X in the past, and I could contribute a PR to set you up with that, if that's something you are interested in" – nobody is going to ban you for putting it that way
mikeInAlaska 670 days ago [-]
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 670 days ago [-]
You can fit enough of the MIDI 1.0 spec for a basically working implementation on a single sheet of paper.
mikeInAlaska 662 days ago [-]
Thinking back about it. I believe the MIDI specs were in the Roland TR505 drum machine docs
mort96 670 days ago [-]
Why's this a Microsoft thing?
skissane 670 days ago [-]
Summary of article: The MIDI 2.0 standard has been under development. The standards body which develops it has the rule that all standards development happens behind closed doors, under NDA, but the NDA is lifted when the final version of the standard is formally published. Microsoft has been working on a new version of the Windows MIDI subsystem to support MIDI 2.0. Microsoft wanted to open source it, but until now couldn't due to the NDA. Now the standard is published, Microsoft is legally allowed to change the repo from private to public – https://github.com/microsoft/midi – and this blog post is to announce they've done that.
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
"This is something I've been wanting for 22 years."
In the system exclusive message section you can find references to Fairlight, Kurzweil, etc.
1:https://www.recordingblogs.com/wiki/midi-system-exclusive-me...
Sounds like MIDI 2.0 will help with some of this, at least.
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.
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.
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.
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.
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
There likely are way older protocols in telephone networks.
Yes, but 1974 TCP is completely incompatible with the current TCP. In the original 1974 version of TCP – https://datatracker.ietf.org/doc/html/rfc675 – they hadn't yet split TCP and IP out into the separate protocols. I'm not sure what is the earliest version which is interoperable with contemporary TCP/IPv4 – probably either the 1981 version – https://datatracker.ietf.org/doc/html/rfc793 – or the 1980 version – https://datatracker.ietf.org/doc/html/rfc761
TCP/IP first entered into widespread production use on 1 January 1983, when ARPANET switched over to it from the earlier (incompatible) NCP protocol. The version of it adopted at the start of 1983 had been finalised in 1981/1982. Prior to that, it was only used on a research/experimental basis, which meant that incompatible changes were frequent.
SS7 is newer than TCP
Does MIDI 2 have broad vendor buy-in? We all know about Microsoft's history here.
Is MIDI 2 a good thing overall?
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.
"What Musicians & Artists need to know about MIDI 2.0": https://www.midi.org/midi-articles/what-musicians-and-artist...
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
Eh...integrating yes, support? And effectively declaring themselves in charge of MIDI specs, hmmm ("...no longer under NDA etc").
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.
Not sure if this is genuinely important, but always happy to see humanity make a solid step forward with almost no chance of regression.
https://www.midi.org/midi-articles/midi-polyphonic-expressio...
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
I think the reason why you might get banned is because your tone comes across as harsh and non-constructive.
If instead of saying "The code formatting is awful", you said "I noticed the code formatting is a bit inconsistent and I'm not sure what (if any) code style it is following. Is there any way I can help improve this? Do you have a standard code formatting you follow, or any tools you've used to enforce code formatting? I've used X in the past, and I could contribute a PR to set you up with that, if that's something you are interested in" – nobody is going to ban you for putting it that way
They make it sound that way: "We’re opening the repo!"
They couldn't legally open it until now due to the MIDI Association's NDA.