[Jesse Chappell]
Tim Goetze wrote on Wed, 24-Mar-2004:
[Jesse Chappell]
The
stretch program was not properly clamping the output from
-1.0 -> 1.0 yielding to terrible cracks upon writing as 16bit
wave files when the output is clipped. The fact that non-clipping
(but very close to) input yielded clipping output is another issue,
but not crucial.
I've attached a patch that fixes the problem.
applied, thanks.
I just realized that you may not want to clamp if your output
is a 32 bit float or double, as it is fully capable of handling
the value as produced. For instance, if (well, when) we suck this
algorithm into ardour we don't need to clamp, as our internal
format is float.
true. i'll make it an option.
unfortunately,
i can't come up with an algorithm giving the perfect
scale factor for the stretching algorithm. ideas welcome, of course.
Hmm, this is a tough one.... even soundtouch doesn't get it right,
and it doesn't have the same issues as the FFT approach....
maybe i'll come up with something when i find the time to really work
with the phase vocoder, which will probably give a bunch of insights.
too much to do right now to really dive into it (i feel that the pvoc
package is just scratching the surface).
tim