A seamless loop is one whose last sample leads straight into its first with no click, gap or cut-off tail. To make one, set the loop to a whole number of bars, export from the exact start of a bar to the exact end of a bar, and fold any reverb or delay tail back onto the start. Export it as a WAV at your project's sample rate, then play it on repeat for a few minutes to hear the seam before anyone else does.
This guide covers the five usual causes, a precise tail wrap method, and a ten-point pre-export checklist.
Why a loop clicks or gaps
A loop is played by jumping from the end of the file back to the start. Anything that makes those two points disagree is audible as a seam. The usual causes:
- The cut lands mid-waveform. If the last sample is high on a wave and the first is near zero, the jump is a sudden step in level. That step is the click. It is most obvious on sub bass, sustained pads and anything with low-frequency content.
- A tail is cut off. Reverb and delay ring out past the last beat. If the export stops on the bar line, the tail is chopped, and on repeat you hear the sound drop out and then restart with nothing underneath it.
- The range is off by a fraction. A selection that starts a few milliseconds late or ends a few milliseconds early is not a whole number of bars. The loop then drifts against the grid, and against anything layered over it.
- The sample rate changed on the way. A project at 48 kHz bounced to a 44.1 kHz file is resampled, and a length that was an exact number of samples at one rate rarely is at the other, so the end can land a fraction off the bar. See WAV sample rate and bit depth for which rate to pick.
- The file is a compressed MP3. MP3 encoders commonly add a short stretch of silence at the start, and the decoder may add more, so a loop that was tight in the DAW arrives with a small gap before the downbeat. Loop from a WAV, not an MP3.
Make the loop a whole number of bars
Seamlessness starts before the bounce. A loop only repeats cleanly if its length is exactly a whole number of bars at the project tempo, and if every clip and pattern inside it also ends on a bar line.
- Set the project tempo and leave it. A tempo that changes partway makes the bar length a messy number of samples.
- Make every pattern, audio clip and automation lane an exact number of bars: two, four or eight. A pad clip that is four bars and one beat will creak against a four-bar drum loop on the second pass.
- For how many bars to aim at for a given tempo, and how that maps onto upload limits, see how long a loop should be rather than repeating it here.
Export on exact bar boundaries
Set the export range to start on bar 1, beat 1, and end exactly one bar line after the last bar of the loop. In a four-bar loop that is the start of bar 1 to the start of bar 5, with nothing before or after.
Nudge the range with the grid on, not by eye. If your DAW lets you type the start and length in bars, type them. If it only lets you drag a selection, snap to the bar and check the end marker has not landed a sixteenth short.
The tail wrap method
Reverb and delay tails are why most loops fail the repeat test. You want the tail of the last bar to ring into the start of the first bar, the way it would if the loop were playing live. The method has two forms.
Render-two-passes form
- Make sure the loop plays the same from bar 1 to the last bar, with no one-shot crash or riser that you only want once.
- Extend the export range to cover the loop twice in a row, back to back, so the second pass starts at the start of a bar and the first pass's tail is still ringing into it.
- Include the effects that make the tail: put reverbs and delays on return or master channels that are included in the export.
- Bounce the double-length file.
- Open it in an audio editor or drop it into a project. The second cycle already contains the tail from the first cycle in its first moments.
- Cut out the second cycle only: from the exact start of the second pass to the exact end of the second pass, on bar lines.
- Check the length is exactly your original bar count, then export that cut as your loop.
Paste-the-tail form
- Bounce the loop with extra time after the last bar so the full tail is audible.
- Cut the tail off at the bar line and keep it as its own clip.
- Lay the loop on a track, and place the tail clip so it starts at the first beat, on top of the first bar.
- Add a very short fade-out at the end of the tail, so it stops ringing instead of ending on a step. A few milliseconds to a few tens of milliseconds is commonly enough.
- Bounce just the loop length, from the bar 1 downbeat to the final bar line.
Either way, the result is a file whose end is quiet where its start begins, and whose first bar already holds the ring-out of the last. Some DAWs do this for you; Ableton Live has an option for it, covered next.
DAW notes
Ableton Live. In the Export Audio/Video dialog, Live's manual describes Render Start and Render Length for choosing the range, and a Render as Loop option: without it, any effect decay running past the last clip is cut off, and with it Live runs two passes and wraps that decay into the start of the file, keeping the length the same. That is the tail wrap above, done automatically. The same dialog has Sample Rate, Bit Depth and Dither Options; the manual advises dithering only once, and rendering at 32-bit if more processing follows. Source: the Ableton Live manual, Managing Files and Sets.
FL Studio and other DAWs. Menu names change between versions, so check your DAW's own manual for the current wording. FL Studio can export a selected range or the whole song as WAV, and its export dialog has settings for how the end of the render and the effect tail are handled. Look for an option that lets the tail run on, or one that wraps it to the start, and if there isn't one, use either form of the tail wrap above by hand. Whatever the DAW, test the result by looping it. The checklist below applies everywhere.
Short fades and zero crossings
If the loop has content that is continuous at the seam, such as a sustained bass note or a pad, the tail wrap will usually take care of it, because the sound genuinely continues. Where it will not, a click can still survive.
- Zero crossings. A zero crossing is where the waveform passes through silence between positive and negative. Cutting at one means the jump between the end and the start is not a step. In an audio editor, snap the cut points to the nearest zero crossing, or on a stereo file make sure both channels are cut together.
- Tiny fades. A fade of a few milliseconds at each end, applied only if the loop has a click you cannot remove otherwise, removes the step. Keep it short: a long fade at the start eats the downbeat's attack, and a long fade at the end audibly dips on every repeat.
Test it before you send it
Do not trust the waveform. Test by ear.
- Drag the exported file into a fresh project at the same tempo, on a bar line.
- Set it to loop and let it repeat ten times or more.
- Listen on headphones. Listen for a tick at the join, a dip in level, a gap before the downbeat, and a reverb stopping instead of ringing.
- Put a metronome or drum loop underneath and check it does not drift after a minute.
A seam you can hear by the tenth repeat will be unbearable to a collaborator who runs it for an hour.
Ten-point checklist before you export
- The project tempo is fixed and the loop is a whole number of bars.
- Every clip, pattern and automation lane ends on a bar line.
- The export starts at bar 1, beat 1, and ends exactly on a bar line.
- Reverbs and delays are included, and their tails have been wrapped to the start.
- No one-shot crash, riser or reverse sweep is left in that would play once on the first pass.
- Nothing on the master bus is clipping, and the file keeps headroom.
- Format is WAV, at the sample rate your project runs at. Not MP3.
- A short fade is on the edges only if a click survived, and zero crossings are used where it did.
- The file loops ten times on repeat, on headphones, with no tick, dip or gap.
- It is named with its key and tempo so whoever opens it knows what it is.
Sending a seamless loop on ColabLoop
A loop on ColabLoop is one WAV, 10 to 60 seconds long. The sample rate is measured from the file and shown on the loop's page, so a collaborator knows what they are opening before they ask. You also tag the mix state as Mixed (levels, EQ and glue done, ready to write over) or Unprocessed (raw, with headroom left in, for a collaborator who wants to mix it), and either one should still loop cleanly. Browse what other producers have posted on loops.
Questions producers ask
How do I export a loop without a click?
Export from the exact start of a bar to the exact end of a bar, include the effect tails, and make sure the first and last samples sit at similar levels. If a click remains, cut at a zero crossing or add a fade of a few milliseconds.
Why does my loop sound fine in the DAW but gap when I loop the file?
The DAW is playing the reverb and delay live across the loop point, while the exported file stops dead at the bar line. Use the tail wrap method so the ring-out is in the file itself. An MP3 may also add silence at the start.
Should I bounce a loop as WAV or MP3?
WAV. An MP3 is compressed and commonly has a small gap at the start, which breaks a tight loop. Keep MP3 for previews.
How many times should I test a loop on repeat?
At least ten, on headphones, with a metronome or drum loop underneath. Seams and drift that you miss on the first pass show up by the tenth.
Sources: Ableton, Live Manual, Managing Files and Sets (Export Audio/Video).