Skip to main content

High quality, one-dimensional sample-rate conversion library

Project description

Python-SoXR

High quality, one-dimensional sample-rate conversion library for Python

Installation

pip install soxr

If installation fails, upgrade pip with python -m pip install --upgrade pip and try again.

Basic usage

import soxr

y = soxr.resample(
    x,          # 1D(mono) or 2D(frames, channels) array input
    48000,      # input samplerate
    16000       # target samplerate
)

If input is 1D array, output is 1D numpy.ndarray with shape (frames).

If input is 2D array, output is 2D numpy.ndarray with shape (frames, channels).

Streaming usage

Use ResampleStream for real-time processing or very long signal.

import soxr

rs = soxr.ResampleStream(
    44100,              # input samplerate
    16000,              # target samplerate
    1,                  # channel(s)
    dtype='float32'     # optional data type (default = np.float32)
)

eof = False
while not eof:
    # Get chunk
    ...

    y_chunk = rs.resample_chunk(
        x,              # 1D(mono) or 2D(frames, channels) array input
        last=eof        # Set True at end of input
    )

Output frame count may not be consistent. This is normal operation.
(ex. [0, 0, 0, 186, 186, 166, 186, 186, 168, ...])

OSS libraries used

libsoxr (LGPLv2.1+)

The SoX Resampler library
https://sourceforge.net/projects/soxr/

Python-SoXR is a Python wrapper of libsoxr.

PFFFT (BSD-like)

PFFFT: a pretty fast FFT.
https://bitbucket.org/jpommier/pffft/

libsoxr dependency.

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

soxr-0.2.1.tar.gz (258.9 kB view hashes)

Uploaded Source

Built Distributions

soxr-0.2.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl (188.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

soxr-0.2.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl (188.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

soxr-0.2.1-cp39-cp39-win_amd64.whl (175.1 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

soxr-0.2.1-cp39-cp39-win32.whl (142.9 kB view hashes)

Uploaded CPython 3.9 Windows x86

soxr-0.2.1-cp39-cp39-manylinux2010_x86_64.whl (927.2 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

soxr-0.2.1-cp39-cp39-manylinux1_x86_64.whl (927.2 kB view hashes)

Uploaded CPython 3.9

soxr-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl (202.3 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

soxr-0.2.1-cp38-cp38-win_amd64.whl (175.7 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

soxr-0.2.1-cp38-cp38-win32.whl (143.5 kB view hashes)

Uploaded CPython 3.8 Windows x86

soxr-0.2.1-cp38-cp38-manylinux2010_x86_64.whl (962.6 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

soxr-0.2.1-cp38-cp38-manylinux1_x86_64.whl (962.6 kB view hashes)

Uploaded CPython 3.8

soxr-0.2.1-cp38-cp38-macosx_10_9_x86_64.whl (201.7 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

soxr-0.2.1-cp37-cp37m-win_amd64.whl (172.8 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

soxr-0.2.1-cp37-cp37m-win32.whl (141.5 kB view hashes)

Uploaded CPython 3.7m Windows x86

soxr-0.2.1-cp37-cp37m-manylinux2010_x86_64.whl (873.2 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

soxr-0.2.1-cp37-cp37m-manylinux1_x86_64.whl (873.2 kB view hashes)

Uploaded CPython 3.7m

soxr-0.2.1-cp37-cp37m-macosx_10_9_x86_64.whl (200.0 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

soxr-0.2.1-cp36-cp36m-win_amd64.whl (172.7 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

soxr-0.2.1-cp36-cp36m-win32.whl (141.5 kB view hashes)

Uploaded CPython 3.6m Windows x86

soxr-0.2.1-cp36-cp36m-manylinux2010_x86_64.whl (873.5 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

soxr-0.2.1-cp36-cp36m-manylinux1_x86_64.whl (873.5 kB view hashes)

Uploaded CPython 3.6m

soxr-0.2.1-cp36-cp36m-macosx_10_9_x86_64.whl (199.9 kB view hashes)

Uploaded CPython 3.6m macOS 10.9+ x86-64

Supported by

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