ReWire: How to Make Two Programs Work as One
By Anderton |
Double your pleasure, double your fun
By Craig Anderton
If you haven’t explored the ReWire protocol, you’re missing out on a tremendous way to improve workflow, and capitalize on the strengths of different programs. Basically, ReWire is a software protocol that allows two or more software applications to work together like one integrated program. That sounds simple enough, but the implications are significant.
Suppose you create a kickin’ rhythm track in Propellerhead Software’s Reason, but would love to add some vocals, guitars, and piano as overdubs in a DAW that accepts standard VSTs. Without ReWire, you’d need to export the rhythm track, import it into the DAW, and try to match the DAW’s tempo with the Reason file’s tempo. And if you wanted to make a change in a Reason instrument, you’d have to make the change, export the file, import, and so on all over again. It’s doable, but clumsy.
Instead, you can ReWire Reason as the client (also called the synth application) with a ReWire-compatible, host program (also called the mixer application) like Sonar, Cubase, Live, Digital Performer, Logic, Pro Tools, Studio One Pro, etc. Reason will pump its instrument outputs into the host’s mixer, and follow the DAW’s existing tempo while you lay down your audio tracks.
Any ReWire-compatible application is either a host, a client, or both (but not simultaneously—you can’t ReWire a client into a host, then ReWire that into another host). Although there can only be one host, you can sometimes ReWire multiple clients into that host.
There are five main ReWire aspects (see Fig. 1).
Fig. 1: ReWire sets up relationships between the host and client programs).
The client’s audio outputs stream into the host’s mixer.
The host and client transports are linked, so that starting or stopping either one starts or stops the other.
Setting loop points in either application affects both applications.
MIDI data recorded in the host can flow to the client (excellent for triggering soft synths).
Both applications can share the same audio interface.
ReWire is a software-based function that’s built within ReWire-compatible programs—no drivers or special hardware is needed. Although there’s a misconception that ReWire requires a powerful computer, ReWire itself doesn’t need much resources—it’s simply an interconnection protocol. However, you’ll be using two programs together, so your computer needs enough power to run them both comfortably. This means a decent amount of RAM and a reasonably fast processor.
A client can stream up to 256 individual channels into the host’s mixer with the current ReWire version (ReWire2; early versions were limited to 64 channels). You will likely have the option when rewiring to stream only the master mixed (stereo) outs, all available outs, or your choice of outs. ReWire2 can also stream 255 MIDI buses (with 16 channel per bus) from the client to the host, as well as have the host query the client for information—like instrument names to allow for automatic track naming.
If you choose all available outs, then instruments or tracks can ReWire into channels individually, and be processed individually. For example, if a drum module has eight available outs to which you can assign its various drums and you ReWire these individually into a DAW, you can process, mix, insert plug-ins, and automate channel parameters for each output.
Another aspect of ReWire is that you usually need to open the host first, then any clients (and close programs in the reverse order). You won’t break anything if you don’t , but you’ll likely need to close your programs, then re-open them in the right order. Also note that although many hosts try to launch the client automatically once you’ve selected it for rewiring, if that doesn’t work you’ll need to launch the client manually.
Each program implements ReWire a little bit differently. The Propellerheads web site has tutorials on using ReWire with specific host programs, so look there for details. However, here’s the general principle.
In the host, you’ll have an option to insert a ReWire device. This may be included as part of the process of inserting any virtual instrument, or be its own category (see Fig. 2).
Fig. 2: In Sonar, you insert a ReWire device just as you would insert a MIDI track, audio track, or virtual instrument.
Before you insert the ReWire device, or as you insert it, you’ll likely be presented with a menu that lets you specify which channels you want to enable for streaming. Once you do this, the selected channels will appear in the host mixer, and be identified in some way—perhaps they’ll say “ReWire channels,” or include the ReWire device in the track name. With a client like Reason that includes MIDI instruments, the MIDI output menus for the host’s MIDI tracks will include those instruments as possible MIDI data destinations (see Fig. 3).
Fig. 3: Reason appears in Sonar's list of tracks (circled), and any MIDI track output can trigger the Reason instruments - in this example, the MIDI drum track is triggering Reason 5's Kong drum module.
AND BEST OF ALL...
ReWire is free, fun, effective, and works reliably thanks to years of refinement. Why settle for one program when you can turn two programs into a single, integrated entity?
Craig Anderton is Editor Emeritus of Harmony Central. He has played on, mixed, or produced over 20 major label releases (as well as mastered over a hundred tracks for various musicians), and written over a thousand articles for magazines like Guitar Player, Keyboard, Sound on Sound (UK), and Sound + Recording (Germany). He has also lectured on technology and the arts in 38 states, 10 countries, and three languages.