A little money spent on a hardware control surface for your PC can yield a dramatic improvement in ergonomics and ease of use. Martin Walker explores the options.
I recently posted a poll on the SOS Forum to get a feel for just what proportion of musicians use soft synths. The musicians who responded nearly all fell into two main groups. The first group was quite happy to use any combination of hardware or software synths to get the range of sounds that they required, and I must admit to belonging to this category myself. The second group was just as large, and admitted to hardly ever using software synths. However, many of them qualified this by saying that they would be far more likely to use soft synths if they didn't have to operate them with a mouse.
The more traditional knob, switch, and button interface of a hardware synth is certainly a lot easier for hands‑on control, even if you still have to edit and modify sounds around the limitations of a tiny LCD window. It also has the huge advantage that unlike a mouse‑based interface, you can alter more than one control simultaneously.
However, software synths can be just as hands‑on with the addition of a suitable MIDI controller. Although strictly speaking all MIDI keyboards are controllers, I'm here referring to those handy devices that provides a bunch of knobs or sliders that generate various types of MIDI controller data whenever you alter their positions. There are now quite a few available, ranging from budget models like Doepfer's Pocket Control at just £89 to comprehensive control surfaces like Steinberg's new Houston at £1000, with even more expensive work surfaces like the Control 24 dedicated to upmarket systems such as Pro Tools.
With the addition of your MIDI + Audio sequencer, even a budget controller can provide more expressive control of any hardware or software synth. Complex real‑time filter sweeps and modulations become easy, you can weave layers of different sounds in and out of the mix with a simple twist of your fingers, mixdown of both audio and MIDI sounds becomes easier and more intuitive, and you can even use them to provide your sequencer with remote transport functions. So, without any further ado, let's see how your PC and a hardware controller can be used together to make your life easier, and your music more expressive.
Although some of the more expensive controllers provide controls dedicated to specific functions, most of the cheaper models generally have between eight and 16 variable controls, which can each be persuaded to generate a variety of different controller data types. Two distinct design approaches have evolved: preset and programmable.
Preset controllers output a fixed selection of controller messages. The most common set is for Yamaha XG and Roland GS instruments, providing control over such parameters as volume and pan, filter cutoff and resonance, ADSR settings, vibrato rate and depth, and chorus and reverb levels. One of the most popular preset models is Gmedia's Phat Boy; on its original release, this provided just three 'modes', each generating a different fixed series of controller messages from each rotary knob. Mode I is GS/XG compatible, Mode II is tailored for Creative Labs' soundcards, while Mode III provides a fairly generic selection primarily intended for real‑time control of Propellerhead's Rebirth. Version 2 added three more — Mode IV for the Roland JV/XP range, Mode V with more generic controllers, and Mode VI for use with modern synths like Korg's TR‑Rack and N1, Roland's SC88 Pro, and Yamaha's MU128. Owners of version 1 can buy a new chip to upgrade to the latest spec for £24.95.
A similar approach is taken by Philip Rees with their C16 controller, which provides 98 factory presets, along with two user memories that you can fill with MIDI‑downloadable 'profiles'. Doepfer's Pocket Control has 128 d ownloadable profiles, although switching between them means setting up fiddly binary combinations of DIP switches. Native Instruments' 4Control is unusual in being primarily dedicated to their own range of soft synths, with an important difference — it has four rotary encoders (see the 'Rotary Encoders' box) which operate like the data wheels found on many synths and samplers.
You could be forgiven at this point for thinking that a preset controller is only as useful as the range of presets it provides, despite the fact that each one may be suitable for controlling a range of devices. Many of the more common parameters such as volume, pan, filter resonance, and filter cutoff already have fairly standard controller numbers — in these examples 7, 10, 71, and 74 respectively — and most hardware and software synths should respond to these values. However, most VST Instruments have several dozen parameters available to MIDI control, and these vary from model to model. Thankfully, there's a way to convert the fixed data emerging from a preset controller's output into something else: software mapping.
The easiest way to describe this is with an example, so let's set up a Phat Boy knob to control a parameter on Steinberg's Model E VST Instrument running inside Cubase. You first need to know which controller is assigned to each of its parameters. You can either find this in the MIDI controller list in its manual, or by visiting the excellent K‑v‑R web site, which has several dozen detailed lists of MIDI continuous controller allocations for a variety of soft synths (www.kvr‑vst.com/midi.htm).
Let's say for instance that you want to use the Phat Boy in Mode III, in which its 13 rotary knobs generate MIDI continuous controllers 1 to 13, and to assign the first Phat Boy knob to control the volume of Model E's Oscillator 1, which uses controller 20. Open the Cubase MIDI System Setup window, and look for the Controller Map section. Double‑click in the box labelled 'Controller', and type in '1', and then double‑click in the 'Mapped' box beneath and type in '20'. Now, moving knob 1 on the Phat Boy will alter the level of Oscillator 1. Simple, eh?
If you use Emagic's Logic Audio you need to create a simple Transformer object to the same end. To do this you need to navigate to the Click and Ports layer of the Environment, create the Transformer object, and then set its Status to 'Control'. You can then either follow the screenshot setup shown in the SOS July 2001 Logic Notes column, to 'fix' controller 1 to generate controller 20 data, or follow the screenshots on Gmedia's own web site, which choose the 'Use Map' option to reassign a complete range of knobs with a single object. In the past Logic's mapping of soft synths has been complicated by the fact that its mixer plug‑ins respond to standard MIDI continuous controller data from numbers 64 upwards — the first parameter of the first plug‑in is assigned to 64, the second to 65, and so on. However, by the time you read this, Logic Audio 5.0 should be available, and this has a completely rewritten automation system (more on this later) which removes this limitation.
In general, you can take this mapping process as far as you like. So, for instance you could map the 13 knobs of Phat Boy's Mode III and Mode V and quickly switch between them 'on the fly' to gain access to 26 parameters. With suitable software you could also define different controllers depending on which MIDI channel is currently selected on the Phat Boy front panel: users of Propellerhead's Reason have used this approach to control more than 100 different parameters (www.reasonstation.net). As long as you have a suitable printout to hand to remind you which knob and channel controls which parameter, you're laughing!
The Cakewalk product range, including Pro Audio and Sonar, don't include controller mapping functions as such, but you can use one of their Studioware Panels to perform the same task. These are on‑screen panel s that can be designed to control practically any MIDI device, but they can also be driven by external controllers, and can respond to any MIDI data (including SysEx and controllers). However, even Cakewalk admit that designing your own Studioware Panel is a complex process, although I did find 63 panels on the Cakewalk web site available for free download, which should help you get started.
Other programs, like NI's Reaktor, provide MIDI learn functions: you select the parameter that is to be remote‑controlled, click on the Learn button on the Instrument Toolbar, and then move the desired hardware control to allocate this to the parameter. However, if your choice of software doesn't allow controller mapping, you can still use a stand‑alone utility like the freeware MIDI‑OX to do this. Finally, some hardware synths like Yamaha's AN1x and PLG150AN have built‑in mapping, allowing any combination of controllers to be allocated to any of their parameters.
While preset hardware controllers can be persuaded to be far more versatile through the use of software mapping, most of them can only generate MIDI controller information. Most other generic controllers, like Kenton's original eight‑slider Control Freak, the 16‑slider Control Freak Studio Edition, and Peavey's 16‑slider PC1600X, are stand‑alone programmable units with built‑in user interfaces that let you program and edit your own profiles. Unlike most preset models, which can only generate MIDI controller information, they can generate any MIDI data you like, including Note On and Off commands and strings of SysEx data. They also have buttons as well as sliders, and these are far more intuitive to use for the many on/off functions found on synths and software such as mute and solos. Buttons can also be programmed to change the functions of sliders, only send out an updated slider value when pressed, select MIDI channels, act as transport controls or punch in and out of record mode, or even to generate notes or chords! Note data can also be used to control MIDI lighting controllers.
In addition, these models all have external inputs that can either be used for basic CV‑to‑MIDI conversion, or to plug in an external foot pedal or switch. Foot pedals allocated to volume or expression duties are handy for playing string parts in particular, but a footswitch is just as useful, either as a sustain pedal, to punch in and out of record mode, or even to trigger a specific sound such as a kick drum. Yet another benefit is the ability to save multiple 'scenes' (100 in the case of the Peavey 1600X, and 256 with the latest OS of Kenton's Control Freaks). These are snapshots of the positions of each and every slider. Useful for automation and to preserve entire synth voice edits, they can be recalled at any time and sent to update your synths or sequencer.
Although these added features make fully programmable controllers more expensive, they are also far more versatile (the Control Freak for instance lets you Invert its sliders to operate like organ drawbars), while their LCD windows display the name and current value of the parameter you're tweaking, which is far easier than working blind. You may not have to get involved with programming either, since you generally also get between 50 and 64 factory profiles already loaded and ready for use, as well as a further range of downloadable ones to suit other instruments. Several hundred exist for each of these controllers, with new synths often being supported soon after they appear. Since you can download any of these profiles into any memory location inside the controller, you can create a different setup for each of your synths in adjacent locations to make on‑the‑fly switching much easier, without the bother of mapping.
The ability to output strings of SysEx data often lets advanced programmers access parameters that cannot be tweaked using MIDI controllers or the slightly more complex NRPNs (Non‑Registered Parameter Numbers). Some musicians might be put off by the prospect of having to get involved in programming at all, especi ally if SysEx is involved, but editing can be far more straightforward than you might imagine, especially with an informative LCD window and comprehensive manual, and in many cases it's largely a matter of modifying an existing message to point to a different controller. Programmable devices usually also have a Learn mode which captures incoming MIDI data and assigns it to a control automatically.
However, sooner or later, you'll benefit from creating your own profiles, and here the PC can make the process a lot easier, since PC virtual control utilities are available for the Doepfer Pocket Control, Kenton Control Freak and Studio Edition, the Peavey 1600X, and Philip Rees C16 (a Mac version of the C16 editor is also available). For the Kenton and Peavey models, which have LCD windows, the PC editor also makes typing in parameter names far easier.
With a little lateral thinking, you can use these PC editors to translate profiles from one model to another, which is ideal if you come across a profile for one of your synths that doesn't happen to be available for your particular controller. Although the profile format will differ from manufacturer to manufacturer, the MIDI messages themselves will be identical, so if you download and install the different freeware PC editors, you can then load in their profiles, examine the MIDI data strings, and then copy these into the editor available for your own controller. Finally, remember that most modern sequencers rechannelise incoming MIDI data to match whichever track you currently have selected, so in many cases you can leave both your keyboard and hardware controller set to MIDI channel 1, and as you select different tracks in your sequencer the controller data will be altered to match whichever MIDI destination channel you've selected. This certainly makes things easier!
Any data that you send to a MIDI input connected to your sequencer can of course be recorded, and this includes fader and knob movements from a hardware controller. Most musicians will be interested in two specific types of data: snapshots, and real‑time automation.
Snapshots are useful for initial setting up of such mix parameters as track levels and pan positions at the start of each song, as well as for setting up tweaked synth sounds. Most hardware controllers either have a dedicated snapshot button to send out a stream of MIDI data holding the current positions of each one of its controls, or the ability to send a 'scene', which effectively does the same thing. However, when editing synth sounds with lots of parameters, it may be safer to save the entire patch to make sure you've included every one.
There remains the question of where best to save the snapshot data. The easiest place is at the start of the song itself: although most parameters 'take' straight away, it's best to add an extra bar before the beginning of your song to hold the snapshot data, so that there's no possibility of an audible glitch before the first note sounds. This is particularly important if you've included patch changes for either hardware or software synths or rackmount effects — sometimes a second or so is needed after these before you can successfully play the first note with the new settings.
Although the budget controllers discussed here don't have motorised faders, and therefore won't follow the current parameter values, they are still excellent tools for generating automation data. In fact, when you first r ecord an automation pass while moving your knobs, faders, and buttons, operation is almost exactly the same as when using a moving‑fader system, except that the resolution of the controls is typically limited to 128 steps, rather than the 1024 steps that are usually generated by 100mm motorised faders.
In practice, the problems arise when you drop in to existing automation data: without knowledge of the current position of a control, you're likely to record a sudden jump in value when you 'overdub' further moves. You can of course edit these out afterwards, and with a little care this may not be too much of a problem, especially if you get your moves right first time! By the way, if you're setting up faders for volume, remember that MIDI controller 7 is for volume, and controller 11 for expression. Although they effectively perform the same function, volume is normally used as an overall control either as a snapshot for initially setting up levels, or for automation, while expression is used for crescendos and swells. If you keep these two functions separate, you won't suffer from lurches when your automation data overrides your pedal data.
Unfortunately, setting up automation varies hugely from application to application, so I can't provide you with cut‑and‑dried instructions, especially as different musicians may want to approach things in different ways. However, a quick look at the various methods will certainly give you a feel for what's possible, and just how easy (or difficult!) it is to set up.
One of the simplest applications to describe is Cakewalk's Sonar, which lets you map hardware knobs or faders to any of its controls in the Console or Track views: you just right‑click on the control and select the Remote Control option. In the dialogue window that pops up you can then allocate the selected on‑screen control to a Note, Controller, Pitch wheel, RPN or NRPN data, or SysEx string. To make things easier for preset controller owners, clicking the Learn button and then moving the desired control will automatically configure the Sonar control. The majority of Sonar's DX Instruments will also respond to MIDI controllers, and so can also be automated, but sadly the new DX8 plug‑ins, although able to be automated using Sonar's vector envelopes, don't yet have interfaces for MIDI mapping, although Cakewalk told me that this is a possibility in a future update.
Cubase VST now has three ways to alter volume and pan settings, which can make automation extremely confusing unless you choose carefully! Changes made in the Inspector boxes affect either the whole Part or the whole Track, depending which is currently selected, and are only really suitable for snapshot automation. Far more flexible and intuitive is using a hardware controller in real time, but unfortunately there are two methods of doing this. If you record MIDI controller data directly into each track and then tick 'Show Events' in Part Appearance, the data now appears in each part in the Arrange page, and can be edited inside the Key or Controller editors. This is suitable for basic volume and pan automation of MIDI tracks, along with real time changes to external synth sounds and in some cases VST Instruments.
However, to gain access to the many and varied options provided by the VST Channel Mixer, Master Mixer, and the new MIDI Track Mixer introduced in Cubase 5.0, you must use a dedicated VST Remote driver, ch osen from the drop‑down options in the VST Remote window. Unless your hardware controller has a profile designed to mimic one of these, your choice should be the one labelled 'Generic Remote'. In this special case the small remote window that pops up will have an extra 'Edit' button. Clicking on this launches a comprehensive Generic Remote Setup window that lets you map a host of VST parameters to external controls, including Volume, Pan, Mute, FX Sends, VST Instruments, transport controls, and so on. With the latest Cubase VST 5.0r5 update, you can even open various windows on screen from your controller. Once you click on the Automation Write button, new data will appear either in a new Audio Mix track, or in a new Track Mix track in the case of MIDI, and can once again be edited in the Controller editor.
Logic Audio is currently undergoing a major rewrite of its automation functions for version 5.0. The biggest differences from previous versions are that data is now tied to individual tracks, rather than to Arrange window sequences and audio regions, and up to 32‑bit fader values are now supported. Like Sonar, automation data can be made visible in vector form, superimposed over each track's existing audio or MIDI data, which many musicians find far easier to absorb than just watching the controls move in real time as in Cubase. Graphic editing will be available using an enhanced version of Hyperdraw. The new system removes all previous conflicts between MIDI controllers and automation data, so the controls of VST Instruments and Logic soft synths can now be mapped at will. Logic Audio 5.0 will obviously provide full integration with Emagic's forthcoming Logic Control hardware, which will provide control over hundreds of parameters, but details of compatibility with other controllers hasn't yet been made available.
Attaching a hardware controller to an existing setup is easy. You simply connect the MIDI Out of the controller to a spare MIDI input on your soundcard or interface, and then whenever you move any of its knobs or sliders, MIDI data will be received by your sequencer or synth. If you enter your notes using tracker software or a software step sequencer rather than with an external keyboard, this may be the only MIDI connection you need.
However, most musicians will probably want to use a MIDI keyboard as well. Thankfully, nearly all MIDI controller boxes incorporate a MIDI merge function so that any data arriving on their MIDI input socket gets merged with that of the controller. So, you can plug in your existing keyboard to the controller's MIDI In, and then route the MIDI Out of the controller to your sequencer, which will then receive the combined output from your keyboard and controller.
You might already be wondering whether there will be problems if you try to alter controller settings while simultaneously playing the keyboard. Well, MIDI merge will happily deal with most combinations of data, as long as you don't attempt to send the same type of data from both devices. For instance, wiggling the pitch‑bend wheel on your synth while moving a hardware control also set to generate pitch‑bend data will obviously give jumpy or garbled results.
Placing the controller between your keyboard and sequencer will probably be the easiest option for most musicians, but there are several scenarios when a different scheme will be more suitable. If the controller has a suitable PC programming utility then it's worth connecting its MIDI In to a computer MIDI Out instead, so that you can download/upload new profiles. Some controllers also respond to program change messages, so doing this will let you remotely switch presets or profiles from your sequencer.
However, nearly all modern sequencers will happily merge the data from multiple MIDI input ports, so if you use another computer MIDI input for your keyboard the data from both will still get merged. This is also a sensible approach when using Cubase VST's Remote Setup for automation: once you allocate a MIDI input to this it will hijack all its data, including notes, so you'll definitely need to use a different MIDI input for your keyboard.
Finally, a few words of warning about plugging controllers into the MIDI ports of elderly consumer soundcards. Some of these have tiny port buffers that are not really designed to cope with large amounts of MIDI controller data, so you may get hanging notes or strange noises from your MIDI devices.
One limitation with budget controllers is that they generate absolute values. While this is fine when altering one parameter, if you then switch to controlling another, the first time you move the control this new parameter's value will suddenly jerk to its new position. This is the reason why more expensive products use motorised faders.
However, where knobs are used, an alternative exists to the more common potentiometer — the rotary encoder. This has no end stops, and can be spun in either direction as many times as you wish. Each time you click it in the clockwise direction it adds (increments) one to the current value, and when clicked anticlockwise it subtracts (decrements) one. Although I'm told that these components cost four times as much as a standard 'pot', they still sound like the perfect choice for a hardware MIDI controller. NI's 4Control has four such devices at a retail price of £140, while Doepfer have announced the forthcoming PocketDial that will feature 16 of them (price to be announced).
However, buying one of these doesn't automatically produce control Nirvana: the device being controlled has to respond to such messages. As you might expect, NI's Reaktor does provide this integration — you just tick the 'All Incremental' box in the MIDI page of an Instrument's Properties. When a 4Control knob is turned it either generates a 65 for one step forward, or 63 for one step back, and the software then either alters the appropriate parameter. Unfortunately, although the MIDI standard does incorporate Data Increment and Decrement messages (using controllers 96 and 97), there seems to be no standard way to increment and decrement different controllers, so this aspect will have to be thrashed out by software developers before rotary encoders prove very useful for generic controller duties.
Another way to employ rotary encoders is for the device or program being controlled to send out the current value of a parameter when you select it. Once the controller knows this it can send out a new absolute value, but once again, this relies on the device to send out values on demand.
There are also ways to avoid parameter values lurching, even with normal pots and sliders. If the device is able to send out its current value as just mentioned, it's possible to wait until the position of the control passes this point before starting to update its value — this is sometimes termed 'knob pickup', and also used on hardware synths to prevent exactly the same problem occurring when switching between different presets. However, it does need two‑way communication between the hardware controller and device, and once again a suitable device or specially written software.
Overall, the rotary encoder looks very promising for future MIDI hardware controllers, but only when the MIDI increment/decrement aspects have been ironed out, and more hardware and software devices can respond to such commands or provide suitable value feedback.
Being able to start and stop your sequencer from a hardware controller is very liberating, but of course makes more sense using buttons rather than knob or fader controls, although these too can be persuaded to generate on/off style messages after suitable mapping by alternately setting them to their two extreme positions.
The process of setting up a group of buttons to manipulate transport controls varies for each MIDI + Audio application. Sonar provides a graphically attractive MMC (MIDI Machine Control) Studioware panel which can apparently be adapted for external control. Cubase provides a couple of methods: you can either allocate MIDI notes for specific transport functions in the Key Commands section of Preferences, or if you're also using the Remote Setup for automation you can allocate any MIDI message to any function on the Transport Bar. As mentioned in the main text, Logic Audio 5.0 will provide a completely rewritten automation system that is bound to include transport control functions among many others.
Carillon RK8 MIDI Controller Panel (optional extra for Carillon computers): eight rotary controls, two preset modes and software scripts for use within Cubase and Logic Audio.
£99 or £69 if bought with computer.
Doepfer Pocket Control: 16 rotaries, snapshot button, 128 downloadable profiles selected using rear‑panel DIP switches (SOS review July 2000); Pocket Fader: 16 sliders, 128 downloadable profiles; Pocket Dial forthcoming.
Pocket Control £89; Pocket Fader £125; Pocket Dial £TBA.
Native Instruments 4Control: four rotary encoders, two buttons.
Peavey PC1600X (SOS review March 1999): 16 sliders, 16 buttons, fully programmable with LCD, 50 profiles, 100 scenes.
Philip Rees C16 (SOS review January 2001): 16 sliders, 98 presets and two profiles.
Gmedia Phat Boy (SOS review July 1998): 13 rotaries, six fixed preset modes, snapshot button.
Kenton Control Freak Original (SOS review November 1998): eight sliders, eight buttons, fully programmable with LCD, 64 profiles, 256 scenes; Control Freak Studio Edition: 16 sliders, 16 buttons, fully programmable with LCD, 64 profiles, 256 scenes.
Control Freak Original £249; Studio Edition £299.
All prices include VAT.
Encore Electronics Knobby and Slidemate.
Knobby $249; Slidemate $249.
- Automation of sequencer MIDI and audio track levels and pans, effects sends and EQ settings.
- Real‑time tweaking of VST and Logic (but not DirectX) plug‑in parameters.
- Real‑time tweaking of VST, Logic, and DX Instrument sounds.
- Real‑time tweaking of external hardware synth sounds.
- Programming new sounds in software and hardware synths, either directly, using controller mapping, or in conjunction with a universal synth editor like Emagic's Sound Diver.
- Editing and real‑time tweaking of rackmount effect units with MIDI inputs.
- To provide remote transport controls for your MIDI+ Audio sequencer.
- As a front end for MIDI‑controlled lighting rigs.