119 lines
7.9 KiB
Plaintext
119 lines
7.9 KiB
Plaintext
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
|
||
|