Monthly Archives: March 2010

Sending MIDI CC with the Channel Message module

I’ve been working with someone on creating custom MIDI controllers for use in Ableton and thought I’d share ideas. The most flexible way to send MIDI in Reaktor 5 is to use the Channel Message module.

The input ports, from bottom to top, work like so:

  • Val: self explanatory. This is where you send the value of the message you want to transmit. By default the range is zero to one, but you can change this in the module properties.
  • Nr: In this case, the number of the MIDI CC to transmit.
  • Ch: The MIDI channel to transmit on. This overrides the settings of the instrument containing the module, but you can go into the module properties and tell it “always use instrument’s send channel”.
  • St: Status – this determines what kind of message will be sent. We’re sending type 3 which is a MIDI controller message. You can also send note on/off information, pitch bend, and so forth.

The tricky bit: this module only sends data when it receives events at the St input. When it receives an event there, it transmits whatever values are at its other inputs. That’s why I’m using the order and value modules, to ensure that every control change is followed by an event with the value “3” at St. Hover over St and the other ports for hints on what values they accept and what the values mean.

I’ve deliberately kept the structure as simple as possible for clarity… some enhancements you might make are to add panel controls to set the MIDI channel and CC#, and to rig up a more interesting event source than a knob. How about the LFO module? Try it but keep in mind the default range of the LFO is -1 to +1, not 0 to 1. You can either compensate with a few math modules or (not recommended) change the default range in the Channel Message module’s properties.

Here’s the test ensemble – build something fun with it!