Axxess MIDI Mapper 2.0
This American MIDI processor is possibly the most sophisticated processor currently on the market. Matt Isaacson tries out its bewildering array of facilities.
Take processing to its ultimate extreme and you end up with a confusing but exhilarating black box that can take any MIDI message and convert it into any other.
THE MAPPER COULD be considered one of the most powerful MIDI tools yet to appear on the scene, or an incredible MIDI labyrinth designed to inspire a sense of humility if not outright bewilderment in synth programmers everywhere. To some extent it's both of these, but one thing is certain: it's not for the faint-of-heart. However, it offers great rewards for anyone able to rise to its challenge. Quoting from the manual: "The Mapper takes virtually any MIDI message, interprets it as virtually any other MIDI message, and then sends the interpreted MIDI message to any combination of the 16 MIDI channels. A map is an interpretation and MIDI-channelisation template for notes, switch and control information, patch changes, and system exclusive messages." Which pretty well covers MIDI.
FOR ALL THAT, the Mapper is singularly unimposing in appearance. Behind its 1U-high rack-mount panel is a black box scarcely half as wide as the panel itself. The panel sports only a 2X24 LCD and two switches labelled Main and Sub. On the rear panel are two MIDI Ins, two MIDI Outs, a footswitch jack and an RS232 computer interface port.
A typical Mapper setup involves sending the MIDI output of a master keyboard into MIDI In 1, and connecting slave synths to one or both MIDI Outs. The default output configuration is such that all messages intended for MIDI channels 1-8 are routed to Out 1, while messages for channels 9-16 appear at Out 2. A rather bizarre procedure allows you to change this so that messages for all 16 channels appear at both outputs.
The two MIDI Ins operate in MIDI-merge mode, however In 1 rejects all system real-time and system exclusive messages, while In 2 forwards all such messages to both MIDI Outs. The Mapper's internal memory is battery backed-up, but memory contents can also be saved to and reloaded using MIDI system exclusive dumps or text-file dumps via the RS232 port (which unfortunately uses a completely non-standard connector).
THE MAPPER HOLDS up to 127 maps. These are called up by sending correspondingly-numbered MIDI program change messages to the Mapper. Each map is built by a series of operations which define separate but interacting aspects of it. The operations can generally be performed in any order and there's virtually no facet of the Mapper's programmability which cannot be specified uniquely for each map. This even extends to allowing you to decide on a channel-by-channel basis, with respect to incoming MIDI data, whether the Mapper will perform its mapping magic, block the data altogether, or pass it through to the outputs unchanged (useful if a sequencer is being used as one of the MIDI sources). As nice as this capability is, it's somewhat frustrated by the fact that there seems to be no way to copy part of a map to another. But let's move on to creating maps and discovering exactly what the Mapper can do.
FOR EACH CHANNEL on which a slave synth is receiving, a key assignment map is built. This map determines, for each key of the master keyboard, the MIDI channel or channels on which that key will transmit. For the most part, the channel number of note or other messages coming from your master keyboard is discarded and replaced on a case-by-case basis with the MIDI channels given in the key assignment of the currently selected map. For example, you can create multi-zone keyboards where each zone plays on a different MIDI channel.
You're allowed to specify more than one zone for each MIDI channel, each of which can be any size. It's possible, for example, to use key assignments to do a multi-channel key-by-key interleave across an entire keyboard. In fact, there do not appear to be any limitations upon the way in which keys can be assigned to a MIDI channel, although if you get beyond five multi-key zones or eight single-key zones, the Mapper will display only those at the bottom end of the range. Zones assigned for a particular MIDI channel cannot overlap, but zones assigned for different channels can overlap in any desired fashion.
YOU CAN LEAVE it at that, in which case you'll be playing unmodified scales, possibly layered or interleaved on multiple MIDI channels, from your keyboard. Alternatively, you can go on to specify note redefinitions. This employs slave notes. Each key can have up to 16 slave notes triggered when it is played. The master note is simply the note that normally goes with the key, for example C3 for the C3 key, while the slave notes are a selection of other notes associated with the master note. In this way you can define chords or make a key play some pitch other than its usual one.
"Slave Notes: Slave notes can be used to define one-note chords or make a key play some pitch other than its usual one."
Slave note definitions for a single key can be copied to any other single key or range of keys with the interval relationships preserved, which is a big labour-saver. For example, if you specify key C1's slave note 1 is an octave higher, and then copy this to keys C1-B2, you have quickly created an octave-doubling zone. On the other hand, you can specify a unique set of slave notes for every key on the keyboard, subject to the none-too-limiting restriction that there can be no more than 880 note redefinitions in any one map. This amounts to 14 slave notes for each key of a 61-key keyboard (with a few to spare), or 10 slave notes for each key of an 88-key keyboard. It's one of the keys (if you'll pardon the expression) to the power of the Mapper.
THE PERMUTATIONS MADE possible by the key assignment and note redefinition functions are multiplied significantly by the Mapper's ability to channelise the note redefinitions. In other words, for each MIDI channel, you can tell the Mapper which slave note numbers are active, and whether the master note is active. Normal mode allows any combination of slave notes per channel (the default is that all 16 slave notes plus the master note are active on all channels). Channel mode associates each slave note with the MIDI channel of the same number - slave note 1 goes out on MIDI channel 1, slave note 2 goes out on channel 2, and so on. This mode is a subset of normal mode which is provided because it is bound to be used quite often, and so saves you programming work.
Two other modes, cryptically labelled S1M2 and M1S2, draw a dividing line between the master note and the slave notes, allowing the master notes to be played by MIDI In 1 and the slave notes by MIDI In 2, or vice versa. These modes seem to superimpose themselves upon the channelisation specified for normal mode, allowing interesting interaction between two separate MIDI controllers driving the same slave synths.
If all this sounds enticing but still vaguely incomprehensible, don't feel bad. The great thing about a device like the Mapper is that even when you've come to understand how it works and have developed techniques for conceiving and setting up interesting maps, there are still pleasant surprises in store for you when the programming is done and you start playing.
THE MAPPER LETS you specify an active velocity range for each MIDI channel. The "transparent" default is that all channels respond to the full 1-127 range. You can alter this so that each channel has its own range of velocities, which means any note you play is sounded by only one of your slaves, depending upon how hard you play it. Alternatively, you could have 16 velocity zones under each key. As with the note mapping functions, you're free to overlap the velocity ranges of each channel in any desired fashion.
A full complement of functions relating to the transformation of control messages such as pitch-bend, mod wheel, aftertouch and the like also exists. These functions can be used to convert any of these messages into any other type, with options for sensitivity trimming and reversing the action of the destination control message, with respect to the source. By mapping a controller to itself, you can use these options to alter the behaviour of a controller without making it a different controller (for example, compressing the range of the pitch wheel). Interestingly, velocity is included as both a control source and a destination, so that you can, for example, change mod wheel settings instantaneously in response to the velocity of each note, or conversely, the mod wheel or some other continuous controller can be used to determine the velocity of the notes you are playing. Controllers can also be routed to specific positions in a message buffer, which I'll explain shortly.
"Controllers: The Mapper can also interpret keyboard keys as control switches and translate them into any kind of MIDI message."
MIDI switches can also be transformed very flexibly. In addition to hold and sustain switches and numbered MIDI switch messages, the Mapper can also interpret keyboard keys as switches. Switches can be translated into any kind of MIDI message, including continuous controllers, note messages and of course, other switches. An example of using note messages in this way (lifted from the manual, I admit) is sending a slightly different pitch-bend value along with every note message as a method of simulating microtonal tunings. Alternatively, within a map you could dedicate a range of keys to selecting different mod wheel settings, or even sending program change messages not normally available from your keyboard.
What about those message buffers? Each map allows you to custom-build up to eight messages of up to 16 bytes each. The messages are built either by "capturing" incoming MIDI data or by entering by hand the hex codes. The main purpose of this feature is to put system exclusive messages into each buffer. When you select one of these message buffers as a destination for a control source, you're also allowed to indicate a specific byte within the message as the target of the control. When the control source sends a message to the Mapper, the value of this byte is modified by the incoming control value in the way which you specify, and then the entire contents of the modified message buffer is transmitted.
This opens up possibilities which are limited only by your patience and the SysEx implementation of your slave synths. The obvious use is that of patch edits - for example, using the mod wheel to edit the algorithm number of your current DX7 patch. However, the message buffers are not restricted to SysEx messages. Any kind of MIDI data is permissible - you can use aftertouch to trigger streams of note messages or even program changes.
CLOSELY RELATED TO message buffers are the begin and end buffers, of which there are a pair per map. When a map is called up, the contents of the begin buffer (if any) are transmitted. When a map is exited (when another map has been called up), the contents of the end buffer are transmitted before going to the new map (and possibly transmitting its begin buffer). Again, these buffers can contain any type of MIDI data which can represent any number of separate messages, subject to a buffer limit of 300 bytes.
The most basic use for this is sending program changes to each of your slave synths to accompany selection of a map. You can also set the volume for each slave, set initial positions for continuous and switch controllers, turn on drone notes, or even send a SysEx patch dump. The end buffer lets you undo the damage (by turning off droning notes or whatever), so you can freely move to any other map without leaving things hanging in an undesirable way, or needing to take care of this in the begin messages of other maps. This is a unique and very important feature of the Mapper.
By way of keeping things under control, the Mapper also provides an option which automatically holds off a requested map change until you've released all keys on the keyboard, thereby avoiding stuck notes. There is also the capability for creating "songs" consisting of a predefined sequence of map numbers which can be stepped through in performance using a footswitch.
"Playing: The great thing about the Mapper is that there are pleasant surprises in store for you when you actually start playing."
Practically the only thing I've seen on other MIDI processors that's entirely absent from the Mapper is any sort of time-delay feature such as might be used to create MIDI echoes. But the Mapper does allow the setting up of delays between individual messages in a message buffer, which is handy for accommodating sluggish MIDI gear.
By now it may be evident that the Mapper is just as valuable to MIDI percussionists as it is to MIDI keyboardists (though you'll still need a MIDI keyboard to program it). Given the power of a map and the fact that there are 128 of them, it would appear that the Mapper can turn even the relatively simple Octapad into a monster of a percussion controller - by the use of velocity switching and crossfading, layered sounds and so on.
USING THE MAPPER isn't easy - it's a process akin to programming a computer or doing matrix algebra. It calls upon you to deal with a much larger amount of information than can be seen on its display at any one time. That which can be seen usually bears more resemblance to computer machine code than to anything intended for human consumption. You're required to grasp an often complicated set of interactions between independently programmable sub-systems, and to manipulate all this by means of procedures which are generally non-intuitive and provide you with no assistance if you get stuck.
As I said earlier, the Mapper isn't for everybody. I've deliberately avoided discussing how you program the Mapper - you may have been wondering about that, given the presence of only two front-panel buttons. Enter the other half of The Challenge: your MIDI keyboard is also your data-entry keypad. Sixty-one switches you didn't know you had, eh? And the Mapper's nearly unusable without a MIDI keyboard - your MIDI drum pads won't get you very far into programming, I'm afraid. So how do you know which keys do what? Just refer to the pictures in the manual on pages 2-5, 10-1, 10-3, 12-2, 14-3...
Treat that as an off-handed swipe at the manual, which is long on detail but rather poorly structured. From start to finish, it provides a fairly homogeneous mixture of step-by-step button-pushing instructions and explanation of features at the most thorough and advanced level, making it confusing as an introductory tutorial, tedious as a description of the principles of operation and cumbersome as a reference manual. The many pictures of the LCD as it appears during various functions are great for following step-by-step stuff, but there are precious few diagrams that might help you understand just what the Mapper is doing.
The shortcomings of the manual are all the more regrettable in light of the extreme user-unfriendliness of the Mapper, which forces you to be dependent upon the manual until you begin to commit operating procedures to memory. Speaking of which - if your memory is very good you may be able to remember what all of those keys on your keyboard mean to the Mapper. If not, you can draw up a template and stick it on your keyboard (odd that the manual doesn't suggest this): white keys C3 through D5 specify MIDI channels 1-16; white keys B2 through C5 are for hexadecimal digits 0-F; alphanumerics A-Z and 0-9 are on white and black keys C3 through B5; plus assorted other keys for Yes, No, Insert, Delete, Cursor Left and Cursor Right.
I'LL RESIST THE urge to speculate on how this and other more bizarre aspects of the Mapper's user interface came into existence, or whether there might have been better ways to do certain things, and come to the point: none of this is any reason to stay away from the Mapper. It works, it does a lot of wonderful things, and if you stick with it through the learning phase, you get your reward in spades. Salvation may be at hand, however, as the American distributors of the Mapper, Intelligent Music, are currently working on editing software for the Atari ST and the Macintosh.
The current difficulties in operation are the price that must be paid for access to the absurd amount of processing power provided by the Mapper in a very small and portable package - and at a none-too-unreasonable price.
Price £699 including VAT
More from MCMXCIX, (Contact Details).
Review by Matt Isaacson
Previous article in this issue:
Next article in this issue:
mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.
If you value this resource, you can support this project - it really helps!