Using iPad MIDI Controllers with rsTouch and Reason

© 2012, 2016 Harmony Systems, Inc. All rights reserved.

The iTunes App Store offers a rich selection of MIDI keyboard control apps for the iPad. These range from traditional "black and white key" types to drum controllers - there are even special controllers that help navigate pitch and harmony while you play. However they all have a common limitation when used with Reason: they cannot be readily used if you also use a Reason control surface app like rsTouch*.

There are restrictions in both Reason and iOS that prevent you from doing what seems to be an obvious activity: switching between iOS controller apps. There is no easy work-around for these restrictions. Even switching between a controller like rsTouch and a simple keyboard controller is fiddly and mistake-prone.

Delora Software has addressed this problem by developing a special Reason control surface support file ("codec"). This codec, named rsTouch_Perform, is automatically installed when you install rsTouch's Reason support files. This is the control surface codec that makes it possible to use rsTouch’s “Perform” feature music keyboard and drum pad. It also enables you to use other iOS controller apps along side rsTouch to control Reason.

rsTouch_Perform is designed to be used with a wide range of keyboard and similar iOS MIDI controllers. A typical use would be to use an iOS keyboard app as Reason's master keyboard controller. Once that app is set up to use sTouch_Perform (more on this later), you can switch freely between using rsTouch to control Reason's Main Mixer (the "SSL”) plus devices, and the keyboard controller to play and record into Reason's sequencer or other device. At the same time you are still able to use rsTouch’s built-in keyboard and drum pad. Since Reason treats sTouch_Perform as a different controller, you can lock it to any Reason device if desired.

* Note: If you use an iPad USB MIDI interface with multiple ports that iOS can access, and those ports are also connected to your Reason computer, then it is possible to solve this problem by having different iOS controller apps use different physical MIDI ports. This can work also if you combine a network MIDI port with a physical MIDI port. However multiple ports is not a common set up, and for wireless support you still have only a single network MIDI port.

Initial setup

No additional set up is required to enable the rsTouch_Perform control surface. The set up is performed as part of the overall rsTouch installation process that you did before you first used rsTouch. If you have not already installed the rsTouch codec files, and set up the Reason control surfaces, please see the set up information found here.

Everyday use

Once you have Reason set up for rsTouch you can use rsTouch_Perform independent from the other rsTouch control surfaces. Normally rsTouch_Perform is left so that it follows the currently selected Reason device. That way you can use it to play and record into the sequencer, just like you would any other keyboard controller.

On your iPad, set up your controller apps to use the same MIDI port as rsTouch. Switch between apps as you normally do. When rsTouch is active it will control Reason's Main Mixer, the current (or locked) device, transport functions, and its keyboard and drum pads send MIDI to Reason devices and sequencer. Your other controller apps can be used to send MIDI notes, pitch bend, mod wheel, and other similar functions (more on this later).

The one very important detail is that these control apps must send on MIDI channel 1. rsTouch_Perform only recognizes MIDI on channel 1; all other MIDI is ignored. Likewise if your controller can receive MIDI information from Reason it must be set to receive on MIDI channel 1. Furthermore if you accidentally allow another iOS app to send MIDI on any channel other than one, you will interfere with rsTouch’s normal operation. Make sure that your other apps only send on MIDI channel 1!

rsTouch for Reason

The Delora rsTouch for Reason app transforms your iPad into a controller for Propellerhead Reason.

More about rsTouch_Perform

rsTouch_Perform is designed to serve as a generic Reason keyboard controller. It supports all the MIDI keyboard-related commands that Reason handles. Those are:

* note on and off, including velocity
* after touch ("channel pressure")
* pitch bend
* modulation wheel (MIDI CC01)
* breath controller (MIDI CC02)
* expression (MIDI CC11)
* sustain (MIDI CC64)

The MIDI assignments are those used in nearly every MIDI controller. Your iOS app probably follows the same convention. If you make your own iOS controller using a programmable MIDI controller such as the Lemur app or TouchOSC, then you can assign these MIDI commands as you wish. Just remember they must be on MIDI channel 1!

If rsTouch_Perform only provided the above MIDI support, then it would be sufficient for a large number of keyboard, drumpad, and other apps including step sequencers. However rsTouch_Perform goes one step further by providing support for 8 faders, rotaries, and switches/buttons. If you have (or make) an iOS controller app that also includes these items, you can set it up so that Reason will be able to assign them to whatever functions you wish!

rsTouch_Perform’s additional controllers (names in quotes are what is shown in Reason):

"Fader 1" through "Fader 8" MIDI CC48 - CC55
"Knob 1" through "Knob 8" MIDI CC16 - CC23
"Button 1" through "Button 8" MIDI CC80 - CC87

All of these controls send and receive the corresponding MIDI messages. That means your iOS controller app will update when Reason changes the device setting assigned to that controller. In other words, bidirectional updates.

Here is an example of assigning one of Thor's knobs (filter cutoff) to one of rsTouch_Perform’s faders:

MIDI controllers with rsTouch 4