How to setup MIDI controllers with Reason.
I made this page as a guide to connect your MIDI gear (like controllers and keyboards) to the selfcontained software musicstudio Reason 2.5. Many of its users have asked questions on how to do this on the highly informative Propellerheads General and P-Heads Forum.
Connecting the gear.
There are two ways of connecting a MIDI controller: One way is to connect your MIDI apparatus with a standard MIDI cable to your computers soundcard or external sound device. Make sure you attach the cable it's MIDI IN plug onto the MIDI OUT port of your controller. Also make sure you have installed the correct drivers for your soundcard or external sound device. When you use a Windows based platform, I suggest you install an ASIO driver to reduce latency to a minimum. This driver comes with software packages such as Cubase or Cubasis. However, you can obtain a free ASIO driver from this site.

Some devices might need an USB cable to connect the MIDI controller to your computers USB port. Once again, make sure you have installed the correct drivers for your MIDI controller and the computer USB ports.

You can add up to four different MIDI devices and this guide provides information on how to setup multiple MIDI devices in Reason. I use my own configuration as an example.

OK, now it is time to switch on the power supply of your controllers and launch Reason as a standalone application.
First adjust and check the settings in Reason. Go to the Edit menu and choose Preferences. From the Page option choose MIDI and select the appropiate driver for the MIDI controller which is in my case is MPU-401, the MIDI driver from the internal soundcard with a old Kawai K1 keyboard attached. This way I can use the the keys from the keyboard to trigger the notes in devices such as the Malstrom, NN-XT and SubTractor, but also funny things like the Mute buttons on the Mixer.

Then select Advanced MIDI from the Page option and at the BUS A: option, select the MIDI driver name (MPU-401). When you have a second controller attached, in my case an Evolution UC-16 USB MIDI controller, you can select this device under BUS B: (USB Audio device). This enables me to trigger faders and knobs on all Reason devices, besides the notes with my keyboard.

Under Miscellaneous, Remote Control choose the name of the device you want to be able to map a function on a Reason device to your controller. I want to adjust the map of the volumefader on the Mixer to a controlnumber and channel on my UC-16, so I have choosen USB Audio device here.

From the Page option choose General and set the Default Song to Empty Rack.

Enough with the settings, lets go Reason.
The Hardware Interface.
Open a Empty Song (File Menu, New).
The Hardware Interface enables you to define 16 MIDI channels to four different MIDI controllers under the BUS Select section. Each channel (1-16) can trigger a Reason Device. Press on the A button and the name off the appropiate controller appears (MPU-401) and when you press on button B the second controller name appears (USB Audio device).

Create a Mixer (Create menu, Mixer 14:2) and a Subtractor (Create menu, SubTractor Analog Synthesizer)

On the hardware Interface you can assign a MIDI controller to a Reason device. Press button A and press the select button next to channel 1 and choose the Reason device you want to make a connection, in my case the Subtractor as I want my Kawai K1 keyboard to control the notes. Hit some keys on the keyboard and you will hear the device play.

If you want to assign a second controller to a Reason device (for example the UC-16 with the Mixer), press button B and press the select button next to channel 1 and choose the Reason device you want to make a connection, in my case Mixer 1 In.
Controlling Reason.
Setup for live playback:
Most MIDI controllers has build in presets. My UC-16 has one for the Reason Mixer. I just define the right template for the Mixer on the UC-16 and I can tweak the faders on the Mixer immediatly, if the mixer is set to channel 1 on BUS B. If you do not have built in presets for Reason devices or you are using a different MIDI channel (2 or 3), then you can either change the CC number and MIDI channel on your MIDI controller or assign a knob or fader on your MIDI controller to a function on a device in Reason by using the Edit Remote Mapping feature. In the first case you have to read the manual included with your controller and change its MIDI channel to send data and perhaps also the corresponding CC controller number. When your controller is not able to alter MIDI channels or CC-Controllers then use the method as descibed below.

The Edit Remote Mapping feature:
To change a function on a device in Reason just right click (or CTRL+click on a Mac) on the fader, knob or switch and choose Edit Remote Mapping from the menu. Make sure Learn from MIDI input is activated. Now turn the fader or knob on your controller and press 'OK'. Now, you should be able to alter the assigned knob or fader on the device! Notice that you do not need to activate the MIDI symbol for the device on the sequencer lane. If you have made a mistake assigning controllers, you always can 'Undo' the whole process by choosing Clear All MIDI Remote Mapping from the Options menu and start again.

Setup for recording:
In this case, or when you want to avoid the possibillity to trigger two different functions in Reason at once, you have to program your MIDI controller in such way its MIDI channel and CC controlnumbers correspond with the defined function on a device in Reason. You can find all the functions of all devices in the Reason MIDI Implementation Charts (a Acrobat Reader .PDF file in the Reasons program directorie).
For example:
If you want to record the movement of the first fader on the Mixer, you should set your controller to the MIDI channel as set at the BUS in the Hardware Interface (in this case channel 1) and also set the CC number to 008 (See page 1 in the Implementation chart). If you like you can also download a wallpaper sized picture, with all Reason its CC numbers displayed as a simplified alternative to Reasons Implementation chart.

If it is not already done, create a Sequencer Track for the device you want to record the automation and connect it to the appropiate device (in this example the Mixer). Activate the MIDI symbol in the sequencerlane and hit the Record and Play buttons. Now every movement you make with your controller will be recorded in the sequencer. Note: As a standalone application Reason is only capable of recording one device at the time.

Transport buttons:
You can trigger the Stop, Start, Backward, Forward and Record buttons as well! To do so choose Enable MIDI Remote Mapping from the Options menu. A few green arrows will appear. Hit one of the transport buttons, activate the Learn from MIDI input feature and press a button or move a fader or knob on your MIDI controller and press 'OK'. Note that the buttons only can have the values 0 or 1, so when triggering the Play button with a knob by moving the knob upwards, you should also move the knob downwards immediatly to eliminate conflicts.
Well, I hope this infomation gets you into a happy Reason session,