29. Synchronization and ReWire
29.1 Synchronizing via MIDI
The MIDI protocol defines two ways to synchronize sequencers, both of which are supported by Live. Both protocols work with the notion of a sync master, which delivers a sync signal that is tracked by the sync slave(s).
MIDI Clock. MIDI Clock works like a metronome ticking at a fast rate. The rate of the incoming ticks is tempo-dependent: Changing the tempo at the sync master (e.g., a drum machine) will cause the slave to follow the change. The MIDI Clock protocol also provides messages that indicate the song position. With respect to MIDI Clock, Live can act as both a MIDI sync master and slave.
MIDI Timecode. MIDI Timecode is the MIDI version of the SMPTE protocol, the standard means of synchronizing tape machines and computers in the audio and film industry. A MIDI Timecode message specifies a time in seconds and frames (subdivisions of a second). Live will interpret a Timecode message as a position in the Arrangement. Timecode messages carry no meter-related information; when slaving Live to another sequencer using MIDI Timecode, you will have to adjust the tempo manually. Tempo changes cannot be tracked. Detailed MIDI Timecode preferences are explained later in this chapter (see 29.1.3). With respect to MIDI Timecode, Live can only act as a MIDI sync slave, not a master.
29.1.1 Synchronizing External MIDI Devices to Live
Live can send MIDI Clock messages to an external MIDI sequencer (or drum machine). After connecting the sequencer to Live and setting it up to receive MIDI sync, turn the device on as a sync destination in Live’s MIDI/Sync Preferences.
The lower indicator LED next to the Control Bar’s EXT button will flash when Live is sending sync messages to external sequencers.
29.1.2 Synchronizing Live to External MIDI Devices
Live can be synchronized via MIDI to an external sequencer. After connecting the sequencer to Live and setting it up to send sync, use Live’s MIDI/Sync Preferences to tell Live about the connection.
When an external sync source has been enabled, the EXT button appears in the Control Bar. You can then activate external sync either by switching on this button or by using the External Sync command in the Options menu. The upper indicator LED next to the EXT button will flash if Live receives useable sync messages.
When Live is synced to an external MIDI device, it can accept song position pointers from this device, syncing it not only in terms of tempo but in terms of its position in the song. If the master jumps to a new position within the song, Live will do the same. However, if the Control Bar’s Loop switch is activated, playback will be looped, and song position pointers will simply be “wrapped“ into the length of the loop.
29.1.3 MIDI Timecode Options
Timecode options can be set up per MIDI device. Select a MIDI device from the MIDI/Sync Preferences’ MIDI Ports list to access the settings.
The MIDI Timecode Frame Rate setting is relevant only if “MIDI Timecode“ is chosen from the MIDI Sync Type menu. The MIDI Timecode Rate chooser selects the type of Timecode to which Live will synchronize. All of the usual SMPTE frame rates are available. When the Rate is set to “SMPTE All,“ Live will auto-detect the Timecode format of incoming sync messages and interpret the messages accordingly. Note that you can adjust the Timecode format that is used for display in the Arrangement View: Go to the Options menu, and then access the Time Ruler Format sub-menu.
The MIDI Timecode Offset setting is also only relevant if “MIDI Timecode“ is chosen from the Sync Type menu. You can specify a SMPTE time offset using this control. Live will interpret this value as the Arrangement’s start time.
29.1.4 Sync Delay
The Sync Delay controls, which are separately available for each MIDI device, allow you to delay Live’s internal time base against the sync signal. This can be useful in compensating for delays incurred by the signal transmission. The Sync Delay for a specific MIDI device appears as you select the MIDI device from the MIDI/Sync Preferences’ MIDI Ports list. To adjust the delay, have both Live and the other sequencer play a rhythmical pattern with pronounced percussive sounds. While listening to the output from both, adjust the Sync Delay control until both sounds are in perfect sync.
29.2 Connecting via ReWire
Live supports the ReWire interface for connecting with another ReWire-compatible audio program running on the same computer.
The ReWire technology, developed by Propellerhead Software, provides ReWire-compatible programs with:
- common access to the audio hardware;
- shared transport functionality;
- synchronization to audio word clock and song positioning;
- exchange of audio streams.
The programs in a ReWire connection play distinct roles: The ReWire master accesses the audio hardware and provides mixing facilities; the ReWire slave(s) have no direct link to the audio hardware, but instead send their audio output into the Master’s mixer.
Common ReWire master applications are Pro Tools, Cubase, Nuendo, Logic, Digital Performer, Sonar and Max/MSP. Common ReWire slave applications are Reason, Rebirth, Storm, Project 5 and Max/MSP. Live can act as both a ReWire master and slave.
Note that the ReWire protocol itself does not consume much CPU power. However, as expected, running two audio-intensive programs on the same computer requires more resources than running a single program.
29.2.1 Running Live in ReWire Master Mode
The step-by-step procedure for sending MIDI to and receiving audio from a ReWire slave program is presented in the routing chapter (see 14.4).
29.2.2 Running Live in ReWire Slave Mode
In ReWire slave mode, Live can both receive MIDI from, but also send audio to the master application. All of Live’s MIDI tracks are accessible to the master application as destinations for MIDI signals, and all of its audio tracks and MIDI tracks containing instruments are accessible as audio sources.
If you have not used Live yet, please launch Live so that it can install its ReWire engine in your system.
Live will run in ReWire slave mode if it detects a running ReWire master application upon startup.Therefore, always start the ReWire master application first, and then start Live.
Likewise, you will first have to quit Live, then the ReWire master application.
Live’s operation in ReWire slave mode differs from the usual operation in some regards:
- Live will not have direct access to the audio interfaces; audio input/output is handled by the ReWire master application. No audio input will be available to Live.
- The sample rate is determined by the host application rather than by Live.
- External synchronization will be disabled (synchronize to the ReWire master application instead). Live will not send sync or controller messages to the MIDI output. Controlling Live via MIDI is still possible.
- Live will not act as a ReWire master application. For instance, you cannot run Rebirth as a ReWire slave of Live while Live is running as a ReWire slave of Cubase. You can, however, run both Live and Rebirth as ReWire slaves of Cubase at the same time.
- Time signature and tempo will be determined by the settings in the ReWire master application. If your Live Set contains any tempo or time signature changes, they will be ignored.