Notes : I've written this with 'newbies' in mind, but I'm sure some of you die-hard Audioheadz out there might find this useful. All references are to version 1.0a. If you still think you're reading an article about making your trips longer, then stop now because you're not

Sonic Foundry Acid has probably the best Timestretch algorithm I have ever heard - I thought the SoundForge one was good until I heard Acid. It's also better than most hardware samplers' timestretches. Several hats off to Sonic Foundry for writing stuff that works how it damn well should do. Maybe they should think about putting their algorithm in a handy plug-in format for non-Acid users.

For those who don't know, Timestretch is a function that adjusts the length of a sample (effectively changing its bpm if it's a loop or break) while leaving the pitch unchanged. It does this by cutting out / adding samples at various intervals during the course of the sample so that it reaches the desired length, while, to a certain extent, smoothing out the side-effects of this process on the quality and timbre of the sound. However, the quality of all timestretching functions (including that of Acid) is heavily dependent on the source material - for example, breaks without a bassline on them will stretch far better than those with a heavy bassline - as well as the amount of tempo change required - a stretch from 110bpm to 95bpm is going to sound a lot better than one from 160bpm to 100bpm.

More extreme stretches can also introduce unpleasantness to the rhythmic flow of a loop (which might not matter too much if you're cutting up the loop afterwards) which, for a funk producer like me, can kill the music stone dead. The great thing about Acid is that it offers several tweaking options to get the best possible Timestretch sound. Below are a few tips to avoid the dreaded 'warbling' effect you sometimes get when stretching certain types of material.

Before you stretch, make sure the loop LOOPS. Play the sample in loop-mode in your editor (i.e. so that it continuously repeats) and if it goes back to the start prematurely or too late then edit it (crop it or add a little bit of silence) so that the loop is spot on. This is very important, as any stretch applied on a badly looping sample will mess up the timing, especially on more extreme stretches, even if you are going to split the loop up into smaller sections later.

Also before stretching, if the loop does not need to be in stereo (especially in the case of bass-loops and also most drum breaks), then convert it to mono. Mono stretches usually turn out better than stereo ones. If you MUST have a stereo effect, then it is always possible to add a stereo-izing effect later on through reverbs and stereo enhancers - many editors will have basic facilities built-in, but good quality DirectX processors such as those from Waves and Q-Sound will obviously sound better for this.

It goes without saying that you should try and keep all your samples at the same sample rate, preferably 16-bit, 44.1 kHz - if you're looking at getting quality sound for your music, you should be working with at least this rate anyway. Also, it's probably best to leave most funky digital effects and processing, such as EQ, bass-enhancement, reverb etc., until after the stretching process, except perhaps hiss and click reduction.

If you have a bit of time on your hands, you can try what makes the Acid timestretch the most flexible timestretch I have ever used : the marker editor section. In the 'Properties' section there is a waveform display which shows the various points at which Acid has detected changing activity in the sound. Load a drum break in to see what I mean here : the markers will split up the various sounds in the break, such as kick, snare and hats. These points are often slightly off where they should be, so move them around so that they are dead on.

Acid also often adds unnecessary markers where there is no significant change in the sound, and removing these can sometimes be a miraculous cure for warble. In my experience I have found that editing these markers can make a huge difference to the sound quality of the stretch (both in terms of timbre and rhythmic timing), especially on certain drum breaks and also on melodic material, such as guitar loops. It can, however, also be unbelievably tedious, so I suppose it just depends on how anal you are about sound quality and production values, heheh.

To edit the marker points, use the little icons in the top-right of the 'Stretch' tab of the properties section - these let you (from L-R): Reset to default markers, Move markers, Add markers and Disable markers - apart from 'reset markers', the functions work on individual markers. Move markers around by dragging the little red 'shields' at the top of the waveform display - they will go blue if they are moved from their default positions. To delete them, click on them (they will turn white). It seems an obvious point to make, but do try and check the quality through a good pair of headphones - I find that it can help immensely during tweaking a sound when making tiny but significant adjustments.

You can also try adjusting the little bars marked 'Force divisions at n-th notes' and 'Additional transient detection at n %'. Even so, however much you tweak this, I have still found that the above method gives far better results. In general though, more divisions lead to more warbling, while fewer divisions increase the chances of a sort of digital-sounding echo effect occurring - which can actually sound quite nice sometimes, depending on the context (warbling never sounds nice!).

If, after trying the above methods to improve things, the loop still sounds warbly or 'echo-ey' after stretching, try and see what it sounds like without keeping the pitch the same - i.e. so that it pitches the sample up or down with the tempo change. You may find that you actually like the sound (especially in the case of drum breaks), and it will have no warbly properties. To change this property in Acid, go to the 'Stretch' tab of the sample properties section. The box marked 'Stretching method' will probably be set on 'Looping segments' - change it to 'Pitch shift segments'. You can also try 'Non-looping segments' to see what it sounds like, but I have found that changing to this seems to yield no discernible improvement to the stretch quality.

Sometimes, a slight tempo adjustment can enhance the stretch quality. Use this only as a last resort, as it could mess up your tune - as you're changing the tempo for one sample, it's pretty likely that other samples in your tune are getting mashed up!

Oh, and don't abuse sample CDs - every producer in the world has them, and it can be very annoying to say the least when 'your' sounds start appearing in lame adverts and jingles. Anyway, I certainly prefer the sound of Herbie Hancock playing the Fender Rhodes than some anonymous session hack doing a pale impersonation. Remember, if you process it well enough, it can easily be unrecognizable - cut it up, rearrange it and generally abuse it to the max. Also, if you make your own loops you probably won't even have to resort to stretching, ehheehee.

After you have got a good enough stretch, I have found that any remaining artifacts in the sound can be ironed out with a little extra digital processing in your sound editor. Export the loop (mute all other Acid tracks, make sure the level of the track is at the optimum volume, set the playback loop-markers and press Control-M) and load it up into your editor. It will be in stereo, so convert it to mono if required.

After this, depending on the type of material, process it so that the sound becomes 'fatter' - tube and tape simulators work very well (such as Steinberg Magneto and Hyperprism-DX Tube/Tape Saturation), but as it is really dependent on the source, just experiment! - EQ, a little reverb, compression, whatever. Then load it back into Acid (load it back as a one-shot to prevent any further artifacts - it will be in time as you have already stretched it) or whatever you are using to construct your tune. The things we (it can't just be me, surely!) do to get a perfect sound!