14 April 2010

Phase-Locked STFT Time-Scale Modification in MATLAB






This is a non-realtime MATLAB implementation of frequency-domain time-scale modification algorithms by Puckette (1995) and Laroche, Dolson (1999) which take into account vertical phase coherence between channels of the STFT. This type of technique is commonly referred to as the Phase Vocoder. For more information on these topics see the references below.

The file PhaseVocoders.m launches a simple GUI for loading .wav samples, choosing parameters for the algorithms, and previewing and saving the results. The quality of the resulting time-scale modified signals is sensitive to the choice of parameters. The FFT size and overlap follow the standard STFT model for overlapping analysis/synthesis windows.

There is a simple peak picking algorithm necessary for the Laroche/Dolson algorithms, which identifies spectral peaks whose amplitudes are larger than their N nearest neighbors and are greater than a certain threshold (to avoid picking peaks in noise or silence). Both of these parameters for the peak picking algorithm can be chosen in the GUI.


Phase Vocoder GUI for MATLAB



References:

M. Puckette, “Phase-locked vocoder,” IEEE ASSP Workshop on Applications of
Signal Processing to Audio and Acoustics
, 1995.

J. Laroche and M. Dolson, “Improved phase vocoder time-scale modification of
audio,” IEEE Transactions on Speech and Audio Processing, vol. 7, no. 3, pp.
323-332, May 1999.

No comments:

Post a Comment