I made a cross-platform phase vocoder. This project is available on GitHub here. The PhaseVocoder allows for time expansion/compression and pitch shifting of audio with quite a good degree of quality. I wrote this in C++. It runs on Windows, macOS and Linux (please see download links below). Here are some examples of audio processed with my phase vocoder:
First a drum beat, stretched and compressed with respect to time:
Various other audio stretched or compressed with respect to time:
An example of the pitch shifting capabilities:
If you're interested in giving it a try on your own audio, a command line executable can be easily built for Windows, MacOS or Linux using the instructions on github here.
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
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.