[HN Gopher] Synth wars: The story of MIDI (2023)
       ___________________________________________________________________
        
       Synth wars: The story of MIDI (2023)
        
       Author : conanxin
       Score  : 120 points
       Date   : 2024-04-25 23:28 UTC (2 days ago)
        
 (HTM) web link (www.musicradar.com)
 (TXT) w3m dump (www.musicradar.com)
        
       | glimshe wrote:
       | MIDI 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 wrote:
         | More 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 wrote:
         | Midi 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 wrote:
           | > 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/
        
             | detourdog wrote:
             | I 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 wrote:
               | Sounds 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 wrote:
           | > 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 wrote:
             | Actually 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 wrote:
               | It 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
        
               | detourdog wrote:
               | Sounds like cousins to me:)
        
               | epcoa wrote:
               | Sure 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...
        
               | detourdog wrote:
               | I think I'm more focused on protocol similarities than
               | the pinout.
        
               | epcoa wrote:
               | Of which there are none because RS-422 is not a protocol.
               | And if you're talking about MIDI the electrical interface
               | part of the spec (ie what can actually be compared to
               | RS-422), not the protocol part, it is a point to point
               | isolated _current_ loop system - it is hard to be much
               | different than RS-422 a differential voltage multipoint
               | system.
               | 
               | That you can run the MIDI protocol over RS-422 is no more
               | notable than that you can run it over smoke signals or
               | semaphores. In practice almost every common short to
               | medium range interconnect has been used commercially for
               | MIDI at some point, including SCSI, Ethernet, bespoke
               | fiber in addition to what was already said.
               | 
               | https://www.rfc-editor.org/rfc/rfc4824.txt
        
               | xcv123 wrote:
               | They are not comparable.
               | 
               | RS-422 is a specification at the physical/electrical
               | layer.
               | 
               | MIDI is a protocol at the logical layer.
               | 
               | You can transmit MIDI over RS-422.
               | 
               | However you cannot transmit RS-422 over MIDI. That makes
               | no logical sense. Like saying you could transmit a
               | chicken sandwich over HTTP.
        
         | em3rgent0rdr wrote:
         | MIDI 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 wrote:
         | > MIDI should be studied by anyone interested in protocol
         | design
         | 
         | Absolutely. A shambles hopefully never repeated.
        
           | ZFH wrote:
           | I 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 wrote:
             | > 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...
        
           | BodyCulture wrote:
           | I 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 wrote:
             | Well, #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.
        
             | grobgambit wrote:
             | Anyone who posts that is an obvious idiot that you
             | shouldn't listen to about anything.
             | 
             | Just someone who either has nothing to do with music or
             | does but has an absolutely obnoxious personality that will
             | point out some meaningless detail in the specification.
             | 
             | It is just mind blowing that my 1997 Korg Prophecy and 10
             | year old Waldorf Blofeld are all linked up to my brand new
             | computer using the latest version of Abelton live with a
             | midi interface that I don't even remember when I got it but
             | its old too.
        
           | recursive wrote:
           | Probably won't be since MIDI 1.0 solved most problems good
           | enough. Even MIDI 2.0 after decades is mostly just increased
           | resolution. The only thing I'm aware of that's really missing
           | is polyphonic aftertouch.
        
             | duped wrote:
             | > Even MIDI 2.0 after decades is mostly just increased
             | resolution
             | 
             | The biggest change is that 2.0 is duplex which allows
             | devices to discover each other on the same MIDI network. No
             | more in/out/thru, it's all just one USB (or ethernet, or
             | wireless) connection from a device to every other device.
             | It also allows property exchange, which means devices can
             | exchange semantic information about their configuration and
             | parameters with each other.
             | 
             | On top of that, individual voices can now carry pitch and
             | control information, while devices can exchange tuning
             | information. That's a big deal for microtonal and non-
             | western music.
             | 
             | It would be hard to undersell how monumental MIDI 2.0 is as
             | a change from MIDI 1.0, but somehow the MMA manages to do
             | it by making it out to be "32 bit!" (which ironically, it
             | isn't - you don't get 32 bits of resolution in your CCs
             | with MIDI 2.0).
             | 
             | Where MIDI 1 can more or less express the pitch and
             | dynamics/timbre changes within a single piece of western
             | music, MIDI 2.0 can express almost everything you do within
             | a DAW these days, short of actual audio i/o.
        
               | b3orn wrote:
               | > you don't get 32 bits of resolution in your CCs with
               | MIDI 2.0
               | 
               | The standard (section 7.4.6) defines 32 bit resolution
               | for CCs.
        
         | makapuf wrote:
         | MIDI 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.
        
         | TazeTSchnitzel wrote:
         | I 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.
        
       | fyt2024 wrote:
       | MIDI? We used this to build a circular LAN and play computer
       | games against each other on the Atari ST
        
         | steve1977 wrote:
         | The 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 wrote:
           | I think the Atari's were also known for their MIDI timing
           | which I remember people talking more about in the 2000's.
        
             | steve1977 wrote:
             | Yeah 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 wrote:
               | That 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.
        
         | happyweasel wrote:
         | MIDI Maze :)
        
           | fyt2024 wrote:
           | Yes. Forgot the name but it was midi maze
           | 
           | https://en.m.wikipedia.org/wiki/MIDI_Maze
        
       | readyman wrote:
       | WARNING: Do not click. Website has autoplaying videos.
        
       | ksherlock wrote:
       | "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)
        
       | golergka wrote:
       | To be fair, CV/Gate is still widely in use, especially in
       | Eurorack world. You don't build modular synthesisers out of MIDI.
        
         | steve1977 wrote:
         | CV/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 wrote:
           | I 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.
        
         | worik wrote:
         | > You don't build modular synthesisers out of MIDI.
         | 
         | Yes you can. I do
        
       | somat wrote:
       | MIDI 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://computermusicresource.com/MIDI.Commands.html
       | 
       | 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 wrote:
         | Novation 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 wrote:
           | Web MIDI API and sysex messages more likely!
        
         | squarefoot wrote:
         | You 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/
         | 
         | https://www.elgato.com/us/en/p/stream-deck-mini
         | 
         | https://github.com/streamdeck-linux-gui/streamdeck-linux-gui
        
       | ajxs wrote:
       | Very 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
       | 
       | 1: https://github.com/ajxs/yamaha_dx97
        
       | memalign wrote:
       | In case anybody is in the mood to browse and listen to a MIDI
       | collection in their web browser:
       | 
       | https://chiptune.app/
        
       | everyone wrote:
       | "Imagine a DAW or plugin that only runs on a certain make and
       | model of computer." - Logic.
        
       | worik wrote:
       | Has anybody any use for, or used, MIDI 2?
        
       | morganw wrote:
       | > 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-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
       | 
       | * 1/4" 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
        
       ___________________________________________________________________
       (page generated 2024-04-28 23:00 UTC)