« Propellerheads ReFill Packer | Home | DSound GT Player - Guitar FX Solution »

Propellerheads Remote Protocol

Propellerheads Remote makes it much easier to use control surfaces in Reason, while at the same time offering more control and flexibility.

What is Remote?
Remote is a protocol for handling communication between control surfaces (MIDI keyboards, remote control devices, etc.) and software applications (e.g. Reason). It handles everything from delivering MIDI note data from a keyboard to the application to using knobs, faders and buttons on a control surface for tweaking synth parameters in the application, controlling transport, etc. Remote also supports two-way communication, in order to make use of motor faders, dynamic displays and LED indicators.
The Remote protocol was introduced with Reason 3.0, which provides Remote support for a large number of control surfaces. Support for new control surfaces can be added at any time, in many cases by the control surface manufacturers or even by users.

What does Remote do?
Here are some of the main benefits of Remote:

  • Tighter integration between software and hardware
    While software audio applications can be immensely powerful, there’s no doubt that physical hands-on control of parameters, transport and other functions is superior to clicking and dragging with a mouse. One of the goals of Remote is to provide a very tight integration between the control surface and the application - the control surface should feel like a natural part of the application rather than a separate, external device.
  • Ease of use
    Historically, control surfaces have required quite complicated setup procedures - the user needed to program the control surface so that the knobs and faders sent the correct MIDI messages, switch between different templates on a control surface or set up manually which parameters should be controlled in the application. If you use a Remote-supported control surface with Reason 3, all you need to do is connect the control surface and set it up once and for all, typically by selecting a single factory preset - no programming or understanding of MIDI messages is required. In many cases, the Remote system can even identify the control surface and set things up automatically. After that, the control surface is ready for use. All knobs and sliders will automatically and dynamically be mapped to sensible parameters in Reason; the user never needs to switch presets or re-program controls on the surface.
  • Full freedom
    As described above, all control surface items will automatically be mapped to control sensible parameters in the application. However, you can also choose to override these mappings for individual parameters, to tailor your setup for the project or situation. For example, you could have one slider always control the master level of the main mixer, assign some keys to transport control, have the foot pedal step through patch changes, and so on.
  • Use several control surfaces
    With Remote, you can have any number of control surfaces connected. You can choose whether they should control the same Reason device or different devices.
  • Make use of advanced control surface features
    Remote supports two-way communication, for motor faders, dynamic displays, indicators, etc. For example, a control surface with dynamic displays can show which devices and parameters are controlled at the moment, along with the parameter values. This makes the integration between the hardware and the software even tighter - with the right control surface you can play a live gig with Reason without needing to look at the computer screen at all!

Adding a control surface
To add a control surface means to make it available for use in the program. You can have any number of added control surfaces at the same time. Added control surfaces are listed in the Reason’s Preferences (Control Surface page).

Connections
Propellerheads strongly recommend that all control surfaces are connected to different MIDI ports. Having a two surfaces (e.g. a keyboard and a controller box) connected via MIDI thru to the same input may work, but in many cases it won’t. This is because they do not limit a control surface to use a single MIDI channel.

Some control surfaces require a two-way MIDI connection (for feedback, motor faders etc.). With other control surfaces, two-way MIDI isn’t required but may allow Remote to auto-detect the surface (see below). Of course, if the control surface is connected via USB, this is not a problem.

Add Automatically
Reason can auto-detect a connected control surface and add it, provided that:

  • The surface uses a two-way connection (e.g. USB).
  • The surface replies to a SysEx ID Request message.

Unfortunately, not all keyboards and controller devices responds to ID Requests. If a manufacturer wants to make their new control surface work super-nice with Reason, ID Request response is a very good thing to have!

Auto-detection can happen in two places when you use Reason:

  • When you launch the program for the very first time, a Setup Wizard will help you set up basic audio and MIDI - this will attempt to auto-detect connected surfaces. However, the Setup Wizard only cares about the Master Keyboard. This means that the Wizard will look for surfaces with keyboard - the first found will be suggested for use as Master Keyboard.
  • In the Control Surface preference page, you can at any time click the Auto-detect button. This will attempt to auto-detect all connected control surfaces.

Add Manually
If a control surface cannot be auto-detected, you need to add it manually. This means clicking the Add button on the Control Surface page, selecting a Manufacturer and a Model from pop-up menus and specifying which MIDI input port it’s connected to. If you’re uncertain about the MIDI input port, there’s a “Find” button - click this and play/tweak your control surface and Reason will select the correct MIDI input port.

If your control surface model or manufacturer aren’t listed in the Add dialog, you have to select a generic “Other” control surface. In that mode, control surfaces work much like in Reason 2.5, i.e. you have to make sure the control surface items sends the correct MIDI CCs, depending on which Reason device you want to control. Templates or presets made for Reason 2.5 can be used with “Other” control surfaces.

What happens when you add a control surface?
Remote expect each control surface to use a specific set of MIDI messages for its items (specified in the codec - see the technical details at the end of this document). This means that the control surface needs to be put in a specific state for use with Remote/Reason.

  • With some control surfaces, Reason takes care of this automatically - the user doesn’t have to do anything.
  • Other control surfaces require that the user selects a certain factory preset - an alert will appear asking the user to do that.
  • In some cases, Remote will attempt to restore that preset to factory settings - the user will be alerted that this will happen.
  • There will also be a “Control Surface Details” pdf file installed with Reason, telling the user how each supported control surface should be set up (and how you restore a surface to factory settings etc.). Normally, it’s not necessary to do any manual setup though.

If an added control surface has keyboard, and no surface is selected as Master Keyboard yet, the added control surface automatically becomes the Master Keyboard. There can only be one Master Keyboard.

