MIDI control between Live and Reason now works in both directions.
When we last covered the ins and outs of Rewiring Propellerhead Reason as a modular synth rack in Live (SOS March 2012, ‘Rewiring Live’) we noted that routing MIDI from Reason to Live was not possible. The only workaround was the tedious process of exporting MIDI files from Reason and then importing those into Live. Reason 7 introduced a new device, the External MIDI Instrument (EMI), to remedy the situation, and with the proliferation of Rack Extensions that produce control voltages (CVs), it is a welcome change. You can now use Reason’s step sequencers with your favourite Live instruments and you can modulate any Live control with Reason’s LFOs, envelopes and other clever control-voltage generators. The EMI does not use Rewire to send its data to Live, but you’ll probably still want to Rewire Reason to Live for sync and to play Reason instruments from Live. The EMI setup does require a little fiddling, so that’s where I’ll start.
The EMI is classed as an instrument, but it makes no sound; its sole function is to convert Reason Gate and CV (control voltage) data to MIDI messages and then send them to your computer’s MIDI ports. This lets Reason play external MIDI instruments, be they hardware synths or virtual instruments on another computer or tablet. For routing that MIDI information to applications running on the same computer, such as Live, you need to first set up a virtual MIDI port. On a Mac you use the built-in IAC (Inter-application Communication) Driver, which you configure with the Audio MIDI Setup utility. On the PC you’ll need a third-party MIDI routing utility such as MIDI Yoke Junction (free) from www.midiox.com, or LoopBe1 (free) or LoopBe30 ($20) from www.nerds.de. You can find details for setting up both Mac and PC on the Ableton web site (www.ableton.com/en/articles/using-virtual-MIDI-buses-live).
You need to be aware of two issues when connecting Live and Reason for MIDI communication over a virtual port: latency and feedback. For calculating and managing latency see the ‘Better Late Than Never’ box. Feedback can occur when the port the EMI is sending MIDI to is also an input to Reason. If that port is in the Reason preferences Control Surfaces list, either delete it or untick its ‘Use with Reason’ tickbox. You also need to ensure that Live is not sending incoming EMI data back to Reason over some other port. Note that Live’s MIDI input setting ‘All Ins’ includes the EMI port, so avoid ‘All Ins,’ or, alternatively, restrict ‘All Ins’ to channel 1 and assign EMIs to MIDI channels 2 through 16.
To get a handle on using the EMI with Live devices, insert an EMI and a Matrix Pattern Sequencer in a new Reason rack and follow these steps:
- Cable the three Matrix outputs ‘Gate CV’, ‘Note CV’ and ‘Curve CV’ to the three EMI inputs ‘Gate In’ and ‘CV in’ of the Sequencer Control section and ‘CV in’ of the Assignable CC section.
- On the EMI front panel choose an output port and MIDI Channel.
- Turn on the EMI’s CC Assign button and select a MIDI CC number.
- In Live’s MIDI preferences, ensure that the EMI MIDI port is enabled for both Track and Remote input.
- In Live create a MIDI track and set its input to match the EMI’s port and channel.
- Insert an instrument on the Live track.
- Turn on Live’s Edit MIDI Map function (Command-M/Control-M), click the track’s Pan knob and then, in Reason, wiggle the EMI’s CC knob (the only knob on the front panel) to assign the EMI’s MIDI CC to the Pan knob. Return the EMI’s CC knob to its full left position.
Start Live playing and edit the Matrix step sequence to taste. Switch the Matrix display to Curve mode and draw in a CV curve. Live’s track Pan knob will follow that curve. On the EMI back panel, fiddle with the small knob in the Assignable CC section. That scales the pan automation range. The EMI’s front-panel knob sets the bottom of that range.
You can record incoming notes from the EMI in Live clips, but when you want to record the incoming MIDI CC data, you must temporarily un-map it or turn off Remote input from the virtual port. Alternatively, you can avoid using Remote input altogether by copying the recorded MIDI CC data and pasting it to a clip modulation or track automation lane.
To get a bit more creative, add a percussion Combinator to your rack that uses Redrum or Kong and then cable the Gate Out from one of the drum slots to the EMI’s Gate In, thereby replacing the Matrix Gate Out. While the Matrix Note CV pattern runs as usual, notes will be sent only when the drum slot is triggered. For best results when using Redrum set the slot’s gate mode to square wave and adjust the gate length to taste. Experiment with Matrix sequence lengths having an odd number of steps. This will result in evolving pitch patterns rather than a short repeating loop. In addition to Redrum and Kong, many Rack Extensions feature advanced gating techniques; Robotic Bean Euclid and Ochen K Probability Drum Trigger and Probability CV Trigger are notable examples.
Most Reason factory instruments have CV outputs for one or more of their LFOs and envelopes, and those give you a much broader range of MIDI CC sources. Rack Extensions that offer more sophisticated CV shaping include Propellerhead Synchronous (three LFOs) and Jiggery Pokery Charlotte (multistage envelope). The negative leg of a bipolar CV is truncated (any value below zero is sent as zero), but you can remedy that by offsetting and range-restricting bipolar CVs as previously described. Although you need a separate MIDI channel for each stream of note messages, you can send different MIDI CC messages on the same MIDI channel. So, for example, you could use several EMIs on the same MIDI channel to manipulate multiple synth controls or to individually pan several Live tracks.
One last thing to beware of is that most CV sources send a steady stream of data and, when exported through an EMI, that becomes a steady stream of MIDI flowing from Reason to Live. When that becomes bothersome, staunch the flow at Reason by switching off the sources, where possible, or by turning off the EMIs’ Assignable CC outputs.
Latency refers to the delay between when a MIDI message is sent by one application and received by another. It will vary from system to system and may not be a problem, depending on the length of the delay and how you’re using the data. In any case, Live makes it easy to measure and compensate for latency using its Track Delay feature as shown in the accompanying screen. Each Live track has its own Track Delay setting, which is revealed by clicking the Show/Hide Track Delays (D) button at the bottom-right of Session view. To measure the latency in your setup:
- Create a Live MIDI track to receive from the port the EMI is using.
- Route the output of that track to the input of another Live MIDI track.
- Create a two-bar Reason MIDI clip on the Reason EMI track with a single note on the first beat of the second bar.
- Set Live’s tempo to 117 bpm and record in a clip slot on the second Live track until the note is captured.
- Zoom in on the beginning of the recorded note, choose ‘Fixed Grid’ (Command-5/Control-5) and set the grid to a 1/2048th note (Command-1/Control-1).
At this tempo and resolution, the space between gridlines is close to one millisecond. In the screen the latency is a tad over seven gridlines (7ms), as shown in the upper clip graphic. Using Track Delays of -7.00 will correct that as evidenced by the lower clip graphic. The good news is you need to do this only once (unless you change your setup). Insert Live instruments directly on the Live tracks with EMI input and use the calculated track delay on those tracks. Alternatively, group two or more Live tracks receiving EMI data and then apply the track delay to the Group.