DSPRelated.com
Forums

Pitch-Scaling with Phase Vocoder - Interpolating the Phase

Started by Sebastian Adolf November 26, 2008
Hello!

I am currently writing my master-thesis on pitch-scaling and time-stretching
and came across several problems... one of them i'll describe here:
In one of my pitch-scaling-implementations I am following the great
bernsee-tutorial from
http://www.dspdimension.com/admin/pitch-shifting-using-the-ft/ . My aim is
now to extend his work with some interpolation-stuff for better
signal-reconstruction after pitch-scaling. As first, i am applying a FFT to
the signal, calculate magnitude, phase and "true frequency" out of these
values. After that, I scale the signal by some real-valued value (like 1.43).
Bernsee now just roughly calculates the "new-bin" by rounding to the nearest
one, my approach is to interpolate the magnitude to contribute to the bins
around my calculated "real-bin". My question is now what's happening to the
phase... one approach is to just calculate the expected-phase for every bin
and forget about the phase-information, but this leads to a wrong-sounding
signal... my other approach would be that I interpolate the phase-information
for the surrounding bins the same way i did for the magnitude, but I can't
get this into some theoretical background (formulas), which I need for talkin
with my adviso ;). Anyone here has some experience with this topic? Sorry for
my bad english, i am a little bit out of writing such threads ;).

greets

Sebastian