Sometimes you want to use a live recording in ACID but the Beatmapper can’t be used effectively because the tempo drifts several times throughout the song. In these extreme cases you can fix tempo drift in a wave editor like Sound Forge. Sound Forge has an optimized workflow for working with sound files at this level or granularity where each measure may have to be corrected. Creating that many beatmaps in ACID is just too time consuming. The procedure in Sound Forge involves slicing the original song into measures and time-stretching each measure to be a constant length. Then append each measure to a new wave file to create a new file that is perfectly locked to the tempo.
Here is an overview of the procedure:
- Open the source wave file to be beatmapped in Sound Forge
- Make a loop selection of one or more measures in duration
- Copy and paste to a new wave to a temporary wave
- Time-stretch the temporary wave to match the song’s BPM
- Append the temporary wave to the target wave
- Delete the temporary wave and repeat at step 2 until the entire file is mapped.
Tip: Turn on the ACID Loop Creation toolbar in Sound Forge to assist in working with ACID Loops. (View | Toolbars… | ACID Loop Creation Tools)
Open the wave file in Sound Forge. I like to start by mapping the tempo of the file with Markers. To do this, play the file and tap the ‘M’ key on each beat. Do this for a few measures to give you a visual cue of the beats in each measure.
Once several measures have been marked, stop and make a selection from the first marker to the fifth marker. This should encompass the four beats of the first measure. Fine tune the ends of the selection so that the measure loops perfectly when played as a loop in Sound Forge. If you hear clicks or pops, make sure you use either the ‘Z’ key to snap your selection to the zero cross points, or use the menu Options > Auto Snap to Zero (Ctrl+B). This will ensure that all cuts are a zero crossings. Looping at the zero crossing will help eliminate clicks or pops at the loop point.
Turn on the ACID Loop Creation Tools toolbar (View > Toolbars… > ACID Loop Creation Tools) to be able to see the BPM readout from your selection. There are icons on this toolbar to Shift Selection Right which we will be using a lot in this procedure. Turn on the Selection grid lines button from this toolbar to see the beat grids. These vertical lines should line up fairly close to your markers. You may try and select two or more measures if you think they will stay on the beat. The object is to make your selections just as large as the amount of time it takes the song to drift off tempo, but no larger. If you Beatmap the song in ACID first, this will give you a good indication of how soon tempo drift will occur.
Once you are happy that your selection loops seamlessly, Copy it to a new wave file with Ctrl+C, Ctrl+E. This new file will be used as the target to build the beatmapped song. Select File > Save As on the new file and give the file a name. Next, select the entire new wave and make a note of the duration by writing it down. You will time-stretch all the other measures to this duration.
Give the original sound file the focus and press the Shift Selection Right button on the ACID toolbar to advance the selection to the next measure.
IMPORTANT: From this point on, don’t touch the left selection point. If you do, the song will have gaps a playback will be jumpy.
Play the new looped section. If this new selection doesn’t loops seamlessly, adjust the right hand selection point until it does. Do not at any time adjust the left hand selection point. Doing so will interrupt the flow of the song. Move the right selection point, if needed, to make the measure loop seamlessly. Copy this selection to a new wave with Ctrl+C, Ctrl+E.
This new wave is just temporary. We are only using it as a scratch pad for doing the time stretching. On this new wave select Process > Sony Time Stretch…. In the Time Stretch dialog either change Input format to Tempo (bpm) and enter the beats per minute of the final song, or change the Final Time to match the length of the first measure. All of the subsequent measures will be adjusted to this time. Press OK to time stretch.
Now copy and paste this file to the end of the target file we are creating. Use Ctrl+C to copy, give the new target file the focus, press the ‘End’ key to be sure the cursor is positioned at the end of the file, and finally press Ctrl+V to append the new measure at the end of the file. Press Ctrl+S to save the target file.
You can now delete the temporary file of the last measure without saving it.
Repeat the steps of:
- Advance the selection
- Adjust the right side of the selection to make a seamless loop
- Copy the loop to a new temporary wave
- Apply Sony Time-stretch to the temporary wave to match the length of the first measure
- Append the temporary wave to the new target beatmapped file
- Delete the temporary wave
- Go To Step 1
Repeat until the entire file is beatmapped. It’s very tedious, but it can be done. If you don’t have Sound Forge you can use the Sound Forge Audio Studio. It has all the features you need for this job.
Happy Composing,
Johnny “Roy” Rofrano
I was wondering if you had any further advice. I spent several hours doing this for one of my dance tracks from the 1970s and it still doesn’t have a steady tempo. The track is now 10 or 15 seconds shorter, but the tempo still seems to be all over the place. Am I doing something wrong?
Without watching you do it it’s hard to say. The trick is to make sure that every measure that you correct is the exact same length. What you are trying to do is stretch every 4 beat measure to be the exact same length and then reassembling that into a new file so that the new file has every measure the same.
You would think that by 2013 someone would have made this simple for DJ’s who want to catalogue all of their 70’s and 80’s tracks without any drifting.
What we need is a new software that specializes in only correcting drift in tracks and that can do it in bulk.
Perhaps a smart cookie can come up with a soft that will read the first 16 to 32 beats map out an average BPM and translate that to the entire length of the track.
Cheers.