From the Mad Dog/Allison music collection... What's Missing In MIDI? By Chris Muir and Keith McMillen While MIDI has been a major boon to the keyboard player for the last few years, it is just now becoming a major force in the guitar world. Midi was designed to be a simple way to connect a remote keyboard to a synthesizer. It has grown (or mutated, if you prefer) into a fairly complete interface for keyboard-based synths, but it has severe limitations when applied to non-keyboard instruments, such as guitar or bass. The limits as we see them are: Pitch changes are tied to note changes. The inability to change the pitch of a note without causing a new attack can be very limiting. This is best illustrated by having, say, a percussive Hammond B-3 organ sound on your synth, picking a note, and then sliding up the neck. On a guitar, you hear one attack when you pick the note, and then the pitch smoothly rising in semitones. The synth, on the other hand, makes a new percussive attack every time your finger passes over a fret. Midi "congestion". This problem occurs when the amount of information is greater than the time available to transmit it. When presented with six decaying string envelopes and/or six channels of pitch-bend information, there may not be time to transmit all the data before a new update is needed. This can noticeably slow down the response of the synth to new notes and other MIDI information. It also affects the smoothness of a bend and amplitude changes, making a continuous effect sound choppy. These problems stem mainly from the fact that a guitar can do things a keyboard can't, such as: Slur notes. With MIDI it is only possible to turn a note off, and then re-attack on a new note. A guitar string can be picked once, and then many additional pitches can be generated by hammering-on, sliding, slurring, and so forth, but it is not always desirable to give each pitch change a new attack. Bend individual notes in a chord. A given MIDI channel only supports one pitch-bending channel, the pitch-bend wheel. A guitar has individual control of pitch bending for each note. When you play a chord on a keyboard and tweak the bend wheel, each note in the chord is affected equally. Guitarists can, and do, bend just one note in a chord. This is not possible over one MIDI channel. Change amplitude. A note played on a guitar has its own natural envelope that can be applied to the synthesizer, instead of (or in addition to) a peak velocity such as that generated by a keyboard. This is important because guitarists do things other than pluck a string and let it decay to silence. Techniques such as muting or palming strings provide unique sounds on the guitar, but it's not easy to transmit them over MIDI. If bassists slap and pop their strings, shouldn't the synth do its best to slap and pop in response? There is no standard way to make these amplitude changes over MIDI. Currently, there are a only few synths that deal effectively with advanced guitar controllers, including the Oberheim Xpander (as well as Oberheim's Matrix 12, and to a limited extent the Matrix 6) and the Yamaha TX 816. Such synths can "listen" to multiple MIDI channels in a Mono Mode (hereafter called Multiple-Mono). The Xpander has an envelope mode that allows playing in a legato fashion. To facilitate the use of guitar controllers with existing MIDI synthesizers, we propose the following software changes to the interpretation of MIDI protocol: Multiple-Mono Mode. Even a standard polyphonic synth could listen to several (six, for example) MIDI channels in a multiple-mono mode. All the notes could still sound alike, but there would be the individual articulation necessary for a guitar. This would allow bending of individual notes in a chord, etc. As this would probably entail only a software change, it wouldn't impact the cost of synths too much, and it would be a major advance for guitar synth players everywhere. Legato Interpretation. If a note is turned on in a given channel before the previous note is turned off, it is interpreted as pitch change only, not a new attack. This is currently available in the Oberheim Xpander as one of many envelope modes (single trigger). Velocity Update. A standard way to update the velocity of a note (how hard it's hit) without a new attack would be nice. Currently, velocity can only be transmitted when a note is turned on. Since velocity is almost always used to control loudness and loudness-related timbre changes, changing it with string envelopes would be ideal. The alternative method would be to send string envelope information over one of MIDI's Continuous Controller channels. Unfortunately, different manufacturers use these for a wide variety of things (pedals, footswitches, modulation wheels, etc.) with little or no standardization among them. Perhaps this could be made easier by some standardization of Breath Controller numbers. The bandwidth problem is a little more complex. To get more technical for a moment: the current crop of MIDI synths generally can't operate at full MIDI bandwidth, 31.25 kilo-baud. The baud rate is roughly equivalent to the rate that bits are transmitted in series; at 10 transmitted bits for every byte, it takes .3125 milliseconds to transmit a byte at 31.25 kbaud. Most MIDI commands are three bytes long. This works out to just under a millisecond for each midi command at full bandwidth. So at this rate, it takes about one thousandth of a second to turn a note on. The trouble is, while each individual command is sent at this rate, some time is needed between commands, often as much as two thousandths of a second. This might not seem too slow, but it only lets about 330 commands per second through the MIDI bottleneck, which can cause some slowing of response, especially when multiple notes are bent, for example. The amount of time needed between commands varies widely from manufacturer to manufacturer. Just speeding up the rate at which a synth can receive MIDI data to full bandwidth would be a big improvement. Even with this speedup, the real-time continuous signals a guitar can generate can completely fill all available MIDI time and more. As a side issue, it should be noted that sampling synths, as a class, are gettubg a few MIDI System Exclusive commands for general use. Maybe there should be a System Exclusive command or two reserved for guitar controller use. If a guitar controller could issue a standard System Exclusive command telling receiving sythesizers to "go into guitar mode" this would free guitarists from having to set up many somewhat arcane MIDI modes on their synths. The changes we are suggesting are simply software changes and standardizations that would not affect the price of the synth. However, they would greatly enhance its usefulness for guitar and bass players. ==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-== _ _ \ (_><_) And if you enjoyed this Text-file, Call: \_______[]_____ The Works "914's Text-file BBS" at (914)/238-8195 _\ 300/1200 N,8,1 1200 baud only from 6:00pm to 12:00mid ___________ \>\ 10 Megabytes on-line Anti-RBBS and Networks / > \ SysOps: Jason Scott & Terror Ferret / ======= (900) Text-files on-line! ----------------------------------------------------------------------------- The following names compose a monument to last forever in the electronic highway: Patrizia Bravi Alessandra Bravi Glenda Frank Marcelle Dumont Donna Reznik Valentina Bravi Britt Warner Jennifer Gruen --=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=-- Call The Works BBS - 1600+ Textfiles! - [914]/238-8195 - 300/1200 - Always Open