You are here

Stretch Drum Loops Smoothly

Sonar X1
By Craig Anderton

Use Sonar X1 to slow down your drum loops drastically — and retain fidelity!

Sonar knows how to stretch; it can create/import/export Acidised files, import REX files, convert REX files to Acidised files and, if all else fails, you can apply time‑stretching DSP. However, there's one persistent problem with any kind of stretching: slowing down is much harder than speeding up.

With Acidised files, the loop has to become longer, so to stretch the file, the Acidisation algorithm needs to create samples where none exist. With REX files, you end up with awkward, silent gaps between slices. DSP stretching has similar issues to Acidisation (however, when done as a non‑real‑time process, DSP can often do a better job).

Nonetheless, if you want to use, for example, a 125bpm dance loop in a hip‑hop tune churning along at 80bpm there's hope. Here's a way to stretch that doesn't require using stretching algorithms, so the fidelity is the same as the original, non‑stretched version, even when slowing the tempo way down. The catch? This AudioSnap‑based technique works best with simple, percussive loops like drums (or in some cases, bass, single‑note guitar lines and similarly percussive sounds). It rarely works well with sustained sounds like string pads, although later on we'll describe how additional DSP‑based stretching can smooth out clips with sustained sections.

Preparation

Regardless of your planned target tempo, you need to match the project tempo temporarily to the loop's native tempo. If you don't know the native tempo, double‑click on the clip; if you haven't changed the Click Behavior default, the Loop Construction window will open. (To change the Click Behavior, go to the Track View Options menu, then go Click Behavior / Double‑Click / Audio Clips and choose from Nothing, Clip Properties or Loop Construction View.) You can determine a clip's native tempo in the Loop Construction window by referring to the Orig. BPM parameter.You can determine a clip's native tempo in the Loop Construction window by referring to the Orig. BPM parameter.

Toward the upper left, you'll see a field named 'Orig. Tempo' that displays the loop's native tempo. Most of the time Sonar gets this right, but occasionally the tempo will be either twice or half the true tempo. It's easy enough to try these multiples to verify the native tempo if it doesn't seem correct. After determining the tempo, set the project tempo to this value. Then:

  • Click on the loop to select it.
  • Go to either Views / AudioSnap Palette or type A if you're into keyboard shortcuts.
  • Click on the AudioSnap palette's On/Off button to turn it on.

Time For Transients

The goal is to separate each percussive event (kick‑drum hit, hi‑hat hit, kick and snare occurring simultaneously, for example) into its own 'slice', similar to how you slice audio to create a REX‑format file. AudioSnap can do this automatically if transient markers are placed at the start of every percussive event, and AudioSnap will identify most, and sometimes all, of them.

Click on the AudioSnap palette's Edit Clip Map button to display transient markers. Enabled transient markers have a white diamond located along a vertical white line. Disabled markers appear as grey diamonds.

It's likely that AudioSnap will place markers at the most prominent transients, and disable markers at transients with lower levels. To tell AudioSnap that you want these lower‑level transients included:

  • Slide the Threshold slider to the left so that it's more sensitive to transients.
  • Next, zoom in and scroll through the loop to check whether every transient has a marker.
  • If you still need to add transient markers, which is often necessary if a soft transient occurs in the middle of a loud one, grab the Smart Tool and assign the track's Edit Filter to Audio Transients. Hold down the Alt key and click where you want to add the transient.

In some cases, transient markers might exist where there's no transient (because AudioSnap was too sensitive), and you'll need to disable these. Right‑click on the marker, then select Disable: it should turn grey. Go through the file and make sure that the transients are marked correctly, as this is crucial to proper stretching. AudioSnap has identified transients through the Edit Clip Map option, and the file is about to be split into individual clips for each 'slice'.AudioSnap has identified transients through the Edit Clip Map option, and the file is about to be split into individual clips for each 'slice'.

The Stretching Process

