Tuesday, September 8, 2015

Generic MIDI Channel aware Remote Codec+Map

If you have a controller capable of sending MIDI messages on multiple MIDI Channels, like an M-Audio Axiom's 4 Keyboard zones (so 4 MIDI Channels from the same keyboard) plus the Pads on Channel 10 or an Arturia BeatStep PRO that can send 2 sequences on their own MIDI Channel (1 and 2) and its Drum sequencer on MIDI Channel 10 plus the controller on, say, MIDI Channel 16, etc, then you certainly felt the need for a MIDI Channel-aware type of Remote Codec like this one.

Taking the BSP example, here's an example on how to get its 4 sources of MIDI into Reason with this Remote Codec+Map.

Add a Control Surface per MIDI source with these 3 easy steps:


1) Add a Control Surface from the "<Other>" Manufacturer and choose the correct "Generic Controller on MIDI Channel __ /<" Model with the MIDI Channel you'll need



2) Give it a proper name, so you know what's the real controller being used with this generic map (that you can totally customize on your own)



3) Select the proper MIDI In Port for it

You can ignore the Out Port on these generic maps unless you plan to customize the Codec too.


Repeat the above steps for each of the BSP sequencers (since that's the example I'm using here).

So, you'll add 4 Control Surfaces for BSP's Controller Mode, Sequencer 1, Sequencer 2 and Drums, each with its respective MIDI Channel set to what you're planning to use in the BSP and all of them pointing at the same MIDI In Port, since that's the one the BSP will be sending its MIDI data.

Don't worry with Reason's yellow warning. That's expected since you're declaring multiple Control Surfaces with a common MIDI Port. It warns you but won't block you from using them like it used to on much older Reason versions.

So, you'll end up with 4 new entries like these:



...and that's about it. After this, you can lock any of those controllers to specific rack devices and each will only receive the MIDI notes (or CCs in the BSP Controller mode's case) that are being sent on those specific MIDI Channels.


The big difference from using this solution instead of doing the MIDI Channel redirection into rack devices through the Advanced MIDI Device is that with this Codec you're able to record the MIDI data into the Sequencer, something that's not possible nor the main purpose of the Advanced MIDI Device.


So, here's the Zip with the files inside, including the ReadMe.txt with the usual installation instructions:

Koshdukai's Generic Controller MIDI Channel Remote Codec V.1.1.1 (201601)
Update: This new 1.1.1 version allows MIDI feedback for those wanting to send back to the controller the changes being done through the Reason GUI.
Use only if your controller is prepared to receive the same CCs it's sending on each control!
You can easily turn this feature off by selecting 'Not selected' in the Out port :)


...oh, and speaking of the Arturia BeatStep PRO, I'm still planning to do a specific Codec+Map for it someday, but I'm waiting for it to stabilize its feature-set so I can see how to take proper advantage of its closer integration with Reason through a specific Map.

Until then, I guess this generic one will suffice and hopefully will help others customize their own Codecs+Maps for their multi-channel controllers :)