One of the biggest new additions in Sonar 6, Audiosnap, is a powerful time-stretching audio toolkit promising better-quality stretching and enhanced controllability. This month we'll explain the basics of using the new tools, following up next month with some real-world applications.
Audiosnap, touted as one of Sonar 6 's most important features, is actually not a single feature but a collection of tools — and it opens up the possibilities for new types of time-stretching and beat-matching.
There's a lot to get your head around with Audiosnap, but at the heart of it you'll find stretching algorithms coupled with transient detection. Much of the stretching aspect of the new features involves the Izotope Radius time-stretching DSP algorithms, which have been licensed to several manufacturers, including Cakewalk; these algorithms are capable of high-fidelity stretching.
In the first of a two-part series, we'll cover stretching and the transient-detection process, as illustrated by a couple of practical examples. Next issue, with the necessary theory behind us, we'll go into applications.
Multiple Stretch Algorithms
One crucial point about Audiosnap is that there is no 'one size fits all' stretch algorithm. There are two 'On-line' algorithms (Groove Clip and Percussion) optimised for real-time playback — which means that they trade off audio quality for lower CPU loading. But there are also four 'Off-line' rendering algorithms (Radius Mix, Radius Solo, Radius Solo — Bass, and Radius Mix Solo — Vocal). If you bounce a clip or export audio (ie. 'render' audio), these come into play and provide much higher stretching fidelity than the On-line algorithms. (Note that you can also use the On-line algorithms when rendering, if desired.) The biggest limitation of the Radius algorithms is that you simply cannot use them in real time, as they're too computationally intensive.
You can select global stretch algorithms from the Audiosnap palette, which you call up by going Process / Audiosnap and typing Shift-A, or right-clicking on a clip and choosing Audiosnap / Audiosnap Enable (or typing F12). Once the palette appears, click the Audiosnap Options button to show the Audiosnap Options dialogue box; the lower drop-down menus choose the desired default On-line and Off-line Rendering options (see screen below left). For example, if you choose the Percussion stretch algorithm for On-line Rendering, all clips will use this algorithm for On-line Rendering unless you choose algorithms on a per-clip basis.
To specify the On-line and Off-line Rendering stretch algorithm on a per-clip basis, right-click on the clip. What appears depends on the type of clip it is. If it's a standard audio clip, no tick-boxes will be ticked. You can then choose whether it will be a Groove Clip (as used in Sonar since v1.0 and not dependent on the Radius algorithms); subject to Audiosnap; or a clip with simple time-stretching. With the latter two, you'll find the same options for On-line and Off-line rendering algorithms (see screen below).
Some Sonar users find it disappointing that On-line playback doesn't always sound that good (even if you choose the most appropriate On-line stretching algorithm), and that you have to render to take advantage of the high-quality algorithms. This doesn't really bother me, because I've been trained by video programs to accept video previews that don't look anywhere near as good as the rendered versions. If you want to reassure yourself that something will sound OK when rendered, but don't want to commit, just render it long enough to audition it, then undo.
Let's look at the simplest possible application of Audiosnap stretching technology: slip-edit stretching. With Sonar 6, you can simply hold the Control key, then grab the end or beginning of a clip and slip-edit it to the desired length (if you want it to stretch to a particular beat or measure, make sure the appropriate Snap value is enabled). A yellow strip along the bottom of the clip indicates that stretching has occurred, along with the percentage of change: values of less than 100 percent mean that the clip has been sped up, while values of over 100 percent indicate that the clip has been slowed down (see screen below).
As you listen back to the stretched clip, the On-line stretch option probably won't sound too bad with small stretch amounts. But after you're sure you have the right tempo, right-click on the clip and choose Clip Properties. 'Enable Time Stretching' will be ticked, with an indication of the Stretch Amount, New Duration and new 'Thru Time' (when it ends). Now you can choose the desired Off-line Rendering algorithm from the drop-down menu, click on OK, and (as the clip will still be selected), go Edit / Bounce to Clip. The selected algorithm does some number-crunching and the clip is permanently stretched to the desired length. The yellow strip then disappears and the clip becomes a normal audio clip once more.
Choosing The Right Algorithm
For best results, it's important to match the algorithm to the material. For example, when I stretched a drum loop to 130 percent, Radius Mix sounded great, whereas Radius Solo sounded terrible. You can always undo and try different options to discover which works best, but here are some rough guidelines.
To address the Off-line algorithms first, Radius Mix works very well with polyphonic instruments or program material, but I've also used it with complex drum parts and achieved fine results. The three different Solo modes relate mostly to frequency ranges: Radius Solo Bass is (surprise!) for bass, whereas Radius Solo Vocal covers a higher range. Radius Solo is a good, general-purpose algorithm for solo instruments such as wind instruments. Don't forget that you can cut up a clip and apply different algorithms as needed, on a per-clip basis. Imagine you have a recording of a group of singers: sometimes they sing as an ensemble, while at other times a soloist gets the spotlight. Use Radius Mix for the ensemble parts and Radius Solo Vocal for the soloist.
Turning to the On-line algorithms, the Percussion one is indeed outstanding for drums, as it acts very much in the same way as Recycle does, chopping a beat into constituent elements where each part retains its original duration but is triggered at a faster or slower rate depending on the tempo change required. The Groove Clip algorithm uses the Acid-style stretching process, and if you've worked with it a lot you know that the default analysis is hit-and-miss — you usually need to tweak the ' Acid isation markers' for the best results.
Speaking of Groove Clips, just because Audiosnap exists, don't forget that Groove Clips can still do high-fidelity stretching with some types of material — and, what's more, they follow tempo and key changes pretty seamlessly.
Audiosnap Meets Transient Detection
Most of Audiosnap's advanced tricks don't only use stretching — they also add transient detection. This means that the Audiosnap process analyses a clip for transients and draws markers where it finds them.
This process begins by enabling Audiosnap for a clip, similarly to how you turn a clip into a V-Vocal or Groove Clip. You just right-click on the track and choose Audiosnap Enable, or type F12. When you do, markers appear at transients within the clip and the Audiosnap palette pops up.
Transient detection is what allows operations such as pinning a tempo map to a clip or pinning a clip to a tempo map. For example, you can tell Sonar that a certain transient should represent the start of the first measure, that another transient should represent the start of the second measure, and so on. The DSP is then responsible for stretching the audio so that it can make the tempo conform to your definitions. As another example, if a kick-drum hits on every quarter note, you can immediately let Sonar know that those transients indicate beats, which makes calculations such as those involved in changing tempo much easier.
However, if you've used Cubase 's Hit Points feature, or tried to slice a REX file in Recycle, or edited the Acid isation markers in Acid or Sonar, you'll be aware that transient detection is by no means an exact science. Sonar has Threshold and Sensitivity controls (which, usefully, you can alter with the mouse scroll-wheel) to let you cut out some of the 'chatter' and restrict the selection of transients to rhythmically useful values. As with other stretching methods (like Acid isation), it's important that these transients define discrete blocks of sound.
The effectiveness of the detection process varies according to the material. With a straightforward drum part it's easy to identify and mark transients, but with sustained material, or material that was not recorded to a click track, the process of isolating rhythmically important values is far more difficult.
Ultimately, with complex material you'll need to tell Sonar which transients matter and which don't. For example, if the transient detection process is pretty good except for some extraneous transients that don't correspond to beats, you can disable those transients (they're never really deleted, just disabled so that they don't have an effect). Conversely, if the analysis process misses a transient, you can add your own transient right on the beat, using the Audiosnap palette's Insert Transient Marker button.
Yet another way to fine-tune the detection process is applicable if you're trying to, for example, quantise a clip to tempo. If there are transients at the beginning of each beat, it's easy to do this kind of quantisation. However, it's unlikely that you'll have only those transients; there will be plenty of others. In this case, you can 'Promote' the transients that occur on the beat (Promoted transients are immune to threshold changes and are always in play), by right-clicking on the marker and selecting Promote, then set a high threshold that ignores all the other transients, so that, as far as Audiosnap knows, there are transients only at the beginning of each beat.
Stretching Individual Notes
Let's look at the first of several real-world Audiosnap applications: tweaking the points where individual notes start. In theory, this is easy — you just click on the marker associated with a note's starting transient and drag the marker where you want. Of course, it will snap to note values (or other specific snap boundaries) if snap is enabled. Note that where you drag on the marker makes a big difference. If you drag the little head at the top of the marker, you simply change the location of the marker. But if you drag the marker line itself, the audio associated with that marker will move along with it.
When you do move a marker, it stretches an audio region to the right of the marker you're dragging. This is fine as long as the next marker to the right defines the beginning of another note. But suppose you're changing the start of a power chord and there's a transient halfway through the chord. If you stretch the attack, the first half of the note will be stretched but the second half will not, creating an unpleasant discontinuity halfway through the power chord. Fortunately, there are three ways to disable unwanted markers:
- Adjust the Sensitivity slider. Moving it further to the right creates a larger 'window', and markers within the window are disabled. For example, if you set the Sensitivity to 1/4, transients that fall on quarter notes will remain, but transients representing small note values within that quarter note will be disabled.
- Adjust the threshold slider. Moving it further right raises the level below which markers are disabled, thus disabling more markers.
- To disable markers on an individual basis, right-click on a marker and select 'Disable'.
There may also be situations where no marker falls exactly on a note you want to move. In this case, click where you want the new marker to go and click on the Insert Transient Marker button (the sixth button from the left) on the Audiosnap palette.
There's a specific example in the screen below, showing five labelled transients. Transients one and two hit slightly before the beat; transient three hits quite a bit before the eighth note between the third and fourth beat of measure ten; transient four occurs after the attack of a power chord, and transient five indicates the note that starts measure 12, and is also a bit ahead of the beat.
You can drag transients one and two so that the note lines up precisely on the beat. But if you move transient three, it will stretch only the audio between transients three and four. Yet the chord extends from transient three to transient five, so for proper stretching you need to disable transient four, then move transient three.
As to whether it's a good idea to snap everything to the beat, of course the answer is no. But in this case I was creating a loop that goes through a tempo-sync'd echo for a sample CD. To allow the loop to be properly Acid ised, it's crucial that the notes and echoes hit precisely on the beat.
... but it'll have to wait until part two. This month we've had more theory than practice, but that's a necessary part of the learning experience. Audiosnap can be quite complex and the better you know how and why it does what it does, the more likely you are to be able to achieve the results you want.