Miditemp MP44 MIDI Player
MIDI Data Recorder
Latest in the emerging trend of MIDI data recorders is MIDItemp's MIDI Player - a composite 64-track sequencer, MIDI processor and patching matrix. Vic Lennard takes on a temp.
When your computer isn't up to the rigours of life "on the road" and your music is demanding a live audience, the need for a robust disk-reading MIDI unit becomes obvious; perhaps the designer of the MP44 plays live...
THE MP44 COMES in a 1U-high black rackmount case. The front panel has a 2 x 20-character backlit LCD and various colour-coded buttons. To the left are buttons for up and down cursor movements on screen and altering parameter values. Two blue buttons entitled Matrix Mode and Seq Mode select which set of functions are to be edited. Ten numeric keys double as MIDI In (1-4) and Out (6-9) selectors and panic button (0). Finally, a pair of grey Exit/Load and Enter/Save buttons facilitate movement between screen pages, numeric input and disk control. The drive is a standard double-sided, double-density affair, and the only other control is the power switch.
The rear panel has four MIDI Ins and Outs, and a quarter-inch footswitch socket. The mains cable is of a non-removable type. In use, the casing around the display and PSU gets very hot which would probably necessitate the leaving of a 1U gap above and below the unit.
ANY USE OF the MP44 involves the use of information off disk. The MP44 will read both Atari ST and IBM PC formats, but has no option for formatting. The reason for this is that the MP44 saves all data in the form of a Standard MIDI File (SMF) which can then be read by any sequencer supporting SMF. More to the point, you can create a song, save it as an SMF and then load the song into the MP44 without any conversion of data.
Songs can be loaded into a slot in one of the two song banks: P and S. Each of these has 128 slots and can have a MIDI channel assigned, so allowing selection of all 256 songs via MIDI Program Change commands. The initial memory available for songs is 247KBytes which gives perhaps five or six songs concurrent in memory. The MP44 is not a disk reader like the Elka CR99 - the songs have to be loaded into memory first. To this effect, loading from the disk drive is very fast at around 20KBytes/second. The RAM can be increased to a maximum of four Megs.
The MP44 also has a 4 x 4 MIDI matrix (based on the facilities of the PMM88 MIDI patchbay). Two banks of 128 different selections of settings can be stored in battery-backed RAM.
Pressing the relevant Mode button selects either Sequencer or Matrix mode. Double-pressing the current Mode button takes you to Function Select, where you select a function with the numbered buttons. It's a simple system as there are only a dozen or so functions to remember.
Having recorded a song on your sequencer and saved it as an SMF, put the disk into the MP44 drive, select the memory slot (in Sequencer mode) and double press Load. You now select the required file from those displayed.
Back in the initial screen, Enter plays the song, Exit stops it. A single press of the Sequencer mode button takes you to a screen where the bars are counted through as the song plays. From here, you can use numeric buttons 1-4 to fast rewind, rewind, forward or fast forward respectively: the up and down buttons to vary the tempo, which is shown on screen.
Loading a set of songs can be made much easier by using MP44's "assignment" system. Here you select the songs that you want to be loaded at the same time: choose the memory location and select sequencer function 9, Assign to File lets you select the song to be loaded into this position. Repeat this procedure for as many files as you wish and finally save the assignment, having named it first. When you load an assignment, double presses on the Sequencer and Load buttons will load all song data into memory, starting from the current memory location. This is useful, because if the entire assignment cannot fit into memory, you can choose which songs get left out by ensuring that they would be the last ones to be loaded. The assignment feature is one of the most powerful on the MP44. Assignments can be loaded while songs are playing and can be merged together.
The naming procedure is not completely documented. The mode buttons move the on-screen cursor while the up/down keys select the letters. However, pressing the numeric keys increments the current letter by the numerical amount. For example, starting with "a" and pressing "5" gives you "f". For those of you who are mathematically minded, this is very fast.
OF COURSE, YOUR sequencer may not support SMFs, in which case you'll have to transfer songs via the MP44's MIDI In: sequencer function one selects the MIDI port(s) through which data will be received while function two deals with the synchronisation (internal or external - the MP44 can be either the master timing device or a slave). You can also choose which ports MIDI timing data is sent/received on.
You can start recording externally or internally, but it would have been reassuring to have a MIDI activity light indicating that data was being received. When the MIDI data flow finishes, either the external sequencer sends a MIDI Stop command or else Exit stops the recording, which then has to be saved to the song. Any further MIDI data will be recorded as the MP44 is always in record-ready mode and can then be appended to the song or erased when the saved data is replayed. This is very flexible because not only does append mean adding to the end of the song, but also merging. Each "overdub" recorded in this way can be directed to any of the four MIDI Outs, effectively giving 64 discrete MIDI channels. Sixty-four concurrent tracks can be played, subject to memory restrictions - powerful stuff.
Sequencer functions three (tempo) and four (time signature) can be altered as required, while function five shows how much memory is currently free. The manual has a couple of errors here: sequencer mode 88 is supposed to let you set the resolution in terms of a crotchet, 1/1536 being the highest possible on the MP44 (384ppqn) but this facility is accessed via function 33. Function 88 brings up a disk dialogue box searching for .MPF files - there was no mention in the review copy manual, but this is for loading additional functions including formatting. It states that "the highest recording resolution is a 1534th of a note", which is incorrect. There's also the comment that the "highest SMF playback resolution is a 1920th of a note" which has no foundation in the Standard MIDI Files 1.0 spec.
BEARING IN MIND that the MP44 is designed to be able to run an entire live setup, a comprehensive routing and processing section is essential. And indeed, the sequencer and matrix sections are entirely independent. All matrix programs can be saved as one .M44 file on disk.
Matrix function one deals with the routing of MIDI data. Each MIDI In is treated separately with three possibilities: Standard (data on a MIDI channel is passed directly through to the same channel on the same Out); Multi-converting (data on a MIDI channel can be routed to any channel on any output so allowing multiple merging); and Manifold (data on any receive channel can be sent from many MIDI channels on any Out simultaneously). This is useful with MIDI Mode 4 where a different voice can be played from data received on each MIDI channel.
Once the received MIDI data has been routed, various processing can be carried out: Filtering - various types of MIDI data can be removed on input or output, and per MIDI channel. You have the option of filtering all notes, all MIDI channel messages excepting notes, all MIDI controllers, program change, channel aftertouch, pitchbend, SysEx, system common, system real time, active sensing and individual MIDI controllers. The manual doesn't mention polyphonic aftertouch, which the MP44 will filter, and fails to mention that filtering system common also takes out MIDI Time Code and song select. The latter on input will prevent the MP44 from being able to respond internally to this message. The active sensing filter was permanently on, but this has now been fixed. Other quirks to beware of include filtering out notes, which doesn't remove the all-notes-off command championed by Roland. Pressing keys on a keyboard will shut off any notes playing on that MIDI channel. The all-controllers filter will take out messages for MIDI Mode change, Local Control, all-notes-off and All Controllers Reset. Finally, filters can either act locally for the specific program or globally for all programs.
Velocity processing - the velocity response of your connected keyboard can be altered in various ways. In the same way that you have split points, you have thresholds for velocity to divide up the velocity range - up to a total of 74 divisions. For each range, you can alter the response by a factor of between -16 and +15.88. Velocities will be multiplied by this factor within the selected range. Offset then lets you add a certain value to the velocity. Next, you can carry out velocity switching, crossfading and limiting per range as well as being able to turn the velocity off and reverse the effect. This is a great facility for improving the response of average synth keyboards and will let you create any special effects from any velocity-sensitive keyboard.
"Function seven lets you pre-program MIDI volume levels and program changes per MIDI channel and per Out - your system can be configured differently for each program."
Split - up to four splits are available, the lowest taking the MIDI channel that the connected synth is transmitting on and then incrementing by one from each split to the next. By using multi-converting, any split can drive any MIDI channel from any of the four Outs. You can also decide which MIDI channel the controllers will operate on as these are MIDI channel specific. A transpose option is also offered for each split.
Transpose - any Out can have a transpose value set between -64 and +63 semitones.
Once in Matrix mode, an extra press of the matrix button takes you to the MIDI Analyser page where small bars show the flow of MIDI data at the In and Out ports.
A STRING OF bytes can be set up and sent from each of the four outputs each time a program is selected by using "send data". You could use this to send out a dump request or edit buffer request which could then be saved in a MIDI File. You could also set values for any MIDI controllers or send out MIDI Mode changes. You could even set a different chord to play for each program by setting up the required note messages (but you'd have to hit the panic button to stop them). A total of 250 bytes can be sent which will handle most procedures except for those which require handshaking or acknowledgements. You can key in numbers in hex or decimal.
In a similar manner, function seven lets you pre-program the MIDI volume levels and program changes per MIDI channel and per Out. Your system can be configured in a different way for each matrix program.
The panic button is used for muting "hung" notes, and works by sending out zero values to various MIDI controllers, and individual notes off on all MIDI channels from all Outs, simultaneously.
Other facilities include being able to program and remove time signatures and tempo changes from song files.
EARLIER I MENTIONED that each recorded take or track could be assigned to different Outs. These can be saved within the assignment file so that as a song loads up, it knows where to direct the MIDI data for each track. Add to this the fact that song programs can be called up by either program change commands or song select, with each song bank (S and P) being on a different MIDI channel.
To allow maximum control over your system in a live situation, sequencer function 55 exists. This lets you create "Jobs" - macros to carry out various commands in a specific order. This uses the following commands:
5: Wait for Stop
These work on the current assignment file. Let's say that your assignment has eight songs. The command chain of 2-1-4-5-2-4-3-2 would do the following: the first song would be loaded and set ready to play followed by the relevant matrix program for that song which, in this case, will work for the set. The first song would then start to play and continue to the end. If the second song is already in memory, it will start to play immediately. Otherwise it will be loaded and then play. If you hit the footswitch midway through this song, the next song will start to play, if already loaded. Or you could wait until the end of the second song, milk the applause and then hit the footswitch for the start of song three. A Job is saved as a song program with a .MPJ extension. This can then be called over MIDI.
The final facility is Installation, matrix function 88. From here, all-notes-off when you change a matrix setting can be suppressed. This lets you smoothly overlap the beginning of a song from the end of the previous one without notes being cut off. You can also decide whether a song will start immediately after selection via MIDI or wait for a footswitch press. Best of all is the ability to automatically load the file called Assign.asg on power up and to also load the songs within that file into memory.
All you have to do is to put the disk in the drive, turn the MP44 on and select the Job program number via MIDI.
I SPENT A lot of time loading and saving songs in SMF format on the Atari ST using Steinberg's Cubase, C-Lab's Creator and Hybrid Arts' SMPTETrack. With note and controller data, there were no problems. This included recording MIDI data on the MP44 and playing back on the various software packages. Bear in mind that most sequencers use events not transmitted via MIDI, the most obvious of which are tempo and time signature changes. There is the facility within SMF to incorporate these as part of the file but Cubase won't write its tempo/key signature mastertrack to an SMF or acknowledge changes when loading in via an SMF. Creator only seems to write these changes to a MIDI File if they're made on the first beat of a bar. Other facilities such as track muting cannot be transferred. It would appear that the MP44 can read tempo changes and key signatures if the sequencer software encodes it into the SMF, but how the MP44 will cope with a sequencer whose internal resolution is not a multiple of 96, which usually causes timing problems, I can't say.
Without delving too far into SMF's, let's say that there are two ways of handling SysEx. One of these treats the SysEx data as a block while the other breaks it down into small packets with timing info between each packet. The review version MP44 didn't seem able to handle this latter type, but MIDITemp assure me it can. The jury is still out.
One other oddity: There are two SMF formats: 0 for a single track and 1 for multiple parallel tracks. The MP44 saves all songs as format 1, with single track songs being saved with a second, zero data track. It works fine, but is a little unorthodox.
BEFORE PASSING JUDGEMENT on the MP44, the question has to be asked whether there is a need for it? Consider the alternatives: one is a computer system with monitor (or portable) with all the hassles regarding reliability and electrical fields. Then there's the Elka CR99 which lacks the ability to read SMF's - it's certainly cheap but lacks any degree of automation. The Alesis Datadisk Plus has only just been released but will apparently record all MIDI data. No other device will currently read SMF's, as anyone who's spent weeks transferring data via MIDI from one device to another will appreciate.
Consequently, I have to conclude that the MP44 is an absolute powerhouse. To be able to have an entire set loaded and controlled by one footswitch is unprecedented. Admittedly there were problems with the review model (v1.04) - the manual was awful to read and factually inaccurate in places. MIDITemp maintain much has been done to improve the manual and machine (now up to v1.09).
For live use, the MP44 gets a standing ovation; if you're discouraged by the cost, remember you're buying a processing MIDI matrix, 64-track sequencer and MIDI File playback system.
Price £899 including VAT.
More from The Synthesiser Company Ltd. (Contact Details)
Review by Vic Lennard
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!