First, we should discuss what REX-based stretching is all about. Although digital signal processing algorithms can lengthen digital audio by adding data, or shorten by deleting data, it's difficult to do this without compromising the sound quality — especially with substantial timing shifts. Live's stretch algorithms are nothing short of miraculous when it comes to real-time tempo stretching, but like any stretch algorithms, they're not perfect. The REX approach can provide extremely good fidelity with percussive sounds, although the trade-off is that it is pretty much useless for sustained sounds.
The REX file format was invented by Propellerhead Software as an extremely clever time-stretching solution that applied MIDI thinking to digital audio. Their Recycle program takes a piece of digital audio, cuts it into small segments ('slices'), notes where in the measure(s) these segments occur, then creates a MIDI file that triggers the segments at the appropriate time within the measure(s). Hosts that support REX files use the digital audio and timing data to stretch the file to the target tempo.
For example, the screenshot above shows a simple drum loop. Recycle separates the drum part into individual 'slices', with each slice triggered by a MIDI note recorded in a sequence. When the sequencer plays back the MIDI notes at the original tempo, the various slices all play back in succession, at the original timings. With a slower tempo, the triggers that play back the segments are further apart; at a faster tempo, the triggers occur closer together.
As a result, the rhythmic relationship of the slices remains intact, because MIDI triggers always occur where they were recorded in a measure, regardless of tempo. In other words, MIDI data generally follows musical time (bars, beats and ticks) instead of absolute time (hours, minutes and seconds).
The main advantage compared to DSP time-stretching is that the audio quality remains pretty much untouched — nothing is added or deleted, just triggered at a different time. Thus, it's theoretically (and often practically) possible to have Recycle files whose fidelity is indistinguishable from the original, even when time-stretched (there are limitations, though, which we'll cover later).
Many programs have native support for the REX file format. For example, with Pro Tools 7, each slice is treated as a region, and when you import the file, it's treated as a Region Group. Thus, as you change the tempo, the regions are 'staked' to ticks and remain at the same bar and beat positions. Sonar includes the RXP REX file player; you load the REX file into it, and it plays along with your sequence. MOTU's Digital Performer, Emagic Logic, Steinberg Cubase, and many others support the REX format as well.
Although Live 5 doesn't support REX files, you can use the same principle to slice and trigger digital audio within Live, and produce much the same effect.
Here's how to slice within Live. First, set Live's tempo to the tempo of the loop you want to slice, even if this is different from the Project tempo. It's only a temporary step; after the process is complete, you can return to the original tempo (and the sliced file will follow, of course — which is the whole point of this exercise!).
Now switch to Arrangement view. This technique cannot be done in Session view. Drag the file into the Track Display, and use the zoom options so that the waveform fills up a comfortable amount of the screen. Place the first transient and type Ctrl+E (or Ctrl-click and select 'Split'). This splits the Clip at the Insert Marker. Repeat at each transient that denotes a 'blob' of sound (for instance kick drum and snare beats, hi-hat hits and so on). This is tricky, because you don't want to break up a continuous sound with a split, nor do you want to miss a transient by not adding a split. Experience will make this process easier, but for now, try to make sure that each slice is a discrete piece of sound. Snapping to the grid can be very helpful with files that have quantised rhythms, but don't be afraid to turn off snapping if the transient falls slightly ahead of or behind the beat. The important consideration is to slice exactly at the transient's beginning; it's likely that zooming in will be necessary.
At this point, change the tempo as a 'reality check'. The Clip will speed up and slow down, as with a standard file loaded into Live. But now we need to 'individualise' each slice, and anchor it to the bar, beat and tick position at which it was cut. To do this, select all the sliced audio clips and make sure the Clip Overview tab is selected in the lower right corner of the Live window. It should show 'X Audio Clips Selected', where X is the number of slices in the loop. Disable the Warp option (in the Samples section of the Clip View) by clicking on the Warp button so that it's grey instead of yellow. Now slow down the tempo by 20 percent or so — for example, if the loop was cut at 120bpm, change the tempo to 96bpm. Each Clip will now reflect its true, not stretched, duration at that tempo. As a result, each Clip will now appear to be 20 percent shorter in duration. When you click on Play, you'll hear the loop play back, and note that the fidelity of each slice is exactly the same as it was originally — there are no artifacts, flams, or other compromises with respect to fidelity. Cool! Now speed up the tempo as high as you'd like. The audio quality remains the same; note how the space between the decay of one slice and the attack of the next slice 'tightens up'.
We've accomplished what we've set out to do: create a file that sounds virtually identical over a wide tempo range, with no artifacts or DSP to alter the sound.
A brief aside here: the fade button is extremely useful when doing slicing, so check out the effects of checking or unchecking this option (remember to make sure that all slices are selected). Without fade applied, any abrupt transition at the beginning or end of a slice might produce a click. Applying the fade function minimises any possible click.
Conventional REX File Import
To prepare a REX file for use in Live:
1. Load the REX file into Recycle.
2. Turn on the Preview button (to the left of the transport Stop button) and adjust the Tempo control to match the Live Project tempo.
3. Adjust Recycle's options for the best sound quality (Stretch, for example, adds decay if needed for loops that are slowed down).
4. Go to the Process menu and tick 'Export as One Sample'. Otherwise, each slice will be exported as an individual file.
5. Go to File / Export. Select the filename and either Wave or Audio IFF format.
6. Specify the sample rate and bit depth used in your Live project, click on OK, and the file is exported.
7. Load the file into Live. Although it has lost its REX properties, you can of course use Live's stretching options if needed to change tempo.
You might think that because we've cut a bona fide loop into a bunch of little pieces, we can't use the Envelope options in Clip View. Well, you'd be right. But that doesn't mean there isn't a workaround.
You can apply transposition to individual slices or the entire loop. Just select whichever is appropriate (a clip or all clips), and adjust the Transpose control in the Sample Display window to taste. For example, you can select just the first slice (the downbeat) and transpose it down a little bit for a deeper sound, while transposing the backbeat up a little bit to tighten the sound. Note that because there is no warping, transposing is like re-pitching — the duration gets shorter when transposing up, and longer when transposing down.
When selecting all slices, try transposing up an octave or so: standard drums end up sounding more like an analogue beat box. It's a cool effect.
Note that you can also adjust panning or volume using standard mixer track envelopes.
Because each slice is now its own Clip, there are tons of things you can do that are just not possible with a conventional loop. Here are just a few:
* Turn off the grid, and shift Clips slightly ahead or behind the beat for different 'feels'.
* Rearrange the order of the slices to create an entirely different loop. This is particularly helpful because you can copy all the slices in a loop and paste them multiple times. Each iteration of the loop can have slight differences to add interest.
* Copy and paste slices to create flams, additional hits, and so on.
* Create a second track, and drag some slices to this track. Then add envelopes, effects, or whatever to this second track; only the slices you drag to this track will be affected.
At the time of writing Live 5.2 has just gone to public beta testing and a full release version should be available by the time you read this.
OK, we've covered all the good stuff. But in the spirit of equal time, note that while slicing can produce excellent results in Live, there are also some definite limitations. Here are the main ones.
* Slices have a finite, unchangeable length. Therefore, slowing down the tempo creates a gap between slices. If the sound decays before the slice ends, there's no problem. But if in the original file the end of one slice 'bleeds' into the next slice, the gap can be disconcerting.
* Similarly, speeding up cuts off the end of segments. Fortunately, this isn't much of a problem because psychoacoustically, you're more interested in hearing the new sound that's cutting off the old sound rather than the old sound itself.
* Slicing files doesn't work well with sustained sounds, or very complex sounds such as a part with lots of repeating delays. Ideally, slices should have a quick attack time, and consist of a single 'block' of sound (like a guitar chord, synth bass note or drum hit). This makes for an unambiguous slice — you know where it starts, and where it ends. It's much harder, and often impossible, to find good slices with a sustained sound.
* Creating a really good sliced file can be tedious. Something like a drum loop or synth bass part is easy to slice, but increasingly complex sounds become increasingly difficult to slice.
So far, the assumption is that the file you want to use already exists. But if you're recording a file specifically for slicing within Live, note that speeding up a file generally works better than slowing down as you don't have any gaps with which you must contend. Therefore, it's a good idea to record at the slowest tempo you think you'll need. For example, to cover a range of 120-145 bpm, I usually record the file at 120-125 bpm.
We've pretty much covered everything you need to know about slicing in Live. Although it's already a supremely flexible program, this technique illustrates one more way to use it to create novel effects. Slicing simple percussive files is not difficult at all, and not even very time-consuming — but the results can be very interesting.