Seamless loops: why the seam is the whole point
A loop that clicks is worse than no music. The click pulls attention every few seconds, and once you hear it you cannot unhear it. Making a loop seamless is a post-processing problem, not a generation problem.
Why generated loops click
Music models write a piece that starts and ends โ an intro and an outro. Loop it and you hear the outro run into the intro: a gap, a cymbal, a key change. The seam is audible because the two ends were never designed to meet.
Crossfading the last second into the first helps, but a naive crossfade doubles the level in the overlap and shifts the rhythm. That is how you get a loop that pulses once every cycle.
What we do
We mix the tail into the head at the sample level, so the overlap keeps a constant level and the beat stays on the grid. The track then begins on the same beat it ends on.
We also trim the leading silence before that, because a loop with 0.4 seconds of nothing at the top drifts out of sync every time it repeats.
Choosing a loop length
Pick a length that divides your scene. If your menu scene is 60 seconds, a 30-second loop repeats twice and always lands on the phrase boundary. A 45-second loop lands mid-phrase and feels arbitrary.
For ambience in games and apps, 30 or 60 seconds is usually right. Longer loops are harder to keep interesting and eat memory.
Loop or not?
Not everything should loop. A track under a 30-second edit should simply be 30 seconds โ the seam never plays. Use the loop option when the audio will actually repeat: menus, waiting screens, ambient beds, interactive scenes.
If you are unsure, generate both. The non-loop version is the safer default for linear video.
Make a seamless loop โ