I have to confess that the second biggest addition to Reason 3 passed me by for a long time after the software's release. Flashy new rack devices such as the Combinator and MClass effects were bound to grab most of the attention and column inches. However, in the long term we may come to see that Reason's new Remote protocol for interacting with MIDI keyboards and control surfaces was at least as significant an addition as the new devices.
Remote is the built-in protocol that allows Reason 3 to use keyboards and control surfaces featuring knobs, buttons and faders, without the need to set up control values or map controls to parameters manually. There are two sides to Remote's functionality. First, Reason now offers direct support for a large number of common controllers, so all you need to do is tell the software what devices you are using and it will be aware of the controls you have available. As new devices come onto the market, Propellerheads add support via downloads from their website. Second, Reason now dynamically allocates your available controls to whichever device is active in the rack (the currently selected MIDI track). Mappings default to the most relevant parameters, with the available controls grouped into 'variations' (banks) that can be accessed via keyboard shortcuts. For example, if you have eight knobs (as with the commonly used M-Audio Oxygen 8) they are initially assigned to the filters, filter envelope amount and LFO1. Switching to a second map, by pressing Ctrl-Alt-2 (Windows) or Command-Option-2 (Mac), will redirect your knobs to the envelopes. A third variation lets you control the oscillators.
Things get even better when you have more than one controller. For example, you might have a MIDI mixing surface such as a Mackie Control, as well as a master keyboard with knobs. In this situation, you can 'lock' one of the units to a single rack device. The obvious example here would be to assign the Mackie Control to Reason's mixer and use the keyboard's knobs for whichever instrument device was active. Controllers that have motorised faders and LED displays (such as the Mackie) are also supported by Remote. MIDI data is sent from Reason to the device, to keep the device up to date with on-screen controls and displays.
Chances are that if you're using Reason 3 you've already done enough to get your main keyboard working, because the first time you run the program it brings up a setup 'wizard'. However, here's a quick reminder of how to add hardware controllers:
1. Open Preferences and switch to the Control Surfaces and Keyboards page.
2. Click Add, and a new window pops up, letting you choose a make and model.
3. In the same window, choose a MIDI interface and port from the bottom pop-up menu.
4. Read the notes in the window for specific instructions about your hardware. You may be told that you need to switch to a particular mode, or that Reason will upload a template (the screenshot at the start of this article shows an example featuring a Novation Remote series controller).
If your device is not supported, you should check whether there's a Remote update on www.propellerheads.se. If you still have no luck, you can choose 'Other' from the make and model menus and type in the name of your device. Keyboards and standard controls (pitch-bend and mod wheels) on unknown devices will work, and there's a good chance that any other knobs and sliders you have will also have an effect in Reason, although they won't be mapped in an intelligent way, like the fully supported devices. At this point, you can either stick with what you have, try to edit the control values on your hardware, or write your own Remote 'library'. The last is a subject for another article. For now, I'm going to assume that you have a supported device.
The first device you assign will be designated the 'master keyboard' and will always follow the active MIDI track. When you have more than one device, you can choose which is the master. Once you've closed the Preferences, you will be able to try out your controller. To choose a Reason device to control, make it the active MIDI device in the sequencer, exactly as you do when you want to play a device. You can then experiment with what your hardware controls do, and how they are mapped across the variations. If you have a surface with a large number of knobs, or you select a Reason device with only a few mappable controls (such as NNXT or Combinator) you may find that all parameters are mapped without the need to change to different variation pages. Change to another Reason instrument in the sequencer and all your control surface knobs and so on will now operate this device.
In the screenshot on the right you'll see that I've added an Evolution fader unit in Preferences. By default, this unit will now follow the active Reason instrument, in addition to the Oxygen 8. This is fine, but there will be overlaps of controller mappings, making this an inefficient use of two controllers. You might prefer to have the Evolution box permanently mapped to the main mixer's faders or a drum machine's level controls. To lock a control surface to a specific Reason device, either:
Right-click (Control-click on single-button Macs) on the device and choose 'Lock to'.
Or choose 'Surface Locking' from the Options menu.
The screenshot overleaf shows the Surface Locking dialogue, with the Evolution controller locked to the Remix mixer. When the chosen Reason device has more controls than are available on the hardware, the 'Always use mapping' pop-up menu appears, offering options for how this is handled. You can choose to have the locked device follow the variation keyboard shortcuts, or remain on a specific page.
Remote tries to configure your controls in the most useful way, but there will still be times when you want to map controls to specific parameters manually. In particular, if you're preparing to use Reason live, you'll probably wish to configure your main controller to adjust several devices at once. For assigning your own controls manually, you'll need Remote Overrides, which work in the same way that control assignments worked in previous versions of Reason. The simplest way to lock a hardware control to a parameter is as follows:
Right-click (control-click) on the parameter and choose 'Edit Remote Override Mapping'.
This brings up a dialogue box (see screenshot, top right) that allows you to assign a device and control. As in previous software versions, simply click 'Learn From Control Surface Input' and wiggle or press the relevant control on your control surface. There's also another assignment method, as follows:
1. Choose Options / Remote Override Edit Mode. The Reason rack will display an overview of all assignments in the selected Reason device (see the screenshot on the right).
2. The rack is greyed out, with assignments shown as yellow knob icons. Blue arrows indicate other assignable parameters. All automatic assignments on locked devices and the currently active sequencer device are displayed.
3. To see which control an assigned parameter is mapped to, simply place the cursor on it. To assign a control, double-click it and a rotating lightning bolt icon will appear over it. You can then move a hardware control and it will be assigned and displayed as a static lightning bolt.
Unlike the dynamic control mappings assigned by Reason, Remote Override assignments are stored as part of the song (as are Surface Locking settings). This means that if you wish to use your user-defined control map you will need to save the current song and use it as a template. Template songs can be selected as the default starting point for new songs by selecting the 'Custom' option in the General page of the Reason Preferences.
Selecting 'Additional Remote Overrides' from the Options menu brings up a list of special functions that can be assigned to control surfaces. Some basic functions, such as Undo/Redo and Goto Left/Right Locator, can be assigned to buttons here, as can instrument-specific functions such as patch selection. The really powerful features are the ones that tie in with the main Remote functionality. To start with, there are the Target Track (Delta), Target Previous Track and Target Next Track options. These let you select from the control surface which sequencer track will be active. In other words, you can quickly choose a device to control without having to use the mouse. The Previous and Next options are meant for use with buttons, but if you have continuous rotary encoders you can assign one to the Delta option and scroll quickly through the track list.
The next really useful overrides are the Select Keyboard Variation commands, again available as Next, Previous and Delta options. These allow you to use buttons or an encoder to cycle through the banks of controller assignments for the active device, this time without having to reach for the Ctrl-Alt-N or Command-Option-N keyboard commands. With both the Target Track and Keyboard Variation commands assigned on your control surface, you'll be able to move around the Reason rack and adjust any parameter without ever having to touch the keyboard or the mouse.