Sorry to bring this up again, but I have searched the forum and wondered what the best practice outcome was for changing the tempo of a sample while leaving the pitch the same.

I initially tried to use the SoundTouch library with DSP callbacks – however callbacks have a fixed buffer, and this results in a smaller number of samples if I increase the tempo, and more if I decrease the tempo.

I understand I can infact simply change the pitch using soundtouch (leaving the sample size the same), then change the playback frequency to correct for the pitch shift – resulting in an apparent tempo change. However this kinda sucks, as it looses the benefit of the interpolated samples when decreasing the tempo.

I guess the only real ‘proper’ solution is to manage the data ‘by hand’, e.g.

I could also load the wave file, pass it to soundtouch, then call FMOD with my converted data as a single sample – or use a streaming sound with a callback to supply the data which I manage the same way as before, but means I don’t need to process the whole file at once.

Is this an accurate description of the current solutions for the timeshifting issues?