You are here

Using MIDI Controllers With Reason

Reason Tips & Techniques By Simon Sherbourne
Published September 2020

My KeyStep Pro sequencing Rack, with a drum machine and three synths.My KeyStep Pro sequencing Rack, with a drum machine and three synths.

Reason has two completely different systems for configuring MIDI sources. We unpick some of the confusion around this to find the best ways to sequence and play Reason from external devices.

I'm increasingly turning to hardware sequencers to make my music, but even when I'm not using Reason as a DAW or plug‑in it's still my favourite sound module. Reason has two completely different systems for configuring MIDI sources. This month we unpick some of the confusion around this to find the best ways to sequence and play Reason from external devices.

Incoming

Screen 1: The Control Surfaces preferences is where MIDI controllers are usually set up.Screen 1: The Control Surfaces preferences is where MIDI controllers are usually set up.Most Reason users connect a keyboard controller to play Reason's instruments, tweak controls and record MIDI parts into the Sequencer. Unless told otherwise, Reason assumes that a connected device should act like a master, and will direct all MIDI from it (regardless of channel) to whichever track or device is selected. You'll find the device/port listed in Reason's Control Surfaces Preferences (Screen 1) under 'Easy MIDI Inputs'.

Reason has an intelligent MIDI control and mapping system called Remote. Controllers that you declare for Remote use (also in the Control Surfaces Preferences) can take advantage of fluid mapping of controls to Reason's devices. Many MIDI controllers have predefined mapping schemes ('Remote Codecs') that Reason uses for this purpose.

This is in line with how most DAWs work, but alongside this Reason has a separate direct MIDI routing system specifically for patching incoming MIDI channels directly to devices in the Rack. This method is great for connecting an external sequencer, or for using the Reason Rack purely as a multitimbral sound module.

MIDI Patchbay

Screen 2: Ports you want to appear in the MIDI Rack Interface are selected in the External Control section of the Sync Preferences.Screen 2: Ports you want to appear in the MIDI Rack Interface are selected in the External Control section of the Sync Preferences.The direct MIDI routing system lets you elect up to four MIDI ports to appear on a virtual MIDI interface at the top of the Reason Rack. These are chosen in the Sync tab of Reason's Preferences, under the External Control heading (Screen 2). Simply choose MIDI ports from the pop-up lists next to each the four buses.

Next, go to the Rack, scroll to the Hardware Interface at the very top, and show the Advanced MIDI panel (Screen 3). The panel has four buttons for viewing the buses (MIDI Ports), with panes for the individual channels. The pop-ups list every device in the Rack, and set the routing target for each incoming MIDI channel. Note that Mix Channels modules are shown as well as instruments and effects (so that you can automate them from external CC sources). There's often some overlap in device names, so be careful that you're routing to the right place.

The main screen shows the Rack I've set up for sequencing with an Arturia KeyStep Pro, which has four channels. A Kong drum machine is patched to the KeyStep's Drum track on channel 10. The other three synths are played by the three Arp/Sequencer tracks available on the keyboard.

Screen 3: The Advanced MIDI panel of the Rack's Hardware Interface lets you patch incoming MIDI channels to devices.Screen 3: The Advanced MIDI panel of the Rack's Hardware Interface lets you patch incoming MIDI channels to devices.

Note On Sync

When you're using Reason purely as a sound module, you might not need to sync Reason's transport. However, you might want to send it MIDI clock from an external source so that synchronised effects and modulators match your external sequencer's tempo. You can choose your MIDI clock source in the Sync Preferences, below where you set up your control buses.

However, while you might not need to think about timeline sync, you do need to be aware of audio latency when using Reason as an external sound source. The audio buffer (in Audio Preferencess) determines how quickly you'll hear a sound from Reason after it's triggered from your external sequencer or controller. If this delay is a noticeable amount, sounds triggered in Reason will be out of time with other stuff you're sequencing. The simplest way to fix this is to set the latency of your audio driver as low as possible (I try to never go above 128 samples). Your hardware sequencer may also have some way to offset MIDI timing to different outputs, but this doesn't help with live playing.

Continuous Control

As well as note sequencing you can use the External MIDI Bus connections for controlling and automating Rack devices from knobs, sliders and other MIDI CC sources. However, because patching via the Rack interface is not part of the Remote system, you can't simply map (learn) any MIDI source to a device control with the usual Remote Override option.

Instead, you'll need to use the predefined MIDI CC assignments built into the Rack devices. You can find these in the MIDI Implementation Chart that's part of Reason's documentation. For example, Filter A on the Malstrom synth in my Rack responds to MIDI CC#79. The KeyStep Pro has a dedicated controller bank of five encoders. I configured the first of these to send on controller 79, and I set its MIDI channel to 4 to match the note track patched to the Malstrom. Now I can both sequence and automate the synth from my hardware.

Inter-app

Traditionally, the External Control buses have also been used to trigger Reason from other software apps running on the same computer, especially if they didn't support Rewire. The need for this has faded with Reason becoming a plug‑in: it's easier to run Reason's instruments directly inside your DAW than to set up internal MIDI buses. However, if you prefer to use Reason as a complex multi-device Rack environment, the original method may still appeal, as the Reason plug‑in can't accept multiple MIDI inputs. Macs have an internal MIDI port available by default, which you can see as IAC Driver Bus 1 in the screens. For Windows users I'd recommend installing loopMIDI.

Lock Box

Screen 4: As an alternative to using the Advanced MIDI Hardware Interface, single-channel sources can be locked to a specific device from the right-click menu.Screen 4: As an alternative to using the Advanced MIDI Hardware Interface, single-channel sources can be locked to a specific device from the right-click menu.Using Reason's External Control system is not the only way to directly patch MIDI to a Rack device. MIDI controllers (or other MIDI source ports) that are enabled in the Control Surfaces Preferences can be Locked to a specific device, either from the Edit menu or right-click menu (Screen 4). The port will subsequently only communicate with that device, regardless of Rack or track selection in Reason.

In fact, there's a couple of notable advantages to working this way. Firstly, you can take advantage of the MIDI control learning, in other words use the Remote Override Mapping feature to control parameters without having to look up and configure CC values on your hardware. Secondly, you can record into Reason tracks. MIDI routed via the External Control buses has no connection to the Sequencer, which is a problem if you hoped to capture your external sequences as MIDI in Reason.

So why not go this route all the time? The answer comes down to MIDI Channels. Connections via Remote and the Control Surface setup page are port-based. So you can direct or lock any MIDI port to a specific device, but can't specify a channel. The External Control interface splits out each port to multiple channels and makes them available in the Rack. The example I've used here with the KeyStep Pro would not be possible without using the Advanced MIDI interface, as the four sequencer channels are MIDI channels within a single port.

Incidentally, I could set up the KeyStep Pro as both a Remote-style master keyboard and an External Control sequencer, but it would require connecting it via two separate ports: the USB, and a standard MIDI port via an interface. I suspect I could set up some clever filtering by connecting via a Retrokits host like their new RK-006. With more controllers offering both master keyboard and sequencing, it would be great if Reason could offer channel selection as part of its Control Surface setup.

Buy Related Tutorial Videos