Skip to main content

Monolithic python wrapper for libsamplerate based on pybind11 and NumPy

Project description

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 are available for macOS (x86_64, arm64), Linux (x86_64, aarch64), and Windows (x86_64). Building from source on other platforms requires a C++14 or later compiler.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

samplerate-0.2.4.tar.gz (22.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

samplerate-0.2.4-cp314-cp314-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.14Windows x86-64

samplerate-0.2.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

samplerate-0.2.4-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

samplerate-0.2.4-cp314-cp314-macosx_10_15_universal2.whl (2.9 MB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

samplerate-0.2.4-cp313-cp313-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86-64

samplerate-0.2.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

samplerate-0.2.4-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

samplerate-0.2.4-cp313-cp313-macosx_10_13_universal2.whl (2.9 MB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

samplerate-0.2.4-cp312-cp312-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.12Windows x86-64

samplerate-0.2.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

samplerate-0.2.4-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

samplerate-0.2.4-cp312-cp312-macosx_10_13_universal2.whl (2.9 MB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

samplerate-0.2.4-cp311-cp311-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86-64

samplerate-0.2.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

samplerate-0.2.4-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

samplerate-0.2.4-cp311-cp311-macosx_10_9_universal2.whl (2.9 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

samplerate-0.2.4-cp310-cp310-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.10Windows x86-64

samplerate-0.2.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

samplerate-0.2.4-cp310-cp310-macosx_10_9_universal2.whl (2.9 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

samplerate-0.2.4-cp39-cp39-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.9Windows x86-64

samplerate-0.2.4-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

samplerate-0.2.4-cp39-cp39-macosx_10_9_universal2.whl (2.9 MB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file samplerate-0.2.4.tar.gz.

File metadata

  • Download URL: samplerate-0.2.4.tar.gz
  • Upload date:
  • Size: 22.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for samplerate-0.2.4.tar.gz
Algorithm Hash digest
SHA256 c44dcb6fe680246f8f36588ba1f0fc7a0c5fbce710ad5e9b3812d88e8c39ac7d
MD5 b489e162aa74793db458131a6cb3b1c2
BLAKE2b-256 cfc9d73630d0c4b85d19d4d1e936a5a87a727567a54a445119c6f46563df5627

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: samplerate-0.2.4-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for samplerate-0.2.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 f8093c12d698ae821501efeb0796f189cb354d48ea8f6299ad9d79468df22eec
MD5 bb34ae15417e7819b4f5f48c30e49d11
BLAKE2b-256 20c6b358ba51344985295bcd95226efa5344b2b1267b27e7a2205a8cb36c46ac

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 98f13c280f9e220eeb7512896eedeab45bf8fcb7914a9507f79b3f88add72bef
MD5 d23982879ff6d25e6940b850e556c07b
BLAKE2b-256 d94348dd9cd11206613b1d00afa8f384f37d649912def16f13103c517350aca1

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ad01c5f49181dd50ac2e36e7590619e743985a1a783540c7f4eb138482091da0
MD5 ce592a268e27d6ab934fcdeea84de49e
BLAKE2b-256 a9031d314ef23ecc771157de27c20bc3363009dc1edb2be7e7142f16b44e9ffc

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 4555da77c9b85c94688a31cde24a974ca467d45896f4b31dd16c185545d49198
MD5 54b411306d8a6efdbc0c5e66c3f2c96a
BLAKE2b-256 5956646992579c7226daa8649a553545bf70d8ddd48130678b586990771d24c2

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: samplerate-0.2.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for samplerate-0.2.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 be2159e7119647214f93da735d3f09753dd9f7969ff8be061c23f8eb218b1a2a
MD5 598620473fb79829f1146451b2ebd0b4
BLAKE2b-256 98b1f30b80822196ab4f4607863a5ed8803e113e0a256dea668848a7c49c5082

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4a6b9fc423687dd84323cea7a2629bf18b9b102f2df430b5654631f134fe8fcf
MD5 6a12c1fe7dd58fa1ab32a7a75afa2681
BLAKE2b-256 24087eb005757e9cfa9a6a0670bcc55c7f948cfe85a0f6400d1493339062e852

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 610a33a2d7e2a68b94dffc5918cb8354de1b2f2ab1f03394190b58aa8a5da320
MD5 b32109bf907e828fb61395656dba1086
BLAKE2b-256 3b2273cd4fd91482345426edcbe13ac17285a2a354621ae0199dbae49f3a3d26

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 c5db609a3e54484882a18536ef7e7d6216f3f29944bdda440771c066607e1beb
MD5 411e98b6ea138afcec7bec41430e27fd
BLAKE2b-256 2630cd92169274384aec71d7e12584a43a89b301af63eb2fd1ac7aca005b337b

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: samplerate-0.2.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for samplerate-0.2.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2625a21eeffb81c896887659d6dffc01eedfdd60caaf653126a42871eee77aa6
MD5 254dac4a74a8ca8538a277bc5d6010ef
BLAKE2b-256 8917b287f445d475d4c560fea1a7c0c8674f5431c407209109133446d2d09a92

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 089a19db605be2385558294480169afdcb1e89dcf1fdb72bd5a2e0849dd783b5
MD5 8649e0e4137da78c73a1ca0e3234b5d8
BLAKE2b-256 868864a67d74737080cc3aeedd98bdc4999d22156fa70dba806badfdcd1504d9

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ae92e3bcea4f74b2a66dc68b2cccef939250fca749982a45a614d10fe9f71440
MD5 4dfa3728bf5601b5a01f5f1b0887939e
BLAKE2b-256 fdf4ef9cd26ebee43755182b6c2f0c60e6e5c524bc283383e07c5b7082f028c0

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 b6a2c5cda090f3d5007a443c0f22635efe87b2fc0d2ea18dbdbd933cc2e560d2
MD5 b0412424d930bb2b615f50775799b2db
BLAKE2b-256 bad517218978d0a87510dc70270a2ed00a4e3df30404a41001e803b9e349b330

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: samplerate-0.2.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for samplerate-0.2.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d10c3088f63a55923cfda33dfc55498df0f92bf2afeeeca4a90751589e3b6af0
MD5 1ee5e7962341950fe6899b8ed104b29a
BLAKE2b-256 ab93d6ccdeb89a07df6129106b545b100aee31ca3c6c68e48c24c71c0d8122fe

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3a0bbbf088894208386b0dc30ebacd51bab7406931cd9c6c31c1cf99baf026ee
MD5 434f1bc4fdb53d36a9f0477f7e15100a
BLAKE2b-256 b7e1d1a3ed051730a0f18301db6c182b9458a12c95cd899b16c08c1d4226ca53

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 af5ec978ed22567042ad188db622409d3c059245fe32a19202b9281b1352b962
MD5 221129b6686e64eabe9f5f0135762d17
BLAKE2b-256 446a947b84aa0eeb846fc53f8f17d6f92342c482969ccfe817df1a547e3908c7

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e692d453ae6952a9fe7c66b451027370333553d31ca4690375f34f725ba6a6cd
MD5 4ea6af122bdbe4ce2332162072e52070
BLAKE2b-256 a52e6cc13a051e98348464ef6e3771ad6b457a303d77ed7823a86ec3f8e41310

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: samplerate-0.2.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for samplerate-0.2.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 26cea1b3ba494a9632ec46a43c31bcca2e24b341f41ea42f333a1183f25773a5
MD5 75c61190638acade7010c3587a8ccbcc
BLAKE2b-256 c74c00dfc125b9ef29baa136f4b619ae7fc5c012b26f5cf0a01b0e60b3aadb30

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5a4c2bd7f4fa3a1d638857adf8fb6f364383b18c5f5d877dc1b9eb1b6e45405d
MD5 9c2ea071e8ef3ea000c0b376713f420b
BLAKE2b-256 3f9b6834935e989ad4796a16d601892131ead71062431538716f50f6b8e7be3a

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 558ad3b4416559a9b3a0e30a5315fd750d8d814162415531e961098a37976ddc
MD5 5f34bb74fbec39ca32d32cb51ff6f846
BLAKE2b-256 ce2914fa4ee7184227de773c7d409d3314a7ab62fb8da735ddf867be12d0a9b5

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: samplerate-0.2.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for samplerate-0.2.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 68316335e3710de4991d31a715268c6c7bdc95a931858b8e4dc6e721859a2473
MD5 4b5fa275dd893a4d2987b0efe966b680
BLAKE2b-256 711152ef12ddc13d05fd173a5e22553efd4c0069744dc2e02eadc1ea1f72b585

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 41249f544776a4b133443e811df3e1e364d3f66706fc6b45ea9a450ea2d6259f
MD5 a572489cdea6ea57943bc75429171ab1
BLAKE2b-256 f26b18196edff415f03be3e98b8286057d1884b96a93136b43c9ed67da736206

See more details on using hashes here.

File details

Details for the file samplerate-0.2.4-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for samplerate-0.2.4-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 316736283db9c24a7058caaa56d9782d8446361ceb343930a0be5eebbd8d09fd
MD5 f853c2cc46fef10d27ed371a2e9ea8cc
BLAKE2b-256 5cc40aca4e0ae15d4d30aef6a09f495846e0aa1673e0a1999e92282a32bff523

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page