samplerate 0.2.2


pip install samplerate

  Latest version

Released: Oct 10, 2025

Project Links

Meta
Author: Robin Scheibler, Tino Wagner
Requires Python: >=3.7

Classifiers

Development Status
  • 3 - Alpha

Environment
  • Console

Intended Audience
  • Developers
  • Science/Research

License
  • OSI Approved :: MIT License

Operating System
  • OS Independent

Programming Language
  • Python :: 3

Topic
  • Scientific/Engineering
  • Multimedia :: Sound/Audio
https://img.shields.io/pypi/v/samplerate.svg https://img.shields.io/pypi/l/samplerate.svg https://img.shields.io/pypi/wheel/samplerate.svg https://img.shields.io/pypi/pyversions/samplerate.svg Documentation Status

This is a wrapper around Erik de Castro Lopo’s libsamplerate (aka Secret Rabbit Code) for high-quality sample rate conversion.

It implements all three APIs available in libsamplerate:

  • Simple API: for resampling a large chunk of data with a single library call

  • Full API: for obtaining the resampled signal from successive chunks of data

  • Callback API: like Full API, but input samples are provided by a callback function

The libsamplerate library is statically built together with the python bindings using pybind11.

Installation

$ pip install samplerate

Binary wheels of libsamplerate for macOS and Windows (64 bit) are available. For other systems, a C++ 14 or above compiler is required to build the package.

Usage

import numpy as np
import samplerate

# Synthesize data
fs = 1000.
t = np.arange(fs * 2) / fs
input_data = np.sin(2 * np.pi * 5 * t)

# Simple API
ratio = 1.5
converter = 'sinc_best'  # or 'sinc_fastest', ...
output_data_simple = samplerate.resample(input_data, ratio, converter)

# Full API
resampler = samplerate.Resampler(converter, channels=1)
output_data_full = resampler.process(input_data, ratio, end_of_input=True)

# The result is the same for both APIs.
assert np.allclose(output_data_simple, output_data_full)

# See `samplerate.CallbackResampler` for the Callback API, or
# `examples/play_modulation.py` for an example.

See samplerate.resample, samplerate.Resampler, and samplerate.CallbackResampler in the API documentation for details.

See also

  • scikits.samplerate implements only the Simple API and uses Cython for extern calls. The resample function of scikits.samplerate and this package share the same function signature for compatiblity.

  • resampy: sample rate conversion in Python + Cython.

License

This project is licensed under the MIT license.

As of version 0.1.9, libsamplerate is licensed under the 2-clause BSD license.

Extras: None
Dependencies:
numpy