When an application sends a seek event with rate != 1.0, Scaletempo applies
the rate change by scaling the tempo without scaling the pitch.
Scaletempo works by producing audio in constant sized chunks
(“stride”) but consuming chunks proportional to the playback
rate.
Scaletempo then smooths the output by blending the end of one stride with
the next (“overlap”).
Scaletempo smooths the overlap further by searching within the input buffer
for the best overlap position. Scaletempo uses a statistical cross
correlation (roughly a dot-product). Scaletempo consumes most of its CPU
cycles here. One can use the “search” propery to tune how far
the algoritm looks.