The Small Print (Part 1)
Reading MIDI Implementation Charts
If you regard MIDI Implementation charts as being indecipherable tables of numbers, you could be ignoring an easy way of solving your MIDI problems. Vic Lennard opens a series of articles on how to read the small print.
The ordeal of persuading two pieces of MIDI equipment to talk to each other can be overcome with MIDI implementation charts. This short series will help you understand and use MIDI charts.
DEPENDING ON HOW adventurous you like to be, using a new piece of equipment can take one of two courses; reading the manual thoroughly, getting totally confused and then turning the unit on and sussing it out practically, or turning the unit on to suss it out practically, getting totally confused and then reading the manual. Either way, the chart that can usually be found at the back of an equipment manual is hardly ever given more than a cursory glance, which is a pity because it offers the solutions to a variety of MIDI problems you're likely to encounter.
In an effort to improve the situation and your ability to quickly come to terms with MIDI gear - we'll take a look at MIDI implementation charts, how to read them and how to get the most out of them. The best way to treat this series of articles is to actually have a chart in front of you. Whether it be from a Casio CZ101 or a Korg M1 is irrelevant, they all look the same, don't they?
A MIDI IMPLEMENTATION Chart is a table showing all the MIDI aspects of a particular piece of equipment. The header at the top of the page should have the name of the model, the date the table was registered and the version number. This last piece of information is important because MIDI specifications are often altered from one version to another. The foot of the page should show the Mode definitions (which we'll look at in more detail later) and a key showing what signs are used to show Yes and No throughout the table. Standard procedure tends to be to use 0=Yes and X=No.
The table is divided up into four columns. The first of these is Function, which categorises all the possible MIDI applications and is followed by Transmitted and Recognised, showing the MIDI data which can be sent and received respectively by a MIDI device. In some cases, one or another of these will be of little relevance - for example, the "Transmitted" information for a synth module or the "Received" information for a mother keyboard. Consequently, certain of the entries may have N/A against them to signify their redundance. The final column is for Remarks, which may be necessary to expand on the comments in the table, such as the ability to alter certain settings from the unit.
Before we delve into each section's meaning, it is worth looking at the Notes area at the bottom of the table. This enlarges on any details which will not fit into the allocated space in the chart, and will often be used as a key for a number of asterisks shown throughout.
"BASIC CHANNEL" STATES which MIDI channels can be used, with the Default figure being that which is set when the device is first turned on. Most modern units will memorise the last setting and will allow access to all 16 MIDI channels, shown under Changed, though notable exceptions are the Yamaha DX7, which can only transmit on channel 1, and the Roland MT32, which, being multitimbral, will recognise channels 2-10 as standard or 1-8 and 10 if set accordingly.
There are four MIDI modes which specify how a device behaves when either generating or receiving MIDI note information and these are listed at the foot of the page. "Omni On" means that data will be sent/received on all 16 channels. This is generally not required, and so Modes I and 2 are rarely used. Mode 3, "Omni Off, Poly", signifies that more than one note can travel along a set MIDI channel and will be the default setting for most units. Mode 4 is relatively new in its implementation, being used mainly with guitar synths to allow each string to control a different MIDI channel and so permit the equivalent of polyphonic string bending. 'Default" will again show the active mode when powered up, while "Messages" will indicate which Modes are applicable to the device (some of which can be manually set from the instrument). "Altered" only applies to the Recognised column and shows what will happen if the device is asked, by an external command, to change to a Mode that it cannot understand. I suppose you could analogise this to asking a kettle to toast a piece of bread.
THE FULL RANGE of MIDI notes stretches from C2 (note number 0) to G8 (127), which is ten-and-a-half octaves, and to my knowledge, a commercial keyboard encompassing the complete span has not yet been built. For a keyboard, the Transmitted note range will include the use of any MIDI transpose features. Take, for example, the Roland MKB 200 five-octave synth controller whose keys range from Cl (36) to C6 (96), but has the ability to transpose by +/- 12 semitones. The range of notes the controller covers is actually CO (24) to C7 (108). The note numbers that can be recognised by the module will be shown on the chart, as will the True voice - the notes that the module can actually play. If this seems to be confusing, try sending a note from another keyboard to the Korg M1 outside of the range CO to C7 and the following will happen - the note will be received and recognised, but then transposed down in octaves until it is within the True voice range at which point it will sound. This is true for most synths.
Some controller devices will have a recognised note range included in the chart even though they have no internal sounds, because they can merge incoming data with that which is being generated internally, and transmit the resultant data via the MIDI Out port. Roland's Octapad and MPD4 are two such devices, although the former doesn't actually list this in the Implementation table.
A MIDI note consists of two parts: a note On (the data that accompanies the act of actually pressing the key) followed by a note Off (marking the release of the key). The former consists of three bytes, namely 9n NN VV, where "9" indicates a note On, "n' is the MIDI channel, "NN" is the note number and "VV" is the note velocity. All values are given in hexadecimal. A note Off can either be the same as a note On except with VV=0 or can commence with 8n to signify a note Off if velocity is going to be included - the faster you release the key, the higher the note Off velocity value. In the chart of a Roland GM70 guitar synth controller, a note On is written as; 0 9n, v= 127. where "0" signifies that note On velocity can be sent, "9n" shows the method used (Note on is always 9n), and "v" shows the available velocity range. Some keyboards cannot send velocity, like the Casio CZ101, which then shows v=64, or some other constant value. Similarly, other keyboards can have the possible range adjusted manually, such as the Roland MKB300, which has a small rotary switch on the rear panel, or only send part of the complete range - the Korg M1 transmits velocities between 10 and 127. Generally speaking, a velocity of less than 30 is practically inaudible.
Going back to the GM70, the note Off is shown as; X 9n, v=0 meaning that release velocity is not sent and that 9n, v=0 is the method used for note Off.
From the point of view of the MIDI module receiving this note information, the table will show whether it responds to note On and Off velocity and to what extent, if not all values are accepted. Few synths respond to note Off velocity, although notable exceptions are the Oberheim Matrix 12, Prophet t8 and the Akai S950 (which uses it to control the release time of a sample). The only problem here is that even fewer keyboards actually send note Off velocity, the new Akai MX76 being one (see review elsewhere in this issue).
Some modules have quite interesting details with regard to note On velocity, especially drum machines - Casio's RZ1 has three dynamic levels; mute (velocity 148), normal (49-96) and accent (97-127).
AFTERTOUCH DESCRIBES THE ability of a keyboard to send additional MIDI data by an increase of pressure on the keys of the keyboard after they have been initially pressed. Aftertouch takes two forms; Key Pressure - commonly called polyphonic aftertouch, which sends data for individual keys, so enabling notes in a chord to send different values - and Channel Pressure - normally just called aftertouch, which sends the highest value of pressure being exhibited on a particular MIDI channel.
Channel Pressure is by far the most common type of aftertouch and is implemented on most modern keyboards with the notable exception of the Roland MKB1000. It used to be a method for triggering the LFO (for modulation), but since the advent of the Roland D50, this practice has changed and many MIDI parameters can now be controlled on MIDI modules. These may include detuning, filtering and Breath control (TX81Z), although the specific uses are not always shown in the table.
Key Pressure has rather limited applications, which might account for the fact that few keyboards send it and hardly any modules can respond to it. In this respect, the Prophet VS is an oddity as it will handle Channel Pressure in the normal manner by having a particular function assigned to it, but will read Key Pressure as being modulation and ignore the note number that sends the information, so allowing one note to act as the equivalent of a modulation wheel - curious but certainly in keeping with the design of the VS.
Pitchbend appears to be a relatively straightforward function except that, being a 4-bit controller, it can technically take any value between 0 and 32,639. However, most pitchbend wheels generate fewer positions than this; a wheel with 9-bit resolution will move in steps of 32, which may seem to be large, but is sufficient to give the impression of a smooth pitchbend. Also, as pitchbend data is sent as two bytes, each carrying seven bits of resolution, some devices will only accept the second of these, called the Most Significant Byte (MSB). The Akai S900 is an case in point.
The range of the bend must be set on the receiving device and should be shown in the chart under Remarks, as should the resolution of the controller. Of course, certain modules will completely ignore pitchbend, like the Roland MKS20 digital piano. After all, the only way to bend a real piano would be with a crowbar.
Well, six functions covered and six to go. See you next month.