A phase vocoder based on nonstationary Gabor frames

Emil Solsbĉk Ottosen and Monika Dörfler

 

This webpage provides audio examples and source code complementing the research paper A phase vocoder based on nonstationary Gabor frames. The basic idea of this work is to use non-uniform nonstationary Gabor frames in order to address some of the problems seen in the realization of audio applications such as time-stretching via the classical Phase Vocoder

SOURCE CODE

The source code has been implemented in MATLAB R2017A and can be downloaded here, with detailed documentation.

Note that the implementation depends on the following toolboxes:

·         The LTFAT (version 2.1.2 or above)

·         The NSGToolbox (version 0.1.0 or above)

 

AUDIO EXAMPLES: We present three real-life audio signals as well as a synthetic signal to document the performance of the proposed algorithm. For each of the sounds, the original sound can be compared to the stretched versions, where r is the stretch factor, according to four different algorithms discussed in the paper, including the classical Phase Vocoder (PV), the proposed algorithm (NSGT) and two multi-resolution methods (Derrien, SuperVP). We consider four stretch factors r between r = 0.75 and r = 2.25 for the three audio signals and a variety of six stretch factors for the synthetic signal.

 

1.      Glockenspiel signal

 

Algorithm

r1 = 0.75

r2 = 1.25

r3 = 1.5

r4 = 2.25

Classical PV

r1

r2

r3

r4

Proposed (NSGT)

r1

r2

r3

r4

Derrien

r1

r2

r3

r4

SuperVP

r1

r2

r3

r4

 

 

2.      Piano Signal

 

Algorithm

r1 = 0.75

r2 = 1.25

r3 = 1.5

r4 = 2.25

Classical PV

r1

r2

r3

r4

Proposed (NSGT)

r1

r2

r3

r4

Derrien

r1

r2

r3

r4

SuperVP

r1

r2

r3

r4

 

 

3.      Rock band signal

 

Algorithm

r1 = 0.75

r2 = 1.25

r3 = 1.5

r4 = 2.25

Classical PV

r1

r2

r3

r4

Proposed (NSGT)

r1

r2

r3

r4

Derrien

r1

r2

r3

r4

SuperVP

r1

r2

r3

r4

 

 

4.      Synthetic signal

 

Algorithm

r1 = 0.75

r2 = 1.25

r3 = 1.5

r4 = 2.25

r5 = 3

r6 = 3.75

Perfect Stretch

r1

r2

r3

r4

r5

r6

Classical PV

r1

r2

r3

r4

r5

r6

Proposed (NSGT)

r1

r2

r3

r4

r5

r6