resampy is a python module for efficient time-series resampling. It is based on the band-limited sinc interpolation method for sampling rate conversion as described by 1.
Smith, Julius O. Digital Audio Resampling Home Page Center for Computer Research in Music and Acoustics (CCRMA), Stanford University, 2015-02-23. Web published at http://ccrma.stanford.edu/~jos/resample/.
resampy supports multi-dimensional resampling on numpy arrays, and is well-suited to audio applications. For long-duration signals — e.g., minutes at a high-quality sampling rate — resampy will be considerably faster than scipy.signal.resample and have little perceivable difference in audio quality.
Its dependencies are numpy, scipy, and numba.
For a quick introduction to using resampy, please refer to the Examples section.
resampy can be installed from source through pip:
pip install resampy
Conda users can install pre-compiled packages:
conda install -c conda-forge resampy
Advanced users and developers may wish to install from source by cloning the source repository:
git clone https://github.com/bmcfee/resampy.git cd resampy python setup.py build_ext -i pip install -e .
Developers that wish to run the included unit test suite can do so by installing from source, and then executing the following commands from the source directory:
pip install -e .[tests] pip install pytest pytest-cov pytest-faulthandler py.test --cov-report term-missing --cov resampy