6 ms·
Synth wars: The story of MIDI (2023)
- glimshe 2y agoMIDI should be studied by anyone interested in protocol design. Very few protocols had its staying power - despite not being perfect for every type of music, it has done its job admirably for close to 50 years due to its simplicity and flexibility.
- T-A 2y agoMore like 42: MIDI was revealed to the world, on the Sequential Circuits stand at the NAMM show in January 1983 (precisely one year since Smith’s proposal got the brush off)
- detourdog 2y agoMidi being an “artist” tool places it more as a medium like paint. The artist was able to use it to build complex worlds. MIDI’s cousin RS-422 existed in a technical environment but probably enjoys as much use as MIDI but technicians have many protocols to choose from. the artist just needs to get it speak MIDI to feel in control and the artist generally has fewer stakeholders, which I believe helps maintain continuity of an implementation.
- kubielid 2y ago> Midi being an “artist” tool places it more as a medium like paint. I’ve used MIDI “as paint”. Written music using code to MIDI(1), and wrote “cross instrument” music, ie using my keyboard as drum machine. But these days MIDI is chiefly an archival method for me. Every time I touch my keyboard is recorded, is much smaller than a comparable audio recording, by design “forced fidelity” in the recording, the music is “searchable”, and I am able to pipe the MIDI format through transcription software (which would be near impossible from an audio recording today). (1) http://overtone.github.io/ http://overtone.github.io/
- detourdog 2y agoI worked on a project for the Chicago Symphony Orchestra. We mad a series of physical blocks that represented musical samples. The block each had a 1-wire iButton on the bottom to identify the block and context and play the appropriate sample. Because it was the CSO the biggest part of the budget went to sample cards that played instruments up to the conductors standard. Each exhibit could create a composition and play it back like a symphony.
- kubielid 2y agoSounds like a really cool project. Any links to the exhibit? Unsure if this comment was a refutation of my own or just a fun cherry on top anecdote, but in case I was unclear I was trying to say that “I completely agree with the shorthand of calling midi ‘paint’, AND here’s a cool use case that I think is fundamental to the technology but rarely held up as a benefit of said technology, namely archiving and assisted transcription of musical composition.”
- epcoa 2y ago> MIDI’s cousin RS-422 RS-422 is a differential electrical interface standard, while MIDI specifies both a current loop electrical interface and a high level protocol, the latter of which is probably its most defining characteristic today as MIDI can run over any serial interface. Today most commonly it runs over USB or its own current loop signaling, and has less commonly in the past been used over RS-232 or RS-422 from time to time. This is to say, it’s a stretch that MIDI and RS-422 are cousins. (Standard MIDI interfaces typically seen with the 5 pin DIN connector are not RS-422 if that is what you’re thinking)
- detourdog 2y agoActually it may have been I mixed up RS-485 and RS-422 the project I got this notion from was research in the mid 90's. I remember a project that I used either 422 or 485 as jumping off point for MIDI because I thought at the time that MIDI grew from the spec.
- epcoa 2y agoIt was probably RS-422, because RS-422 as a transport for MIDI back in the day was not uncommon as a desktop serial interface (like on old Macs and their lineage), but neither was FireWire later and now of course USB, that’s why I wouldn’t refer to them as cousins any more than USB and MIDI are. RS-485 is electrically similar (and in some aspects compatible) to RS-422 but with provisions for multi-point networks due to switchable drivers. The MIDI spec and the signaling is not related to either. https://midi.org/midi-1-0-detailed-specification https://midi.org/midi-1-0-detailed-specification
- detourdog 2y agoSounds like cousins to me:)
- epcoa 2y agoSure whatever, to be clear the RS-422 port on a Mac was a generic serial port not a MIDI port per se. If you were running a PC at the time you would often use the 9 or 25 pin RS-232 port for the same purpose (which is the same port used for a modem or some mice). A number of period devices would have a selector switch between RS-422 and RS-232 for a single 8 pin mini DIN input. https://support.roland.com/hc/en-us/articles/201951959-PMA-5-Changing-the-Hardware-Switch-settings-on-a-Roland-Serial-MIDI-Device https://support.roland.com/hc/en-us/articles/201951959-PMA-5...
- em3rgent0rdr 2y agoMIDI is just good enough for the vast majority of musical needs. Any more complicated and the protocol would have been too hard to implement on early computers.
- chrisjj 2y ago> MIDI should be studied by anyone interested in protocol design Absolutely. A shambles hopefully never repeated.
- ZFH 2y agoI was waiting for this comment :) I'm sure nobody expected it to live this long, as the grumbling about its various shortcomings must've started in the late eighties at the latest. The curse of good enough strikes again ...
- chrisjj 2y ago> the grumbling about its various shortcomings must've started in the late eighties at the latest. Disproof: https://www.muzines.co.uk/articles/midi-what-s-wrong-with-it/1398 https://www.muzines.co.uk/articles/midi-what-s-wrong-with-it...
- elihu 2y agoI've recently come into possession of a number of back issues of "1/1 - the Journal of the Just Intonation Network" from the 80's and 90's. It's interesting how much content was devoted just to the topic of figuring out how to use non-12-tone-equal-temperament scales on the MIDI instruments of the time. Most of one issue (volume 3 number 4 from 1987) was taken up with an article on how the author was able to reverse-engineer and modify the firmware of the Ensoniq Mirage to support the kind of microtuning he wanted.
- BodyCulture 2y agoI want to study it and understand what you mean! Would you please like to describe the shortcomings / problems you see and how it could be done better? That would be so helpful to us! Thanks!
- chrisjj 2y agoWell, #1: Don't put out an Implementation Chart template with Yes and No the wrong way around. If this doesn't sound serious, you had to be there.
- makapuf 2y agoMIDI as a non-proprietary, non-patented, non ad supported or privacy invasive protocol opened so many innovation from synth and others electronic musical instruments constructors or makers. We really need this type of candid innovation back.
- elihu 2y agoIt's great that it's an open standard, but I feel like the MIDI Association is kind of dropping the ball on openness. You have to register with midi.org just to read the specs. That's not a huge hardship, but it's kind of off-putting. It also feels like corporate behemoths are running the show. You can register as a site user for free and you can buy a SYSEX Id number for $240 a year, but to actually have a say in anything it looks like you need to be a corporate member. https://midi.org/corporate-membership-app https://midi.org/corporate-membership-app Most of the interesting advances in musical instruments these days seem to be coming from small companies making unusual products. Things like the Osmose, the Linnstrument, the Continuum, and so on. MPE serves that community decently well, but I feel like we could at least in theory do a lot better by ditching the piano-centric assumptions built in to MIDI and hashing out a new protocol as a community effort.
- TazeTSchnitzel 2y agoI think we are lucky it was created when it was. The temptation to make a much more complex and fragile protocol would have been harder to avoid if they weren't constrained by what could be cheaply and efficiently implemented on microcontrollers in the early 1980's.
- JKCalhoun 2y agoMIDI over CAN Bus. I like it.
- elihu 2y agoCAN bus would probably fix the latency/bandwidth issues with serial MIDI, and it side-steps the device/host problem and the short cable problem with USB. I'm in favor. (I'm actually working on a MIDI controller. It has a CAN bus interface in addition to serial MIDI and USB. I don't have anything to talk to over CAN bus yet, but it's sort of there for future development. I probably won't send actual MIDI over CAN bus, but rather a protocol yet to be designed that's sort of like MIDI but less piano-centric.)
- fyt2024 2y agoMIDI? We used this to build a circular LAN and play computer games against each other on the Atari ST
- steve1977 2y agoThe fact that the Atari STs had MIDI built in was the main reason that they were so successful as computers in recording studios (and that they were much cheaper than Macs certainly helped a bit as well)
- ladzoppelin 2y agoI think the Atari's were also known for their MIDI timing which I remember people talking more about in the 2000's.
- steve1977 2y agoYeah they were kind of known for that, although I personally think this was also a bit of a myth. Even back then there were add-on interfaces like the Steinberg Midex which used some kind of timestamped buffered timing, which was probably even better. And many synths actually had quite bad latency anyway. But for sure, having direct access to hardware and a non-multitasking OS made things much more deterministic "by default" and that was certainly an advantage for this use case.
- TheOtherHobbes 2y agoThat Atari didn't do anything special. The MIDI went in/out of a standard interface and the interrupt was - IIRC - on the keyboard line. Midex was a step up, because the messages were pre-buffered, which was a little quicker. But MIDI timing was pretty bad anyway, because the serial line was too slow. It was tolerable if you put every synth/drum machine on its own separate buffered line. But when you had four or five devices connected to a single MIDI out on the Atari - ha ha ha no. The absolute best timing resolution was around 700us, which is fine for single notes - although that didn't allow time for the steam age 8-bit processor in the target synth to wake up and notice it was supposed to do something. But when you had a four note chord, it never sounded truly tight. And if you added some aftertouch or mod wheel - oh dear. So you ended up with this weird cultural thing of music that was quantised and on-the-grid but also had quite a bit of timing slop. Big-name bands often used synchronisers and tracked each synth line to tape in a separate pass. USB over MIDI is much better because there's basically zero latency and everything (usually) works as it should.
- readyman 2y agoWARNING: Do not click. Website has autoplaying videos.
- ksherlock 2y ago"freeing for the first time the act of composition from the ability to play an instrument". I think the player piano, invented in 1896, might have something to say about that. There are modern recordings of piano rolls (eg, Scott Joplin) but I'm wondering if they were ever used like that historically (or in concert). You could make your own piano rolls or record a performance and edit out mistakes (eg, Scott Joplin)
- tanseydavid 2y agoThe master rolls for player pianos were made by actual pro players playing in real time. They needed to have the performance chops, even if they maybe were not the composer in every case. This quote about "separation of composition from performance" applies when you are working with a sequencer because the composer can "step-edit" the musical data note-by-note into the sequencer and then have the sequencer play it back in proper musical (real) time.
- golergka 2y agoTo be fair, CV/Gate is still widely in use, especially in Eurorack world. You don't build modular synthesisers out of MIDI.
- steve1977 2y agoCV/Gate is in use again. There was a time in the 90s when you actually kind of had to search for MIDI/CV interfaces. A popular one was made by Doepfer - who were also a strong force behind the modular renaissance with their A-100.
- timc3 2y agoI don’t think it was that hard. I remember them being around all the time, but maybe it was a European thing with them being readily available here.
- steve1977 2y agoI meant they were available, but not from many vendors… it was pretty much a niche product (and there was no Internet or Google ;)
- worik 2y ago> You don't build modular synthesisers out of MIDI. Yes you can. I do
- elihu 2y agoOne of the things I like about modular is that the v/octave CV standard imposes no assumptions on what kind of scale you're using. 12-tone equal temperament is pretty easy to use, but there's nothing forcing you to that scale if you don't want to use it. (Some modules and MIDI to CV devices have built-in scale assumptions, but it's not baked in to Eurorack modular at the protocol level.)
- somat 2y agoMIDI is pretty great, I am about as musically inclined as a wet rag, but I recently bought a bank of midi sliders as it was the cheapest way to get a bunch of dials, buttons and sliders. At first I was looking for libraries to interface with it. But after looking at the spec, it turns out midi is dead simple and designed to be easy for hardware to parse. Super easy to read and generate. So I am sitting here happily hacking away building the dispatch interface for this thing. The icing on the cake is that it turns out openbsd's sndiod includes a midi transport and control system. Which was just one less thing to worry about. https://www.akaipro.com/midimix https://www.akaipro.com/midimix https://computermusicresource.com/MIDI.Commands.html https://computermusicresource.com/MIDI.Commands.html http://man.openbsd.org/sndiod#MIDI_CONTROL http://man.openbsd.org/sndiod#MIDI_CONTROL Update: that was not a great commands introduction, here Are my thoughts. if bit 1 is set it is a command otherwise it is data. commands are split into two half bytes(nibbles?) the first 4 are what command it is(first bit is high so 3 bits or 8 commands) the second four are the channel. some commands have two following data bytes(low first bit remember) and some have one. The main exception is the system command. which is complicated
- dmix 2y agoNovation LaunchControl XL > akai midimix IMO Novation has a web browser editor for customizing the 8 midi banks, using what I assume is the web USB protocol so it can be customized on tablets too. It’s been a joy to use and set up custom workflows, you one for dawless, one for ableton etc.
- akx 2y agoWeb MIDI API and sysex messages more likely!
- squarefoot 2y agoYou may find also interesting the projects at ucapps.de, and on the commercial side, the Elgato Stream Deck which has FOSS support. http://www.ucapps.de/ http://www.ucapps.de/ https://www.elgato.com/us/en/p/stream-deck-mini https://www.elgato.com/us/en/p/stream-deck-mini https://github.com/streamdeck-linux-gui/streamdeck-linux-gui https://github.com/streamdeck-linux-gui/streamdeck-linux-gui
- ajxs 2y agoVery cool article! I had no idea that the idea to use a 5-pin DIN connector for MIDI came from the Japanese HiFi world. One very minor nitpick: 'Running Status' actually refers to a feature in the MIDI specification where multiple sequential messages of the same type can omit the 'status byte'[0]. Stupidly, I didn't know about this feature in the specification when I was writing the MIDI handling routine for a synth[1]. This introduced a bug that took me ages to squash. I was struggling to figure out why everything worked fine when playing notes from my DAW, but notes were getting stuck when directly connected to a synth. 0: https://midi.teragonaudio.com/tech/midispec/run.htm https://midi.teragonaudio.com/tech/midispec/run.htm 1: https://github.com/ajxs/yamaha_dx97 https://github.com/ajxs/yamaha_dx97
- elihu 2y agoThat makes me wonder how often one runs across a synth that doesn't support running status. I'm working on a MIDI controller myself, and that's a thing I probably ought to enable if I want the lowest latency. It seems the standard MIDI libraries that Arduino uses don't enable it by default, but it's a configuration option you can turn on, along with a note not to try to use it with USB[1]. [1] https://github.com/FortySevenEffects/arduino_midi_library/blob/2d64cc3c2ff85bbee654a7054e36c59694d8d8e4/src/midi_Settings.h#L56 https://github.com/FortySevenEffects/arduino_midi_library/bl...
- memalign 2y agoIn case anybody is in the mood to browse and listen to a MIDI collection in their web browser: https://chiptune.app/ https://chiptune.app/
- everyone 2y ago"Imagine a DAW or plugin that only runs on a certain make and model of computer." - Logic.
- fipar 2y agoThat’d match the analogy from TFA if it only ran on, say, a 2014 mbp, so while it’s true Logic runs only on macs or ipads (I guess just pros for the latter though I don’t know), I think it’s quite a stretch to say that’s a certain make and model of computer.
- worik 2y agoHas anybody any use for, or used, MIDI 2?
- elihu 2y agoI think the Lumatone uses MIDI 2.0, but I haven't actually seen one of those in person. I'm working on my own microtonal MIDI controller, and for now it makes more sense to just use MPE. Maybe I'll support MIDI 2.0 eventually, but I'm kind of waiting to see if MIDI 2.0 is a flop first.
- worik 2y agoIs MPE any goode? Any use? I understand never used it and I looked it up. Seems a lot of complication. It's it worth it?
- elihu 2y agoMPE is very useful if you want real time per-note expression and pitch control. (Basically, the less like a piano your controller is, the more useful MPE becomes.) It's possible to do that in plain MIDI 1.0 by using a separate channel for each note and using CCs, channel pressure, and/or pitch bend (that's basically what MPE does), but trying to get that to work with a wide range of synths is quite difficult because every synth implements MIDI a little differently. MPE standardizes that use case so it's much easier to have something that "just works".
- morganw 2y ago> Korg noted that the use of jack plugs to transmit the required signals would cause noise in the system. No more detail on this, but it was huge for MIDI not to end up "becoming a nightmare of endless fine-tuning better suited to electronics engineers than musicians" like CV/gate was. https://midi.org/midi-history-chapter-6-midi-begins-1981-1983 https://midi.org/midi-history-chapter-6-midi-begins-1981-198... spells it out in more detail: Mieda-san from Korg responds on behalf of the Japanese companies to the meetings at the 1981 Gakki Fair with Sequential and Oberheim and confirms the discussion that were they had at the Gakki Fair. • 19.2kbps is too slow • ¼” Jacks will have ground loop problems • There is no concept of synchronization, clock or the ability to start and stop sequences --- Ground loops are the bane of musician's lives and sometimes the mitigation is the end of their lives https://en.wikipedia.org/wiki/Ground_lift#Safety https://en.wikipedia.org/wiki/Ground_lift#Safety
- _spduchamp 2y agoI use MIDI in projects when I have to, but I usually lean on OSC because I can send it over wifi from a microcontroller and send floats. It just makes a lot of what I do so easy. That said, my stuff isn't very plug-n-play. Would love to see more development of new protocols like O2 and O2lite to build networked ensembles.
- tanseydavid 2y agoI remember going to Sequential Circuits on 1st street in San Jose (on my lunch hour) to buy a copy of the MIDI Specification (I think it was $10). Probably late 1986.