Fancy turning your knob-laden MIDI synth into a control surface for tweaking plug-in synths? DP 's Consoles make this kind of application possible.
In last month's column I started to look at Digital Performer 's Consoles, and showed how to set up a Console that redirected MIDI Controller 1 data (from a synth's mod wheel) to the centre-frequency parameter of the Multimode Filter plug-in. The resulting small but actually quite sophisticated Console embodies a large part of what DP 's Consoles are all about: namely, making connections between MIDI sources and destinations that would otherwise be impossible to achieve, and changing one type of MIDI message into another (in this case, controller data into note data).
This month it's time to take a more in-depth look at how Consoles work, and examine the individual elements that make them up.
When it's first created, a Console (which you create by clicking the Project menu, then choosing Consoles / New Console) is the ultimate blank piece of paper. It's only what you put on it that determines its role and usefulness. The bits of the Console that actually do the work are 'Custom Control Items', of which there are three basic types:
- Knobs, sliders, value boxes and pop-up menus: These can all generate (or redirect) data with a range of values.
- Buttons and text buttons: These do the same for data having one or two values (like 'on' and 'off', for example).
- Arrows: These work in conjunction with other Control Items and can be clicked to add one to or subtract one from their current values.
Some Consoles use all these Control Items in abundance, whereas others just use one or two. In either case, though, the Console first has to be 'designed', using its so-called Edit Mode, and each individual Control Item configured for a specific task.
Edit Mode is switched on by clicking its button — a dotted square with a blob at the lower-right corner — in the Console's title bar. (This mode is also switched on automatically whenever you place a new Control Item.) To draw a slider, for example, you'd just choose Slider from the Insert ('I') mini-menu in the Console's title bar, then click and drag on an empty part of the Console window to place and size the Item. All Control Items are placed in this way, and while you're in Edit Mode Items can be selected, moved and resized as if they were objects in a graphics or page-layout application. Whenever you create a Control Item, a Control Assignment dialogue box appears prompting you to configure the Item for use right away. The dialogue box can take two forms, depending on whether you've just created a slider/knob/value box/pop-up menu, or a button. In each case, the upper part of the dialogue box is the same, allowing Source, Target and data types to be configured.
The idea is that each Control Item is capable of redirecting or remapping MIDI data, and that requires both a source of data and an ultimate destination, or 'target'. You don't have to configure a source, though, as you may want to regard the Control Item — a knob or slider, for example — as a source of data by itself. That's a completely valid way of working. What doesn't make sense is a Control Item without a valid target.
- If you're suffering from the DP 4 'Powerbook bug', which can cause processor spiking even at otherwise low CPU-load levels, give the following a try. Rather than setting DP 's hardware buffer size to 256, 512 or 1024 samples, try 128 instead, and then set the Host Buffer Multiplier to 2, 3 or 4 to achieve the same buffer sizes, but hopefully without the spikes. Watch www.motu.com for a MAS update that fixes this annoying bug.
- When you're doing processor-intensive work in DP 4, make sure you quit other non-essential applications. Use the Apple-Tab shortcut in OS 10.3 to quickly see what's running, and check to see what processes are being launched at log-in by going to Accounts, in OS X's System Preferences, selecting your account and then clicking the Startup Items tab. I recently tracked down a MIDI timing problem to a background application a printer driver installation had installed as a Startup Item, but which I hadn't been aware of! Disabling it didn't harm the printing, but fixed my timing problem.
There are two possible sources for a Control Item — either one of your setup's MIDI inputs (frequently your master keyboard or control surface), or MIDI data already present in a track. You can switch between the two using the radio buttons in the Source section of the Control Assignment dialogue box, and then choose from a list of options in the pop-up menus for each. The contents of these menus is entirely dependent on your current MIDI setup, and on the number and names of MIDI tracks already in your sequence. Once you've chosen a source, you then have to choose a data type for the Control Item to 'listen to', from the Receive pop-up below. Options include continuous controller data, note number, note velocities and so on, and when you choose one of these types various other options, most of which are completely self-explanatory, appear.
So, for example, to choose your controller's mod wheel as a Control Item source:
- Select the 'MIDI' radio button.
- Choose your controller (and possibly its transmit channel) from the pop-up menu.
- Select 'controller' from the Receive pop-up menu.
- Type '1' in the Ctrl # field — or just select 'modulation wheel' from the final pop-up menu. You can also click to highlight the field and then simply move the modulation wheel — DP 'learns' the controller number you're sending it and enters the value automatically. The final option is the 'Only follow source when selected' checkbox, which is often best left unchecked — but more about this next month.
Now for configuring Control Item targets, which in many ways is exactly the same as configuring a source. Once again, a target can either be a MIDI device or a pre-existing MIDI track, and you can choose to send a variety of data types via the Send pop-up menu. If you're planning to use a Control Item to translate one data type into another, by the way, it's the simple disparity between Source and Target data types that does the remapping — it's as simple as that. What's very important, though, is the 'Echo data from source to target' check-box. If it's selected, any data received by the Control Item is passed straight through to the target, without any of the modification that can be introduced by the next part of the Control Assignment dialogue box. This makes most sense with the settings available for sliders, knobs, value boxes and pop-up menus, as these give the option to limit the range of output values from a Control Item, and also to 'thin' the data stream it produces, both by limiting the frequency at which data is produced ('Minimum time change'), and making its scaling coarser ('Minimum value change'). The bottom line is this: if you want these data modifications to come into play, don't select 'Echo data from source to target'.
- PSP Audioware have been one of the most DP-friendly plug-in developers over the last few years, but though their widely admired Vintage Warmer and '80s-style delays are working fine as VST format plug-ins running under VST Wrapper 4, their newer VST offerings, such as EasyVerb, have not fared so well. But things are looking up, as their new ultra-flexible filter plug-in, Nitro, is available in Audio Unit format, and is already running without a hitch in DP 4.12. On the face of it, Nitro looks quite simple, but the guts of the plug-in are hidden away in the pages of a central 'LCD' screen, with only main parameters directly tweakable from the front panel. Despite its complexity, Nitro is not difficult to use and it has, I think, one of the best manuals I've ever come across. As with PSP's other plug-ins, there's a depth and refinement here which puts it right up there with the very best plug-ins on the market. I'd tentatively say, too, that it beats Antares's Filter at its own game. It's a top class plug-in, available from www.pspaudioware.com for $150.
- The VST to AU Adapter by fxpansion has recently been updated to version 1.3.02, incorporating stability tweaks and offering compatibility with an even wider range of VST plug-ins, as well as sporting a new copy-protection system. Check out www.fxpansion.com
- Native Instruments' Reaktor is now at version 4.1, and NI are claiming full compatibility for the Reaktor AU plug-in inside DP 4. There's a snag though, in that MOTU's Audio Unit inspection process currently has Reaktor down as a blacklisted Audio Unit, and so doesn't allow 4.1 to be used! Watch for a DP 4 update from MOTU — which could already be out by the time you read this — to fix this silly little hiccup.
As I mentioned above, button-type Control Items output just two data values (and sometimes only one). To configure these values, buttons get their own version of the Control Assignment dialogue box, without the range-limiting and data-thinning facilities, but with special controls to determine how the button actually works. Basically, there are three types of Console button: 'single state' (momentary action), 'two-state' (again, momentary, but sending one value when the button is pressed and another when it's released) and 'On/Off' (a latching or 'sticky' button). Single-state buttons can only send a single value, and do so only when they're clicked, so the Control Assignment dialogue box only grants them a single Value field. As you'd expect, then, two-state and On/Off buttons have two Value fields, one for their 'on' (or 'down') state, and one for their 'off' (or 'up') state. This is pretty intuitive to set up, although the 'M' option next to the 'off' field is a very specialised function that only makes sense in certain circumstances — again, more about this next month.
All the flexibility in the world doesn't count for much unless you can do something useful with Consoles. Fortunately, they can be immensely useful, proving themselves in a number of different areas. I like to think of Consoles as having three main roles: first, as control surfaces within DP for external MIDI equipment; second, as data remappers, allowing you to use almost any data source to control any other; and finally, as 'creative' devices providing modular synth-like connectivity for virtually any parameter accessible via MIDI messages.
An ideal candidate for a 'DIY' control-surface-type Console is the effects depth controller, ideally suited to rack synths that don't allow their 'Multi' or 'Performance' mode effects depths to be controlled from their front panel. You can easily set up a Console with 16 sliders or knobs, one for each MIDI channel on the synth, and each transmitting controller 91 values (or whichever is appropriate). During mixing you can use the Console to set appropriate effects depth values for each channel.
If you want to try a 'remapper' Console, you can use any 'knobby' hardware synth you have which is capable of sending controller messages when its front-panel knobs are moved, to control a soft synth such as Native Instruments' Pro 53, where the controller numbers associated with each of its parameters are preset. Within a couple of minutes you can have a Console allowing cutoff, resonance and ADSR controls on your hardware synth to control their counterparts on the Pro 53.
In the case of 'creative' Consoles, the sky's the limit. For example, several seconds of fun can be had by controlling note events on a MIDI instrument from your pitch bend or modulation wheel. In all seriousness, this can be a superb effect when used with the right patch, particularly unpitched noise-based sounds. You might also want to experiment with tying a synth's reverb depth to its note velocity, for example.
Next month, the final instalment on Consoles: using groups, integrating with recording and playback, and making them look nice...