Yamaha MIDI Event Processor
This new multi-function unit lets you physically access and modify hex code MIDI signals amongst other things. Jay Chapman discovers it may be rather more useful than most would think.
This device for filtering, modifying and delaying MIDI messages is one MIDI enthusiasts can really get their teeth into. A very impressed Jay Chapman considers its place in the scheme of things.
Let's lay our cards on the table: if I had realised what an interesting device the MEP4 was going to prove to be, I would have started to play with it a lot longer before the date the review had to be in by. And then I wouldn't have sent it back so soon after falling in love with it!
In fact, the MEP4 has turned out to be a sufficiently wonderful machine to warrant two bites at the editorial cherry. This review will concentrate on a brief look at what you can do with the MEP4 but we will only skim the surface of how you actually go about it - after all that's what the manuals are for! In a couple of months, as part of my follow-up to the 'device independent' Talking MIDI series, I shall discuss the working of the MEP4 in some detail; it is a near perfect example of how to take full advantage of the MIDI protocol.
The bad news is: the effort owners are going to have to put in to make full use of the MEP4 will be considerable unless they are already quite familiar with the MIDI protocol and the hexadecimal numbering system. Familiarity with the former is an obvious requirement since the whole point of the MEP4 and other MIDI processors is that you can tell them what MIDI messages to play with and how to modify them amongst other things - hence the name 'MIDI Event Processor'! Hexadecimal is used whenever MIDI message internals are referred to, which is quite a lot of the time!
The good news is: practically everything else about the MEP4! Don't let the last paragraph panic you into thinking that the MEP4 is beyond your grasp. Firstly you are going to become more and more familiar with MIDI whatever happens (unless you bury your head in the sand) and secondly, hexadecimal is just used as a convenient notation - you don't have to be able to perform amazing feats of mental hexadecimal arithmetic to use the MEP4. If you are coping with the Talking MIDI series of articles then you can ignore this paragraph!! The MEP4 manual also has sections on both MIDI and hexadecimal to help you out.
That's what it asks on the Introduction page of the Owner's Manual. The answer given is "just about anything" and whilst we should always give the manufacturer's own blurb a slightly cynical reading, I think it's not an unreasonable answer (taken in context of course). I'll give some examples of what is possible before briefly considering the underlying logical structure which makes it possible for us to persuade the MEP4 to accomplish such tasks. The complexity that the user has to overcome in using the device is directly related to the flexibility that the examples show. You couldn't have the flexibility without the complexity...
Press the 'Bypass' button on the MEP4 front panel and you have a MIDI THRU box which passes the signals from MIDI IN to the MEP4's official MIDI THRU (which is always a copy of MIDI IN of course) as well as the four MIDI OUTs which are provided. The MEP4 is a bit expensive to use just as a THRU box so we'd better quickly move on...
Having already mentioned the four MIDI OUTs it might be a good idea to tell you why they're there! The MEP4 actually contains four logical 'processors' all of which listen on MIDI IN and manipulate their own copy of the MIDI information flow. The results of each of the four manipulative processes are then fed to any of the four MIDI OUTS (see Figure 1). It is not possible to send the output of one processor to more than one of the MIDI OUTs at a time, so if the same processor output needs to drive two synthesizers they will have to be connected in daisy-chain fashion to one MIDI OUT. This is not a great inconvenience but does make me think about getting a MIDI routing box one of these days!
Figure 2 shows the components of each processor and I'll briefly describe the function of each in turn. Don't forget that the four processors are all doing their thing in parallel so you get all of the components described below, separately controllable, four times.
Once you've set up the operation of the processors by tweaking the many and various parameters, you'll be pleased to know that you can store each 'program' for future use. The MEP4 can store 60 programs internally and can also dump and load its program memory over MIDI. Yamaha have preset 30 of the programs and provide a comprehensive 'Example Book' to help explain to you the capabilities and usage of the device. You can overwrite these programs if you wish when you have learned to program the MEP4 yourself.
Which MIDI Channels and Messages are we going to play with? The first use of these facilities is simply to chop out anything that you're NOT interested in. For example, if you are playing into a sequencer and you don't want it to waste memory on aftertouch messages, then filter them out. If you intend manipulating the pitch of notes (example: automatically adding a note on a second synthesizer a fifth higher than that being sent to a first synthesizer by a master keyboard) then select only Note-on and Note-off messages on the correct channel (that of the master) and reject everything else.
The fun part of the MEP4! This is where you take the MIDI data that you have allowed into the processor via the Channel and Message Filters and change parts of the messages or even replace messages completely. To continue with the example of adding a harmony note on another synthesizer, you would set the relevant MEP4 processor to modify both the channel number (to the one that the second synthesizer is listening on) and the first data byte of the Note-on/off messages. The first data byte is the key number so if you tell the MEP4 processor to add 7 to it you have your fifth above!
In the case just described, the first synthesizer would be connected either to the MEP4's THRU or to an OUT which had a spare processor connecting IN and OUT without changing the data on the way through.
It is possible to stop messages progressing further than this point by limiting the data values (in a particular field of the messages) that are allowable. The most obvious usage of this feature is creating keyboard splits by limiting the range of valid key numbers. So, with four processors, a four way split keyboard is possible! This is just the start of turning your existing keyboard into a 'master keyboard controller' using the MEP4. Since we can change parts of messages, we can use whatever control sliders and switches your existing keyboard has for other purposes (provided MIDI controller messages are sent when these sliders and switches are moved).
An interesting example might be using a breath controller whose messages get converted to pitch-bend messages! It is even possible to use aftertouch to fade in one synthesizer as it fades out another. You can accent notes played on one (touch-sensitive) synthesizer by sending out extra Note-on messages to another synthesizer whenever you play very loudly (or softly if you like!).
Other conversions allow the reduction of the excessive transmission of continuous controller messages by setting the relative size of movement (ie. the change in the control byte value) that will be recognised and sent on. Also, data values can be scaled by up to 16 times up or down: if you are used to playing a heavily-weighted keyboard, you can scale down the overdoses of keyboard velocity... if you've just moved from a DX7 to a KX88 then you can scale up.
I could go on at some length - but I don't have the space!
This function is called up whenever a new MEP4 program is selected (as well as at some other times). It sends out four messages: a program change, a pitch-bend position and two other controller change messages of your choice. This means that with one program change sent to the MEP4, up to four synthesizer program changes can be organised, pitch wheels can be centred (or otherwise) and, for example, four volume levels can be set. It is also possible to select a specific MEP4 memory for any of the possible 128 MIDI program change messages.
Nearly as much fun as the Data Modifier component! Having selected certain MIDI messages for certain MIDI channels and having changed various parts of said messages, we can now delay the lot by up to 3 seconds in 1 millisecond (1/1000ths of a second) steps. Small delays give a double-tracking effect and larger ones result in an echo. Of course, it is not the sound that is being manipulated and delayed but the control information, so each 'echo' is as perfect as the original sound.
Each MEP4 processor can only delay once. If you want two echoes, however, you can always use two processors with different delays. In fact, you can organise up to four-note arpeggios by letting one processors end the original message to the relevant MIDI OUT and have each of the others change the key number of Note-on/off messages and delay them by different amounts before sending them to the same MIDI OUT.
This merging of messages may cause problems if a lot of data is being created. Eventually MIDI may become overloaded if lots of pitch-bend, aftertouch and so on are involved.
If you have the possibility of merging delayed data with the MEP4's input, via a KX88 master keyboard for example, it may be possible to have a gracefully decaying 'MIDI feedback' echo. I say 'it may be possible' because I haven't tried it and the MEP4 manual suggests that it will require some tricky programming; since they don't give it as one of the examples I'm slightly suspicious!
As I have already mentioned, the output from each of the four processors can be routed to any of the MIDI OUTs. It is also possible to modify the MIDI channel of the messages in several ways. The output channel can be forced to a specified channel to allow a synthesizer that only transmits on one channel to control some device set on another channel, for example. Another possibility is that you could prepare sequencer data for two synthesizers, on different channels, and then rehearse it on only one synthesizer (saving hire fees on the second synthesizer perhaps) by forcing two channels into one and perhaps even placing one part an octave higher so that you can pick the two parts out by ear.
Alternatively, the outgoing channel can be related to the incoming channel by some offset so that four channels coming in for a multi-timbral synthesizer can all be correctly moved onto a different set of four channels. The sky's the limit!
I have tried to give you a flavour of the MEP4's capabilities in this woefully short review. I haven't talked about the 16-character backlit LCD display and the controls provided which are very quickly understood and easy to use after a very short familiarisation period. The manual (in three languages! I read the French version au naturel) is excellent and sets out very clearly everything you need to know - if you buy an MEP4, I suggest you read it from start to finish before you even switch the unit on. I can't emphasise enough that any time and effort devoted to learning how to use this device will be extremely well rewarded.
Certain other manufacturers have produced MIDI processors which cost a lot less than the MEP4 and are almost worse than useless. In fact, the main reason I didn't get the MEP4 out to play with earlier is probably because I subconsciously thought that Yamaha had been tempted to jump on the same bandwagon. I'm pleased to report instead, however, that Yamaha are leading the field once again. The MEP4 really is excellent value for money at £345 inc VAT and I'm going to buy one as soon as I can pawn the mother-in-law or find some other way of improving the old inverse credit to debit ratio!
Review by Jay Chapman
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!