DSP Dimension provides some good pitch shift guidance and time-scale modification . There are many links to related materials (various libraries, tutorials, and implementations), as well as an open-source Fourier-based implementation in C ++ (see the Download section).