MIDI Tape Recorder Interface
If the prospect of throwing your computer into the back of a Ford Transit and hauling it on stage every night fills you with dread, the new MIDIMan from Musicsoft might well be the solution.
Spending a lot of money on sequencing hardware and software doesn't necessarily guarantee you trouble-free live performances - how about MIDI sequencing from tape?
FROM THE POINT of view of performing live, sequencers are a hassle. But the impracticality of a computer-based system, the lack of memory on small hardware units and the expense of the larger ones leave you little choice. Fortunately there is a choice; there's the Elka CR99 Real time MIDI Disc Recorder (reviewed last month) and there's a cassette-based system called MIDIMan.
IS IT POSSIBLE to record MIDI information onto audio tape in real time? The straightforward answer to this would seem to be no, because the frequency at which MIDI operates is 31.25kHz, which is beyond the range of a tape recorder. But as it is possible to compress information by a variety of means, including the thinning out of MIDI data save Bits here and there, it is conceivable that MIDI performance data could be encoded on tape at a low frequency. This technique is called Frequency Shift Keying and is already used by many MIDI/Tape sync boxes. The data recorded in this manner must subsequently be decoded on playback, so allowing the MIDI system to run in real time.
MIDIMAN IS A grey box measuring some 6" by 4" with In/Out sockets for MIDI and Tape, each with a red LED to show their operation, a Write button, and a block with six DIP switches for various purposes. MIDIMan is powered by an external 9v power supply. A peek inside shows that is built to a high standard, with switchcraft connectors to the outside world. The heart of the unit is an 8031 8-bit microprocessor with 128 bytes of RAM controlled by a 64Kbit EPROM.
Using MIDIMan couldn't be simpler - connect the MIDI Out of whatever is sending the MIDI information (sequencer, keyboard, drum machine and so on) to the MIDI In port on MIDIMan and the cassette deck to Tape Out. Press the Write button, set the tape recorder record level to about -5dB, hit Record and start the flow of MIDI information. Playback is achieved by connecting the tape recorder audio out to Tape In on MIDIMan, MIDI out to required MIDI devices and pressing Play on the recorder. What could be easier?
THE CORRECT SETTING of the DIP switches is imperative if good results are to be obtained. Channelize allows you to set the channel for all data on playback to MIDI channel 1, 2, 10 or as recorded; Aftertouch filters out control information (which many keyboards send out even it isn't being used); High Bandwidth is set if chrome or metal cassettes are being used on a decent quality deck (more about this later); Merge will allow MIDI data at the MIDI In port on playback to be mixed with that being regenerated by MIDIMan. The final switch, Clock/Duplicate has two functions. On record, MIDI timing clocks can be filtered out, which is essential if they cannot be removed at source, while on playback the code being received at Tape In is reformed and output from Tape Out so allowing copies to be made.
I MUST ADMIT, my first thought was "does this really work?". After all, the idea of running a sophisticated MIDI setup from a Walkman is a bit hard to swallow. Using an Atari ST with SMPTETrack software, a song using 2 MIDI channels was loaded up. MIDIMan has two priority MIDI channels; Channel 10, for drums (Roland MT32/D-110 format) and Channel 1 for bass or any other tightly rhythmical instrument. Having set the MIDI channels, tape level and High bandwidth (for chrome tape), the data was recorded onto a Denon three-head cassette deck. My fears were ungrounded - MIDIMan worked just fine. The drums and bass were certainly tight, and the unquantised piano throughout sounded much the way it was meant to sound. Only when it came to tight brass stabs could any difference be heard. Instead of a chord, there was definitely a degree of arpeggiation of the notes, especially as there were two modules playing a combination of six notes at this point. Nevertheless, it was certainly a lot more impressive than I had expected.
The song was then re-recorded onto the sequencer from MIDIMan and lined up with the original version to see how the data had been altered. It transpired that the whole song had been slightly slightly slowed down - by about an 8th note in 189 bars, which comes across as a tempo adjustment of 0.5%. This means that my song was playing at about 147.27bpm instead of 148, a difference that is probably unnoticeable. Also, wherever more than one note had been originally played at the same time, there was a spread of notes - a three-note chord took about 12 milliseconds to complete.
"I must admit, my first thought was 'does this really work?' - but my fears were ungrounded, MIDIMan worked just fine."
A standard computer data recorder was substituted for the Denon with no success at all, but any half-decent deck should work with the High Bandwidth setting - this halves the MIDI delay. Lack of an output volume control on a deck will entail very careful setting-up of the record level as no controls exist within MIDIMan. It would also be advisable to use a brand of cassette whose performance on your machine is known to reduce that variation in cassette format. Also, using noise reduction of any description is not a good idea.
Comparisons between assigning drums and bass to MIDI channels 10 and 1 respectively (the priority MIDI channels) and assigning them to other, non-priority channels gave interesting results; whatever is played in on channel 10 is actually pushed in front of the beat slightly to counteract the delays, while if the priority channels are not used, the delays build up far faster, almost as if channels 1 and 10 are being looked at for information first (causing a slight delay), while the data which should have been on these channels is waiting along with the rest, so causing further hold-ups. The moral of this is to always use MIDIMan's priority MIDI channels - if these two channels are all that are used, the timing is very good indeed.
A LITTLE BIT of MIDI theory: as MIDI is a serial protocol, only one data byte at a time can be sent. This means it is impossible for MIDI to play a chord. What most computers do is to save the note data for a chord in a buffer, and then transmit those notes in as short a time as possible, so giving the illusion of notes sounding simultaneously. Unfortunately, MIDIMan only has a 128byte buffer (which equates to a maximum of 42 note events), and so cannot afford to stockpile data without running the risk of losing it. Having an 8-bit microprocessor will also limit the degree of possible data manipulation.
According to the literature, MIDIMan encodes to tape at about 8kHz at Normal setting and 12kHz at High Bandwidth setting. This means that a fair degree of data compression is taking place - time to find out exactly what's going on.
The first short-cut to be uncovered was that the velocity of each note is rounded to the nearest value of eight, so saving three bits out of the seven allocated to storing MIDI note velocity. This really should be mentioned in the documentation, because if you're using any module which switches sounds on changing velocity, you could be up a gum tree. An example of this is Casio's FZ1, which can assign four sounds per note subject to velocity. Next, pitchbend is thinned out by an amount which appears to be dependent on the resolution of the wheel, with a total of about 200 steps across the entire wheel range; this doesn't affect what you hear. Active Sensing is filtered out completely, but All Notes Off isn't, which is rather odd - All Notes Off really isn't necessary and dispensing with it would save as much processing as filtering out Active Sensing. Finally, due to MIDIMan's use of "8n" as the Status Byte for Note Off, there is no running status, which should cut about a third of the transmitted data. All in all, a slightly odd arrangement - the MIDI equivalent of robbing Peter to pay Paul.
This isn't meant to sound like a doom and gloom job, because even with the amount of data that I had running through MIDIMan - probably more than it is designed for - there were no glitches. No corruption of Note On data had taken place, and no hanging notes resulted so all Notes Off must still have been present. All that appeared to suffer was the accuracy of timing. However, it is misleading of the manufacturers to say that because MIDIMan operates at a quarter of the MIDI bandwidth, this will lead arpeggiations four times worse than a normal sequencer. As explained above, this problem is almost certainly due to the lack of an adequate note buffer. Also, to say that it will take eight tracks of dense chords before arpeggiations can be heard is simply wrong. Of course this amount of data will lead to audible inaccuracies, but so will a five-note chord delivered over a period of 20 milliseconds. Musicsoft's advice to leave block chords unquantised is a rather impractical solution - how many of is completely redo songs recorded in the studio for live purposes? One final point; instead of implementing All Notes Off commands if tape data can't be read, Musicsoft have used Sustain pedal off - controller number 64 instead of 123. This seems to have been a mistake.
"Even with the amount of data that I had running through MIDIMan - probably more than it is designed for - there were no glitches."
APART FROM LIVE use, MIDIMan could be used to simply record MIDI clocks and so act as a tape sync unit, although without MIDI song position pointer (so requiring a song to be run from the start each time). I wonder what it would cost to implement song position pointers into the FSK code in the manner of the JL Cooper PPS1?
System Exclusive messages of up to 2000 bytes can be recorded, which means that, from a live point of view, system changes can be recorded before a song begins. As a librarian in the studio, this is of limited use because most memory bulk dumps require the availability of more bytes.
I WAS MOST sceptical when I first heard about MIDIMan, but have been quite impressed by what I have seen. It does what it purports to do - something of a rare thing these days - and could realistically be used to replace a computer sequencer for live purposes.
However, Musicsoft need to rewrite their manual with a degree of honesty. It is fine to say "...the question isn't whether you can create a sequence that MIDIMan will have difficulty playing - you CAN!" - qualification of this statement is imperative if the best is to be obtained from MIDIMan.
The technology works, and could be made to work even better if some aspects of the design are altered. All in all, a rather refreshing innovation in computer sequencing.
Price: £185 including VAT
Review by Vic Lennard
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!