Skip to main content

Python bindings for the RubberBand library

Project description

pylibrb

tests PyPI version

pylibrb (py-lib-rubberband) is a simple Python extension exposing Rubber Band Library using nanobind bindings.

Since this is not a wrapper around a command-line tool (like pyrubberband), both offline and real-time modes are available.

Currently this extenstion exposes only a single class: RubberBandStretcher, which implements all the functionalities of the underlying C++ class. The interface is nearly identical to the original library, with a few changes to make it a bit more Pythonic by:

  • using snake_case for functions, variables and properties, and SNAKE_CASE for constants
  • not using (magic) numbers to represent the state
    • use is_done() to see if all the data has been processed and returned from the stretcher, instead of available() == -1
    • use stretcher.formant_scale = pylibrb.AUTO_FORMANT_SCALE instead of stretcher.formant_scale = 0

Throughout the library, audio is accepted and returned in the form of NumPy ndarrays.

Example

from pylibrb import RubberBandStretcher, Option, create_audio_array

# create a stretcher
stretcher = RubberBandStretcher(sample_rate=16000,
                                channels=1,
                                options=Option.PROCESS_REALTIME | Option.ENGINE_FINER,
                                initial_time_ratio=0.5)
stretcher.set_max_process_size(1024)

# provide the audio to the stretcher, until some output is available
audio_in = create_audio_array(channels_num=1, samples_num=1024)
while not stretcher.available():
  audio_in[:] = 0  # get the next batch of samples, here we just use silence
  stretcher.process(audio_in)

# retrieve the available samples
audio_out = stretcher.retrieve_available()

For more instructions, read the docstings of the RubberBandStretcher class and the Option enum, or see the documentation of Rubber Band Library.

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

pylibrb-0.1.2.tar.gz (33.3 kB view details)

Uploaded Source

Built Distributions

pylibrb-0.1.2-cp312-abi3-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.12+ Windows x86-64

pylibrb-0.1.2-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12+ manylinux: glibc 2.17+ x86-64

pylibrb-0.1.2-cp312-abi3-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.12+ macOS 11.0+ ARM64

pylibrb-0.1.2-cp312-abi3-macosx_10_14_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12+ macOS 10.14+ x86-64

pylibrb-0.1.2-cp311-cp311-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.11 Windows x86-64

pylibrb-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pylibrb-0.1.2-cp311-cp311-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pylibrb-0.1.2-cp311-cp311-macosx_10_14_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11 macOS 10.14+ x86-64

pylibrb-0.1.2-cp310-cp310-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.10 Windows x86-64

pylibrb-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pylibrb-0.1.2-cp310-cp310-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

pylibrb-0.1.2-cp310-cp310-macosx_10_14_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10 macOS 10.14+ x86-64

pylibrb-0.1.2-cp39-cp39-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

pylibrb-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pylibrb-0.1.2-cp39-cp39-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pylibrb-0.1.2-cp39-cp39-macosx_10_14_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9 macOS 10.14+ x86-64

pylibrb-0.1.2-cp38-cp38-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.8 Windows x86-64

pylibrb-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pylibrb-0.1.2-cp38-cp38-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

pylibrb-0.1.2-cp38-cp38-macosx_10_14_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

File details

Details for the file pylibrb-0.1.2.tar.gz.

File metadata

  • Download URL: pylibrb-0.1.2.tar.gz
  • Upload date:
  • Size: 33.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for pylibrb-0.1.2.tar.gz
Algorithm Hash digest
SHA256 206b5857dd4d073d7bc87a4aeb22d7d235e671b8256c999c41ffbe098228a3ba
MD5 779b325fbbf2139e2d8ac3b6a913f643
BLAKE2b-256 c9964ed0cedacc7763c11b44a238240ae037f2290120fd619039aadff466a02d

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp312-abi3-win_amd64.whl.

File metadata

  • Download URL: pylibrb-0.1.2-cp312-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.12+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for pylibrb-0.1.2-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8ab810bd58581da194b4c4bfb8883033dc122a63842ba8d27e2faad084761fe6
