[music-dsp] Algorithms for finding seamless loops in audio

Element Green jgreen at users.sourceforge.net
Thu Nov 25 23:40:00 EST 2010

Hello Didier,

On Wed, Nov 24, 2010 at 9:51 PM, Didier Dambrin <didid at skynet.be> wrote:
> IMHO "finding loop points" is the wrong problem to solve, it's better to
> "make something loop" instead, as (ideally) you're only gonna find the least
> bad loop points, nothing guarantees that there's anything loopable.
> I would use crossfading, and possibly autocorellation to auto-select the
> part to repeat & crossfade (to avoid a volume dip (& timbre change) due to
> phasing).
> I would also reject too small looping sections, as a "click-free" loop is
> one thing but a loop that doesn't sound repeating is another thing.
> Even if you wanna find loop points, IMHO it's still better to find them not
> caring about noticable clicks, and then do a little crossfade. Unless you
> really can't touch your source sample.

I like this approach.  Cross fading was on my list of features to add,
which could be performed after a good loop candidate is found.  I
still think its a good idea to have a loop candidate finding
algorithm, as you mentioned.  I can see that autocorrelation would
probably work much better if a cross fade was performed afterwards to
remove the possible click.

While reading your reply it occurred to me that a cross fade
"audition" toggle button would be nice, which automatically cross
fades the played back audio sample with the currently defined loop,
but is temporary and does not actually change the audio sample until
the user applies the cross fade.


More information about the music-dsp mailing list