Sonic Foundry's Acid is a loop-oriented, multitracking Windows program that allows effortless time and pitch manipulation you can throw together unsychronised loops and Acid will make them all conform to your choice of tempo and key. However, little has been said about how you can use Acid to create whole new loops.
I use Acid a lot for creating new loops, and not just for musical purposes, but also for audio-for-video projects. Although using Acid might seem like a strange choice for this, given the plethora of hard disk recording programs with AVI or Quicktime import capabilities, Acid's ability to stretch or compress tempo makes it easy to fit music to a particular scene or edit. For example, with video work you'll often get requests for music that you'll never find in a loop library my favourite so far being, "We need a sort of funky, low-down rock and roll, but with a strong military character". Well, I don't have any military-funk-rock sample CDs, so I have to 'roll my own' sample loops instead. And even if you have zillions of sample CDs, it can be faster creating a loop to order than trying to find the exact sample you're after. Here's how I go about it.
Starting From Your Chosen Sequencer
Assuming that the tune which needs the custom loops has already had its tempo fixed, I generally do drums and other 'metronomic' tracks in a MIDI sequencer, and record the output from my sound modules into a digital audio editor for trimming and processing. Bear in mind, though, that different sequencers will often run at different speeds even if their tempo displays show the same value. For example, a four-measure 90bpm loop generated by the internal sequencer in one of my keyboards lasts 10,693mS, where it theoretically ought to last 10,666mS. There are three ways to deal with this:
You can use a dedicated time-stretch algorithm to make the required change to the loop length. Generally, the difference will be small enough that the time-stretching won't mess with the sound too drastically. Careful, though; some time-stretchers will produce a file that is slightly shorter or longer than what you've specified in order to improve the fidelity, so always measure the loop's length after processing to make sure the program did exactly what you wanted it to do.
You can simply ignore any differences, trim according to the loop's downbeats, and let Acid do the required time-stretching.
Keep a calculator handy for working out the theoretical duration of your loop at the given tempo divide 60,000 by the tempo in bpm to get the number of milliseconds per beat. Also, try to avoid extracting your loop from the beginning of the sequencer's playback, as that's where tempo inconsistencies seem most common.
Creating The Loop In Acid
Once you have any programmed elements recorded you can use Acid's recording abilities to add further audio parts to the loop. In fact, you can record loops from scratch in Acid if you wish just set up a few guide loops to which you can play along (you'll always perform better if you play along with something) and set the total loop length and indicator for something like 16 measures. Turn on loop mode, and now Acid will play those 16 measures over and over. Keep playing the part until you get it right. After 16 measures, Acid will loop for playback, but the recording track will continue for example, your second pass will go into measures 17-32, your third into measures 33-48, and so on.
When you're done, open an audio editor and extract the section you want to use as a loop. Acid is optimized to work with Sonic Foundry's Sound Forge, as this places markers at each measure. However, due to system latencies (at least, that's my theory), the markers may not fall exactly at the beginning of the measure. The easiest way to check this is as follows.
Loop a drum part in Acid that was recorded at the tune's base tempo, and has a signal on the downbeat a kick drum, for instance. Solo this track, send its output back through your mixer or soundcard, and rerecord a few measures of it into Acid. Open up the subsequent file in Sound Forge and note the difference between the measure marker and the downbeat; this represents the system latency, which in my case is 14mS. Now you know to offset by that amount when trimming to measure markers.
If you're not using Sound Forge and are recording mono samples, you can create a visual guide by setting up a click track loop in Acid (for example, using a clave sound), and sending that into Acid's right input. Send the part you are recording into the left input. When you open up the file in a digital audio editor, the clave waveform will indicate the start of each measure, and you can trim to that reference.
Okay, you've recorded your killer loop and trimmed it to the right length. But what if a note's start time is a little off? Here's your chance to use Acid's little-known quantization feature. It's a bit time-consuming, but you'll end up with as tight a rhythm as your patience will allow.
To start with, load the loop that needs quantizing into Acid its track type should be set to loop, rather than one-shot or hard disk. Then zoom in close enough to see the waveform really well, set the snap-to-grid function to 16th notes (or whatever you want to quantise to), and get ready for surgery. Have a look at the screenshots on this page. The top track shows kick and snare. The next lower track is an unquantised bass track. The lowest track is a copy of the unquantised bass track, which we are going to quantise.
In the top screen, the cursor is sitting at measure one, beat two (the exact beginning of the kick waveform), but the bass note lags behind. What you need to do is cut the space between the cursor and the beginning of the note in track three, then move the note forward to line up with the cursor. Here's how to do it.
Select the track where you want to quantise the note and place the cursor on the metric grid at the nearest 16th prior to the note's attack. Hit the 'S' key to split the track at the cursor. Use the F8 key to turn off the snap function and place the cursor at the precise beginning of the late note, before hitting the 'S' key again. Click on the little sliver between the grid position and the beginning of the note and delete it to get rid of the excess space. Turn the grid back on with F8 key, and then snap the note's attack leftward to the grid. Voilà quantised bass note. If the note had been ahead of the beat, you would simply click the cursor (with the grid off) at the head of the note, type 'S' to split the part, and then switch the grid on before sliding the note to the right, snapping it into place.
Of course, changing a note's start position in this manner also changes the notes 'downstream'. In some cases, therefore, you'll want to cut both the note's beginning and end so that other notes aren't affected when you move it. If moving the segment to the right creates an undesired overlap with another segment, trim a little bit off the end to create a space.
The final step is to set loop markers around the newly-quantised measures, and then to choose Mix To New Track from the Edit menu. (Play it first, though, to make sure the level meters read as high as possible without going into the red.) The new track will meld all the quantised elements into one continuous track.
With the help of the techniques I've described above, you ought to be able to generate exactly the type of loop you need from programmed and live sounds, with everything tweaked into the same groove. I hope you have as much fun with it as I do!