C++ audio time-stretching implementation, based on the algorithms presented in:
- Audio Time Stretching with an Adaptive Phase Vocoder, Nicolas Juillerat and Beat Hirsbrunner (ICASP 2017)
- Harmonic/Percussive Separation using Median Filtering, Derry Fitgerald (DAFx 2010)
Building the time-stretching library requires FFTW. Building the library tests requires libsndfile.
With apt:
sudo apt-get install fftw3
sudo apt-get install libsndfile
Or with HomeBrew:
brew install fftw3
brew install libsndfile
Building the code requires CMake.
cmake -Bbuild -DBUILD_TESTS=ON
cmake --build build --config Release
./build/hpss
can be used to test the
harmonic/percussive source separation algorithm.
./build/stretch
can be used to test the
time-stretching algorithm. Use the --help
flag for more information about how to use each test.
The code in this repository is licensed under the BSD 3-clause license.
Enjoy!