Saturday, December 3, 2016

Arturia DrumBrute Remote Codec

Hey :)

When connecting an hardware instrument to Reason, where it can work both as a MIDI Controller (sending notes, controls, etc to Reason) and also as a MIDI Instrument (receiving notes, CCs, etc from Reason) it's always good practice to turn off its Local Control.
(unless you prefer to set the outgoing vs incoming to different MIDI Channels).

Local Control? What is that ?!
Well, usually, MIDI enabled instruments are able to disconnect their physical user-interface (keyboard/pads, knob/fader/buttons controls) from their sound "engine" or section(s).

Why is Local Control needed?
To avoid MIDI feedback loops or double triggering of notes, etc.

Imagine the following scenario in Reason (or any other DAW):

You have the External MIDI Instrument (EMI) rack device point to Arturia DrumBrute's (in) MIDI port, so you can send MIDI notes from Reason and trigger DrumBrute's pads (sounds).

Reason's EMI sending MIDI out to Arturia DrumBrute's MIDI in

But you also want to receive notes from the DrumBrute's pads/sequencer so you can easily record your pad playing into Reason's own Sequencer tracks.

To do that, you simply add a (generic) MIDI Controller Surface and point it to DrumBrute's (out) MIDI port.

Done, right?
Well, not really, because as soon as you try to record your pad playing into the EMI device that's also sending MIDI to the DrumBrute, you'll hear all your pads being played at least twice. On a worse case scenario (not DrumBrute's case), if the MIDI instrument does MIDI THRU from its MIDI IN to its MIDI OUT, then you'll get an endless loop of notes playing, going back'n'forth from the DAW to the instrument and back to the DAW and to the instrument again, ad aeternum ;)

This is why is usually a good idea to set Local Control to OFF on external MIDI instruments connected in these configurations. The alternative to this, like I briefly mentioned in the beginning, would be to work on different MIDI channels but in this particular case, I find the use of Local Control, when available, to be a more practical solution.

This is why I did for the DrumBrute something similar to what I had already for the MiniBrute:
A specific Remote Codec that will turn its Local Control OFF while being used with Reason, allowing independent use of both its "controller" aspect and its sound generation aspect, without any local connection between the two, all controlled through Reason.

So, here it is:

This Codec has 2 flavours built-in, showing up as "models":

"DrumBrute /<": it's a regular transparent one, just in case you prefer to use a dedicated Codec but don't want Local Control to be turned OFF. If you want this one, don't use auto-detection. You'll have to add it manually, by choosing "Add", "Arturia" and the "DrumBrute /<" model in the Edit, Preferences, Control Surfaces configuration of Reason.

"DrumBrute /< (Local OFF)": this is the one that will be auto-detected and added by default and it's the one that will turn DrumBrute's Local Control OFF when starting Reason. Local Control will be restored to ON when you quit Reason.
If for some reason you disconnected DrumBrute before quitting Reason (so Local Control ON couldn't be sent) simply connect the DrumBrute again to your computer, start Reason and quit Reason. That will allow Reason to send the "Local Control ON" again to DrumBrute and make the pads work again (locally, when not connected to Reason).

I hope that you find this little simple Codec useful when enjoying your DrumBrute with Reason :)

Tuesday, May 24, 2016

Reason 9: "All" Remoteables list

Now, the only thing better than this would be for Propellerhead Software to keep this list updated, each time a change or new RE is published to the Shop :)

...that or allow the users to extract themselves this information through Reason, at least from the installed REs.

Source: List of remotables added to Downloads page

Sunday, November 29, 2015

Exploring... Bitley™ Way Beyond Fairlight (R1)

Part 1: Exploring the NN-XT Patches


Note: This is the previous release, not the newer WAY BEYOND FAIRLIGHT R2 release.

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 :)