Managing control surfaces
On the control surface page you can also do the following:

  • Edit the name or MIDI port settings of a control surface.
  • Change which control surface is the Master Keyboard (or specify that no surface should be Master Keyboard).
  • Specify that a control surface should not be used with Reason - this is useful if it’s connected to your system but you are using it with other applications only, etc.
  • Remove a control surface.

Default mapping of a control surface
In Reason, you play a device in the rack by setting MIDI input to the sequencer track for that device. By default, all control surfaces follow the sequencer MIDI input. This means that if you have a basic MIDI keyboard and a controller with some knobs, and set MIDI input to a Subtractor track in Reason, both surfaces will control the Subtractor (you can play it and tweak its parameters).

Each control surface item is mapped to a specific Reason parameter in a sensible way, hopefully. In the example above, the first knob or slider on the control surface may e.g. control the filter cutoff, the second knob the resonance etc. This is specified in the mapping file for the control surface (see the technical details). When you change MIDI input to the track for another device, the mapping automatically changes. Now, if MIDI input goes to a mixer track, the first slider will control the channel 1 level fader, etc.
The user does not have to change the settings on the control surface at any time - once a surface is added and set up for use with Reason, the program takes care of the rest.

Often, there are more parameters on a device than there are items on a control surface. In that case, we use variations to remap the control surface items. On more advanced control surfaces, there are often buttons for selecting variations on the control surface itself (technical note: these buttons should not change the state of the control surface, but tell Reason to select another variation for the surface). On most surfaces, we use “keyboard shortcut variations”. The user selects a variation by pressing [Ctrl]+[Alt]+[number 1-0 on the main computer keyboard]. For example, if your eight-fader controller box is controlling the Reason Mixer, the first eight mixer channels will be controlled by default. Pressing [Ctrl]+[Alt]+[2] makes the faders control mixer channel 9 and upwards. Pressing [Ctrl]+[Alt]+[3] may change it to control pans or sends, etc.

  • The keyboard shortcut variation is global - it affects all control surfaces (with some exceptions, see below).
  • To avoid confusion, the keyboard shortcut variation is reset to default (1) as soon as you set MIDI input to another track/device.

Locking a control surface
You can lock a control surface to a specific Reason device. This means it will stay with that device, regardless of which sequencer track has MIDI input. A typical example would be to lock a control surface to the main mixer - that way you can always control levels and pans etc. Locked control surfaces uses the mapping from the mapping files as usual.

  • When you lock a control surface to a device you can choose whether it should follow the global keyboard shortcut variation or use a specific variation always.
  • The surface locking status is saved in the song.
  • The Master Keyboard cannot be locked - it will always follow the MIDI input to the sequencer.

Remote Override
Remote Override allows you to map a control surface item to a specific Reason parameter or function. This overrides all mapping. An example would be to have a specific slider on your control surface always control the master fader, or to assing a few keys on your keyboard to control transport. This is similar to the MIDI Remote in earlier versions of Reason, but there are now more remotable items, including Undo/Redo, song and loop positions, patch selection and sequencer track MIDI input assignment.
Obs: Remote Override mappings are saved in the song

Nomenclature
Remote is the name of the protocol used in Reason 3, for communication between hardware controller devices and the program. Propellerheads use the term control surfaces, meaning MIDI keyboards, remote control devices or similar. In Reason, one control surface can be selected as Master Keyboard. This is the keyboard used for playing instrument devices and recording notes. A control surface item is a control on the surface, e.g. a knob or a slider. It is given a unique name in the codec for the control surface (see the technical details at the end of this document). A remotable item is a parameter or function in Reason that can be controlled via Remote. For example, this could be the filter frequency parameter on a synth device, the Play button or a patch selector button. The default mapping of a control surface item to a remotable item is done in the mapping file for the control surface (see the technical details at the end of this document.

Supported control surfaces in Reason 3.0:
The following control surfaces are supported by Remote in Reason 3.0 (this list is growing):

  • Alesis: Photon X25
  • Behringer: BCF-2000, BCR-2000;
  • CME: UF-5, UF-6, UF-7, UF-8;
  • Doepfer: Drehbank, Pocket Control, Pocket Dial, Pocket Fader, Regelwerk;
  • Edirol: PCR-M1, PCR-1, UR-80, PCR-50/PCR-M50, PCR-30/PCR-M30, PCR-80/PCR-M80;
  • Evolution: MK-249C, MK-425C, MK-449C, MK-461C, UC-33, UC-33e, X-Session;
  • Frontier Design Group: TranzPort;
  • Kenton: Control Freak, Control Freak Live, Control Freak SE, Spin Doctor;
  • Keyfax: Phatboy;
  • Korg: microKONTROL, KONTROL49
  • Mackie: Control Universal, Control Universal C4, Control Universal Extender;
  • M-Audio: Keystation Pro-88, O2, Oxygen 8, Ozone, Ozonic, Radium 49, Radium 61;
  • Novation: Remote 25, X-Station;
  • Peavey: PC1600x;
  • Wave Idea: Bitstream 3X;

Becoming a Remote Developer
Propellerhead Software will issue licenses to companies in the audio or music industry or individuals interested in creating codecs for controllers. There are no costs involved. Propellerhead Software will administer the authorization, copyrights, logos and trademarks. The company will also provide the licensee with technical support, free of charge, if you are a company. Clicking the link below takes you to the developer pages, where you will find detailed information and forms for applying for licenses.

Propellerheads Developer Pages

Tags: , , , , , , , ,

Related posts





About Propellerheads Remote Protocol