MD5 47bd189d9434fea8f93733ae5120fed5
BLAKE2b-256 f8e05cbac14c76f8e3cf151c2b6444fe340eeaf9f3097016a5ad205bbc4e753f

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pylibrb-0.1.2-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7088cb716fe07540f28bd26bf11315eec73fe6578a7d1d7d55d07019190098df
MD5 2c139a9e5c3ba45e41429bf10def70a0
BLAKE2b-256 fcdc6611dd8376ffcb388d53cc9f3c05417091e74e828b2b3e04ec08cfaa2445

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pylibrb-0.1.2-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 60380fd59fb286700d3f950e9db6388cee1b27a1ab27a1c6ee8e509fd9cd68cf
MD5 97c73652938f1f44864449381b9fcf7a
BLAKE2b-256 f64409da209c85c1a669d0947dca139d116c78fe452b9bcbc3c64bc3972f729a

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp312-abi3-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pylibrb-0.1.2-cp312-abi3-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 24bd04333ca0e8a08f6763de16c3932adb1d45ff8b07103c388322b8e3a4bc98
MD5 5982c65710cae2c57786e51b185519d5
BLAKE2b-256 ec321afbc08d701bce9b36f50825f3cb9028b0cee1f0caacd0342cbcf4bb3b13

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pylibrb-0.1.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for pylibrb-0.1.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0815af8a5e8ad2c10f85f70fa5906943ac8f70b823f4e40c9e80d70c292399f9
MD5 8ca020c6983aa4bb7d33a0e7050d258d
BLAKE2b-256 035f5a2858df85e4dc9095c38dd4d97b76f1706e10334c7e57c967c2baf74325

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pylibrb-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9be5d357b1801eac7676e18a04b02e4d979c75f0b453dfbb14b95e69154d0844
MD5 0992974735e2950349a27875873fe712
BLAKE2b-256 9e012d7c14f25fd5dd2af3319fdf09a8370eaae1acd700d2695a55bf9b3d2a2c

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pylibrb-0.1.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6c93ac459d219348ec8ea41fcb0e8a37a2dd8dde23e7ec60af7a2555702623a3
MD5 fe75ec1c3caae376b51fb6f504a2ff08
BLAKE2b-256 b84b912369be7e3bc667117c5fe645b1022a7d970733a6ee1123d2f305ee133e

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pylibrb-0.1.2-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 f671a61761dd065a6114fd91b474a1b4304de717372f88a7c02795787485706b
MD5 9281d0602e83d30bc0a2d86014210f9b
BLAKE2b-256 7c0bafe352dcf350cce146e1cb1dc798b4eb31a4be77b47db679ae81799b9771

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pylibrb-0.1.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for pylibrb-0.1.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f8d9402dca1ac98c4333f23f38b9550a498435e8bd2ead2f4b28522158a2e18e
MD5 fcd77326289e079c8bd10045f53f7675
BLAKE2b-256 8a5524042dca9444b34122d47d0132f611e5b8110e461184633fde608241e630

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pylibrb-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a292e4842a1cbfae8650133d8d1db44aaff148581018eac854fa7d3ac668b6bd
MD5 c5a2e3597745cb6453594a3ff68d454b
BLAKE2b-256 d1265ccc3cc522f7731f5fcee92f7986f775fe7b1f9e2825704de2045582070e

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pylibrb-0.1.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8015b78f422d187df9cba307e2aaa56264863f71206b95e934dbf2878b41c674
MD5 032dceef8f501c7624c7db311c95e0d8
BLAKE2b-256 85b73f0f8333607509afc98ae44c96ee53fa5e32b67f1bd2198bfaae12229fea

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pylibrb-0.1.2-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 edff91ad53f9a250f2443e269c3962cab0d204fba2660cb51860b28c31f85d46
MD5 d26f1b3801569d8e23adfb7dd4af1992
BLAKE2b-256 93c0734fab864cf61b0f16b619a7fe17335427ad100b997d270acd5336cb8ff3

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pylibrb-0.1.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for pylibrb-0.1.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 12de41a6e9840c3ec9cfbabe800bc3f1339a2cee98a09f2ba2aaded6f6e05b1d
MD5 956a1dfdd013afec9bc0909a137fa413
BLAKE2b-256 0b5d4ca9ed35b7759b54bb761f26fcc4857513f1ac8b020ce66b8b94b23a9ea0

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pylibrb-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a0d5703e6ad5a57293b0bd270dcad458d2660d28152aa93f745a98051a0e3864
MD5 6243add552f632c5303324fd7ee1bb13
BLAKE2b-256 bca67b85b9711517cfd9e94c24a191cf493fc3f8a217bde5d3e7f0038d5e6acd

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pylibrb-0.1.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 116e1a94ea849fd95e568c52559491fe10dd7b6b6214727a05ad0f935de8eb67
MD5 f280ca4ca9f8b37d1ccc2a00cbc4372c
BLAKE2b-256 959bbc908ba767108135885d551cd3bcf759bfa3d91a6f3a2b1554049e97d8ec

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pylibrb-0.1.2-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 6baa4673dc388f758ef989c503326dc7984b31ae868cd7bc88d42886563e8e8e
MD5 055ffac0111c906a95ef23428e7060c4
BLAKE2b-256 95541ffc264e02f32849ad01328b0a9143d590b1c5c1580edc8f0044e2cf652c

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pylibrb-0.1.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for pylibrb-0.1.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 bfa0e0c55acb6015fe8cfee384b972bc5ec2283c19e21bac7fc497e6f0bed545
MD5 7e485d02e0ea887e4c8a84908bc496be
BLAKE2b-256 3aab074e2e9d048dc55c5bf0114ad4be258eb93892cac67c7b97916af2fb5ee0

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pylibrb-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a66341f478c546129b96ac748cf4a83eb76c1a73ee494ee305e116252eb5e436
MD5 6d8a8a7e2fe8d70def9dcfbc11e03d19
BLAKE2b-256 1b20a512ea78b19d9b476b0892a1102cc4be3865c1d377de3b14626e293dbd10

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pylibrb-0.1.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 db9217d060f30b4a9089a95fcc367c68fbb234906fcd3c97065e42933a339c08
MD5 0462972ffadaa96d091c7fa41bbe44db
BLAKE2b-256 9f6acee6036ac753c073d3d0cede145e19587ffb005affcdf83b52752d9514f3

See more details on using hashes here.

File details

Details for the file pylibrb-0.1.2-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pylibrb-0.1.2-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 e5ebe0eb920ee26d9898789b2102f3798167c3bb22af98813f22cdfd85f44838
MD5 960e91d4b7cf728454e3294b9f676da8
BLAKE2b-256 5f2764e6250ea3f68abc924c3f2c963b40e64dcf77965cf1a2fc5544c120b72b

See more details on using hashes here.

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