[linux-audio-dev] Pitchshift/Timestretch project..

Cournapeau David cournape at enst.fr
Tue Apr 6 10:01:33 UTC 2004

I forgot to add that there is a matlab script which does the basic phase 
vocoder stuff on musicdsp.org. As I am the one who writes this script, I 
can help you if you have any questions ;). As the script only uses the 
matlab language and fft, it should run on scilab and/or octave, but I 
haven't tried myself.



Cournapeau David wrote:

> Well, kind of. The idea of the phase vocoder, which more or less 
> describes what you said,
> is to decompose each time-domain frame into N frequency bins, and to 
> suppose that there is only one underlying stationary sinusoidal in 
> each frequency canal. If this is the case, you unwrap the phase to 
> have the frequency of the sinusoid, and you resynthetise it with a
> longer or shorter time frame.
> The problem is that it demands short windows (for the hypothesis one 
> stationary sinusoid in each frequency canal to be valid), which means 
> very poor frequency resolution. Basically, you have to make a trade 
> off between time resolution and frequency resolution (nothing new here 
> ;)). So the idea is to adapt the window size to the content of the 
> signal, which means being able to detect the transient (which are 
> better stretched with small windows)...
> J Bonada wrote his PhD on this subject, if you are interested:
> http://www.kug.ac.at/iem/lehre/arbeiten/hammer.pdf
> cheers,
> David

More information about the Linux-audio-dev mailing list