With the AudioSnap palette still visible, click on the AudioSnap Split Beats into Clips button (the one with the scissor: it's two buttons to the right of the On/Off button in the main toolbar). This operation slices the clip at the transient markers.

Next, change the track's Edit Filter from Audio Transients to Clips. Each percussive slice should now be its own clip. However, at this point the clips have been cut at places that might not be zero crossings, so you may hear clicks. There are a couple fixes for this. Each slice is now its own clip, and the tempo has been slowed from the clip's native tempo of 124.905bpm to 80bpm, thus spreading each slice further apart. The next steps are to add fades if needed, then recombine these slices back into a single clip.Each slice is now its own clip, and the tempo has been slowed from the clip's native tempo of 124.905bpm to 80bpm, thus spreading each slice further apart. The next steps are to add fades if needed, then recombine these slices back into a single clip.

The first is pre‑emptive. I didn't mention it earlier because it doesn't work well for percussion, but can work with other signal sources. Click on the Options button on the AudioSnap palette's upper right, and under the Split Beats heading; you can choose an auto‑fade time for split clips. However, this is a fixed value for both the clip beginning and end, and the fade is linear.

A better approach for percussive loops is to select all the slices, then go to the Clips View Edit menu and select Fade Clips. I typically set Fade In to 0ms, and Fade Out to 20ms. For the Fade Out curve, choose Fast; if you selected a short Fade In time, choose the Slow curve. Then, click on OK. Even a short fade-out at the end of each slice should help avoid the abrupt gaps you get with slowed-down REX files.

You'll probably still need to do a tweak or two, so set the tempo to the desired project tempo, then play the file. If you hear any remaining clicks, zoom in and increase the Fade In or Fade Out time, as needed. Again, it's generally best to use the fast curve for fade outs, and the slow curve for fade ins.

Filling The Gaps

There's one remaining issue. Suppose that at the faster tempo, there was a slide that led into the next slice. As slowing down the file spreads the clips further apart (but they retain their original length), there will be gaps between the clips. Therefore, the slide into the start of the next slice will end prematurely. To fill in the gap hold down the Ctrl key, then click on the clip's right edge: it turns yellow. Drag to the right until the gap is filled. If you play this back, the decay won't sound very good because it's being stretched though a real‑time preview algorithm. So, use off‑line rendering to improve the sound quality: select the Clip, then, from the Clips View Edit Menu, choose Bounce to Clips. The middle clip in the top track slid into the clip on the right at the original tempo, but when slowed down, there's a gap. In the lower track, the clip has been stretched (using DSP) to fill in the gap.The middle clip in the top track slid into the clip on the right at the original tempo, but when slowed down, there's a gap. In the lower track, the clip has been stretched (using DSP) to fill in the gap.

Now the slide leads perfectly into the next slice, and sounds a whole lot better. If you don't have to stretch too much, you may not even notice it was stretched.

The Final Steps

Now that the tempo is correct, let's convert these slices into a single clip so that we can use it anywhere in the project. But first, make sure it ends exactly on a measure boundary, so turn on Snap, then extend the end as needed.

Finally, select all the clips and, from the Clips View Edit Menu, select Bounce to Clips. This combines all the individual slices into a single clip that you can Ctrl‑drag to create a rhythm track. Even better, you can convert this into a Groove Clip so that it follows tempo changes. Here's how:

  • Double‑click on the clip to open the Loop Construction window.
  • Click on Enable Looping and tell Sonar the correct number of beats in the clip.
  • Scroll through the loop, and make sure that the Loop Construction view transient markers line up with the beginnings of transients; if not, click on the transient marker line inside the waveform, and drag as appropriate to match up with the transient. If you think you might want to use this loop again, then you can simply drag the clip to the desktop to save it — including the Acidisation metadata.

By the way, once the clip has been cut into slices, don't forget that you can do much more than change its tempo. You can delete slices, add slices, rearrange them, and much more. If a slice contains an isolated kick or snare hit, for example, you can save just this slice and use it as a sample. Sonar's object‑based processing can also be used to add effects such as EQ or distortion to individual slices. There are certainly many possibilities beyond simple time‑stretching.    

Published September 2011