Introduction

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].

[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://www-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.

Installation

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 .

Running tests

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