Phase Vocoder w/Pitch Shifting (Audio Examples and Free Software Download)

I've improved my Phase Vocoder application by adding in a resampler. Using the resampler in conjunction with my Phase Vocoder's existing time stretch/compress abilities allows for pitch shifting. Here's a demonstration:


The original version of my Phase Vocoder is described in detail here. As shown in earlier demonstrations, it allowed for stretching and compressing audio with respect to time while still retaining the original pitch.

The pitch shifting is performed by stretching/compressing audio while also resampling it. Both operations (stretching/compressing and resampling) are done using the same ratio. This ratio is the same as that of the original pitch to the user desired new pitch. The result is audio that is pitch shifted without changing the original speed or length.

The pitch shifting abilities of the Phase Vocoder allow users to create multiple notes from a single sound. For example, in the following demonstration I used my Phase Vocoder to adjust the pitch of a single piano note into various notes. I then sequenced these notes using Presonus Studio One to create a short portion of Beethoven's "Für Elise".


Download Link to the Software

If you're interested in giving it a try on your own audio, I have a command line executable that should work for all Intel 64 bit Windows, OS X and Debian-based Linux systems. Download links:

Note that these downloads are just zipped executables (not an installer). The command line usage is quite simple. For example, to decrease pitch by two and a half semitones use the following options:

 PhaseVocoder --input inputfile.wav --output outputfile.wav --pitch -2.5

Of course the earlier features of stretching and compressing audio with respect to time, as well as detecting audio transients still exist. For command line usage please use the '--help' option. For extended help and additional usage examples please use '--longhelp'.

Also, please note that the Phase Vocoder currently only accepts mono (single channel) 16 bit uncompressed wave files as input.

Date: May 16th, 2017 at 1:46pm
Author: Terence Darwen
Tags: Audio Software, Cross-Platform Development, Phase Vocoder, Pitch Shifting, Digital Signal Processing, DSP, C++, Sabbatical

Previous Next