Please note that the view point here is of the writer and not necessarily that of the club or it's members.

MIDI has had it's day

The biggest obstacle in the way of synthesizer development, is MIDI itself. MIDI is now an inadequate means to control synths. MIDI is basically a seven bit system, which is why the maximum number of 128 keeps appearing (Programs, velocity steps, controller steps etc..), and only 4 bits were allowed for the channel, hence 16 channels, although the speed of MIDI would not really permit anymore channels anyway.

The original idea of MIDI was to control one synth from another, the concept of sending sys-ex and controller information from all the performance controls and synths with 64 note polyphony were just not considered in 1983 when MIDI was born. So today we make do with the basic MIDI system, in order to get more than 128 programs (many synths are now into the thousands of sounds now) the bank change was developed. The only trouble was that a standard has never been agreed. Yes- it was decided to use control 00 and control 32 to change the banks, but some manufacturers use control 00 and some use control 32 (Roland and Yamaha are the opposite for example, and the Quasimidi Cyber 6 only seemed to bank change with a Quasar or Technox). So basically, to get program changes above 128 is a bit of a mess. If MIDI was a 16 bit system, we would then have around 65,000 program numbers with no need for bank numbers.

16 channels has also proved to be limiting, so some instruments now offer 2 MIDI inputs giving 32 MIDI channels, but this leads to all sorts of complications, mainly because not all instruments have got 2 MIDI outs, but surely MIDI was supposed to be a standard?

In defence of MIDI, it does get blamed for problems that it is not responsible for. The best example of this is to do with delays. Yes with a lot of data going down one MIDI cable, it can all clog up and falter, however with one synth played live, MIDI'd to another two synths in a chain, there is unlikely to be ever a MIDI delay, the problem is that some synths cannot process the MIDI data quick enough, and so the music goes out of time. What is the fault of MIDI is with 16 parts coming out of a sequencer, with lots of controllers like poly aftertouch, mod wheel and control sliders all going, MIDI will stutter (or more likely, the sequencer just simply will not be able to get all the information out quick enough, as it has to work within the clock rate of MIDI). So MIDI does need to be quicker.

With real sliders appearing back on synths, we are now running out of spare controller numbers because there is not 128 controllers as you may expect. Controllers 0 to 31 were defined as LSB and controllers 32 to 63 as MSB. This theoretically allowed a 14 bit resolution for selected controllers, some synths use this for pitch and mod wheel data, but of course using 2 bytes of information will slow MIDI down by half. Some controllers are defined as switches (like 64 for sustain, 65 for portamento etc..), this leaves less than enough controllers spare. New instruments like the Roland JP-8000 struggle with this, as some of it's sliders send out controllers and some send out system exclusive. If MIDI again was 16 bit, there would be 65,000 controller numbers - that ought to be enough!

It was originally decided to allow manufacturers to do their own thing with system exclusive, this free for all was perhaps a mistake, there should have been a few rules laid down here. System exclusive is unique to each instrument, however the way in which the checksum (error checking) is calculated is very inconsistent, and some instruments do not use ASCII codes for their patch names. This all goes to make system exclusive very unfriendly, and most MIDI users will agree that system exclusive could have been easier. A lot of synths use system exclusive commands to do basic function changes, such as reverb types and mode changes. This was forced upon them because MIDI had no other way of doing it, in other words MIDI has inadequate control functions.

MIDI must go! Bring in MIDI-2, but what should it be? Well, it really has to be 16 bit to allow higher numbers, and it absolutely must go faster (anyone tried sending a sample over MIDI? it takes forever!). Another alternative, could be to use an existing system, like SCSI. This is a parallel system and can run very fast, and as SCSI controller chips are relatively cheap now, this should not be expensive to implement.

As for General MIDI - well that is another argument for another day.


If anyone would like to defend MIDI contact BSC.


(C) 1997 Bristol Synthesizer Club. No part of this web site may be copied, and all text is copyright. All trademarks recognized and belong to their respective owners. The Bristol Synthesizer Club logo is copyright and owned by BSC, Bristol, UK.