Hollis Research MIDIman
If you own more than one MIDI synthesizer and an Atari ST, then this universal editor/MIDI controller desk accessory could revolutionise the way you work. Martin Russ explores ...
If MIDIman does all that, then how does it all fit into 38K of program in a metallic grey A5 ring binder, containing a 30-page manual and two disks? The answer, as we shall discover time and time again with MIDIman, is hidden power.
With Trackman, author John Hollis showed the world that a decent sequencer did not need icons, complex graphics and fussy dialogue boxes. Keeping things plain and simple produces neat, efficient code with no unnecessary frills, which maximises the amount of storage for the music and concentrates your attention on creativity. MIDIman continues this tradition, being a GEM-based desk accessory which packs a lot into a small amount.
Desk accessories exploit the limited multitasking facility of the Atari ST - you can have a desk accessory lying dormant whilst you are using another program, but activate the desk accessory just by pulling down the Atari's Desk menu and selecting it. Desk accessories need to be loaded into the ST's memory when you first power up the machine (or reset it) and so you may need to make up a 'boot' disk with MIDIman and your sequencer both on it - when you start the computer the desk accessory will be automatically loaded, ready for use. If you have a hard disk system, you just put MIDIman into the Auto folder on Drive C:.
Because MIDIman can be used with other sequencers, it is protected by a password system instead of a dongle or copy-protected disk. The first thing you see when you activate MIDIman is a Security Check dialogue box, which asks you to enter a word from the owner's manual - once entered, a larger dialogue box will open. This is the main screen, and initially appears mostly empty.
The main screen is divided into two sections: three-quarters of the screen is devoted to the editing slider controls, whilst the remainder contains the eight page selection buttons and the main control buttons. The opening screen has no editing sliders, so the first thing to do is load in a control file (20K) from the disk.
Because MIDIman is a universal patch editor, it needs to be configured for a specific instrument or application - the current version comes with a wide range of control files covering many of the popular synthesizers and expanders. Hollis Research are constantly expanding the range of supported instruments and, as we shall see, writing your own editor configuration is not too difficult - if you have been following the 'System Exclusive' series then you should have no problems!
Loading in a control file provides up to eight separate pages of editing controls, with up to 24 slider controls on each page. The eight named page buttons let you select which page you want to use. A typical editing page may contain several 'global' sliders, which appear on all the pages, together with others which are unique to that particular page. Global controls are very useful for Operator or Partial selection, and their on-screen position is the same across all eight pages, so that you can always find them easily. Each slider has three elements: the slider bar itself, with a light grey and a moving dark grey zone, which gives a visual indication of the current value; a number on the right of the slider itself, which shows the current numerical value indicated by the slider; and a legend above the slider, which tells you what function the slider is controlling.
How all these sliders work depends on how they are defined, and the definitions are contained in the control files on the disk. You can make a slider behave like an on/off button, a three-way selector switch, or even a data entry slider. Using the sliders is easy: the two mouse buttons are used to increase and decrease the value in the usual way, and two special boxes at the bottom right of the screen allow further control. When the Sound box is selected, it sends a Note-On and then a Note-Off message to your connected instrument every time you edit a slider value, whilst the Fast box speeds up the rate at which the slider position changes. The Edit box lets you define your own custom sliders and pages, of which more later...
Next to the control boxes is a MIDI channel selector, with up/down arrows arranged in a similar way to the equivalent channel selectors in Trackman - the normal numbers refer to the ST's standard MIDI Output port, whilst the calculator-style numbers refer to the extra MIDI Output provided by Trackman's expansion port hardware. In the bottom right corner is the Exit button, which returns control to your main program (eg. sequencer) and suspends direct access to MIDIman - but when you re-activate MIDIman after using the sequencer, everything will be as you left it.
As the actual effect of the sliders and pages are programmable, it is impossible to describe what they do, except for particular cases. To illustrate what is possible, here are just some of the pages of two of the supplied control files.
• MIDIMIX: This control file turns MIDIman into a MIDI mixer and Controller. The first two pages provide control over Program Change, Pan and Volume individually for the first 16 MIDI channels, whilst the next two pages deal with the extra 16 channels that Hollis Research's Trackman sequencer provides using the modem port and a special adaptor socket. The fifth page gives control over the major MIDI Controllers [see August issue 'System Exclusive' article]: Modulation, Breath, Expression, Foot Pedal, Portamento Time and On/Off, Data Entry, Volume, Balance, Pan etc, etc. Page six deals with the general purpose Controllers 16-19 and 80-83. Page seven provides access to the Registered and Non-registered Parameter Controllers, with specific sliders for Pitch Bend Sensitivity (RPC 00), Coarse Tuning (RPC 02) and Fine Tuning (RPC 01). The last page contains all the system type commands: Reset, MTC, Start, Stop, Continue, Song Select and Bar Position. These eight pages provide detailed control over most of the MIDI Controllers you will encounter in normal life, and additional special purpose controls can be added if you need them.
• D50: This control file turns MIDIman into a comprehensive editor for the Roland D50. Three screen pages deal with the Partials, three cover Modulation, Effects and LFOs, and the remainder provide Patch parameters and Output controls. To keep the program compact, Hollis Research have not implemented any graphic editing of envelopes in version 1.0, and my experience with the DX7 and D50 has shown me that understanding what the parts of an envelope do is much more important than how the overall shape appears. The only other thing missing is a D50 patch librarian facility, and this really should be a priority for the next version of MIDIman.
The D50 example above is a good illustration of one of the important things to bear in mind with any universal editor: they are usually 'transmit only' when editing. What this means is that they will send editing messages to the instrument being edited but they do not normally input patches or voice specifications and then decode the parameter values, as a dedicated editor would. Consequently, the slider positions you find on the pages do not represent the current value of the parameters inside the instrument being edited. This is not as bad as it may sound! There are two techniques to make things easier:
- Initialising. The Send button causes MIDIman to transmit the values of all the sliders on the currently selected page - this is useful for producing a known state when editing an instrument. The known state could be a simple starting point for further editing - as with the 'Vanilla' voice I used in my 'Practically FM' series [SOS May to Oct 1988] or could be the 'initialised' state which sets most instrument parameters to their lowest value. If you edit the pages of a MIDIman control file to create a specific starting voice, you must save the altered pages so that you can re-load them later.
- Listening. There are two main ways to create or edit sounds: the technical method involves studying the parameter values and making changes based on the overall picture; the practical method uses your knowledge of how the process works and then making changes to parameter values and listening to the result.
With MIDIman we are forced to use the latter method - so if a synthesizer sound is too bright we would change the Filter Cutoff frequency parameter. Notice that we do not need to know what the previous value of a parameter was because we are listening for a sound, not editing to a particular value. In some ways this is a return to the 'traditional' knob-twiddling of early synthesizers, since editing with MIDIman really boils down to fiddling around with the on-screen sliders to obtain the sound you want to hear, instead of the more modern, parameter access technique where it is too easy to concentrate on the parameter values themselves instead of the all-important sound. The whole subject of the 'philosophy of editing techniques' is a fascinating one - watch this space for a future article!
'Mapping' is the term given to the assignment or conversion of one MIDI message type into another. At its simplest, it covers the Program Change maps which are often found on effects units, where you want to set up specific effects to be called up with particular patches, eg. choosing Program 14 'Elect Piano' on the Ensoniq VFX causes Program 85 'ChorusReverb' to be activated on the Alesis Quadraverb. More complex uses include using the note pitch information in Note-On or Note-Off messages to control the value of a parameter in a System Exclusive editing message - with the end result that you can have key scaling for parameters the manufacturer never intended. LFO Speed or Depth is an interesting springboard for further investigation...
The Assign button is only available when MIDIman is running co-resident with Trackman, and is the Mapping feature. Clicking on Assign opens a new dialogue box with three horizontally scrolling selections covering the source and destination of the MIDI messages which will be mapped by MIDIman. The sources can be Note events, the Pitch or Mod Wheels, Note Velocity or Pitch - in fact, any MIDI Controller on any track. The destinations can be any of the slider controls - so you can specify System Exclusive messages as well as ordinary Controller messages. MIDIman can be connected into the MIDI data stream either before or after Trackman, meaning you can either record the mapped messages or map differently for each track's output respectively.
Mapping allows a wide range of unusual and complex sounding effects. By selecting Velocity and mapping it to an internal editing parameter using a System Exclusive message, you can create velocity sensitivity where it might otherwise not be possible. On a DX7 the Coarse Frequency of the dominant modulator is a good source for velocity control, but you could just as easily control another MIDI device. For example, you could map the Modulation Wheel to the Reverb Depth of an effects unit. You could remap the Aftertouch so that it controls the LFO waveshape, or the Pitch Wheel so that the Filter Cutoff changes with pitch bend - the possibilities are endless.
A clever algorithm within MIDIman takes into account the relative lengths of the incoming and outgoing MIDI messages and 'thins' the outgoing data accordingly, so you should not suffer any overloading of the MIDI data stream. Because MIDIman can act as a general purpose controller at any time, but can only map when used within Trackman, it is easy to forget that by using MIDIman on the input of Trackman you can record the mapped Controller onto a track for subsequent replaying - so MIDIman need not be just a real-time controller and mapper.
With a limit of eight pages per MIDIman control file, you might be thinking that it will become tedious having to load different files for each instrument you want to control, and that a universal MIDI Controller file sounds like it could be the ideal thing to have ready for action at anytime... Well, the answer to all this is that you can have up to six copies of MIDIman all running at once, with each appearing in the ST's Desk menu as 'MIDIman: MIDImix' or 'MIDIman: D50' etc, so you can quickly see which control file is loaded into each copy of MIDIman. Although MIDIman uses up very little memory, you will probably only be able to exploit this technique effectively with a 1040ST or Mega ST.
The Edit button provides the key to advanced use of MIDIman. When you click on the Edit button two things happen: all the sliders appear on the page and the 'MIDIman' title at the top of the page changes to 'MIDI:'. You can now edit the values of any of the sliders by double-clicking on them, and any MIDI messages which use the sliders will be displayed in hexadecimal at the top of the page after the 'MIDI:' title.
When you edit a slider a Control Editor dialogue box appears. This is used to define how the slider behaves, and although it looks complex and daunting at first, it is simple once you know how it all works.
The most important part of the slider definition is the Profile. This is a string of characters which define the MIDI message which will be sent to the instrument when you use the slider. A special 'language' of symbols is used to tell MIDIman what you want the slider to do:
'?' (question mark) represents the current value of the slider position;
'#' (hash) represents the current MIDI channel, as set on the main page of MIDIman.
Each separate part of the string of characters in the Profile is separated by a comma - so you produce a list of individual entries. MIDIman assumes that numbers you enter are in hexadecimal, unless you precede the number with a '%' (percent) sign. There are also some mathematical symbols like '+', which adds two things together just as you might expect. Other symbols provide logical functions like ANDing, shown by the '&' (ampersand) symbol, and these are useful for controlling individual bits within a MIDI byte.
The Legend part of the Control Editor dialogue box lets you give a meaningful name to a slider, or edit the name it has already been given. The Maximum and Minimum parameters let you set the highest and lowest value that the slider can have, with a limit of -99 to +127. Sliders can be Fixed, in which case they appear in the same screen position on all eight pages, or Paged, whereby they only appear on one page. MIDI data output options let you choose how the outgoing messages are channelised by Trackman or at which MIDI port they will appear.
MIDIman is a flexible and powerful tool which has wide-ranging and often not immediately apparent applications. The accompanying 'Hints' panel gives some of my thoughts on some possible uses but I am sure that you will find your own. As with Trackman, MIDIman shows the unmistakable signs of both being driven by a real need and also of being a product of careful thought and research. The user interface is neat and tidy, and the coding is succinct to keep the program size small - very important in a desk accessory.
At the time of writing I know of at least three other generic or universal editor programs/desk accessories which are due for imminent release: X-Or from Dr. T, GenEdit from Hybrid Arts, and Uni-Man from Zadok. Since the first two of these are from software houses who already produce sequencer programs, we can expect that they will be customised for efficient operation in much the same way as MIDIman. As yet, I do not know if they have the same MIDI Controller and mapping functions as MIDIman. The Satellite desk accessory from Steinberg does not seem to have quite the same level of universal application as these generic editors, and is currently only available as part of their Cubase package.
Conflicts between desk accessories and other programs can occasionally be a problem. MIDIman is at its best when used with Trackman, and I experienced no crashes whilst running it in this configuration. There were problems with losing the screen cursor when using MIDIman and Intelligent Music's RealTime sequencer but, given Hollis Research's exemplary update record for Trackman, I expect this to be quickly solved (the last bug I found in Trackman was fixed and a new version on my desk within a week!). Given the large number of possible programs which MIDIman might be required to work with, it is unreasonable to expect the first release (Version 1.0) to be perfect with every permutation.
The combination of Trackman and MIDIman comes very close to being a perfect tool for the person who wishes to explore the creative horizons of MIDI Controllers and System Exclusive - I thoroughly recommend it to all those readers who are following my 'System Exclusive' series. The effort required to produce your own editing pages is not as high as it might appear because of the feedback you get about exactly what data is being sent over MIDI - so you can interactively edit the MIDIman Profile and compare the message which is sent with the information contained in the System Exclusive pages of the relevant instrument owner's manual. A few more examples in the MIDIman manual would have been useful to the beginner (but see the 'Editing Examples' panel in this review), but close examination of the manufacturer's supplied control files can be very informative.
I have thoroughly enjoyed using this accessory, from the beta testing through to the final polished version. I have found more and more uses for MIDIman as I progressed, and it has now become an indispensable part of my working environment. At the risk of repeating myself: for anyone who wants to exploit MIDI Controllers or System Exclusive to edit instrument parameters, MIDIman has to be an essential purchase.
£79 inc VAT.
Hollis Research, (Contact Details).
Gear in this article:
Review by Martin Russ
Previous article in this issue:
> ART SGE
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!