Python bindings for blip25-mbe — P25 MBE/IMBE/AMBE+2 vocoder family
Project description
blip25-mbe (Python)
Python bindings for blip25-mbe,
a research-grade Rust implementation of the MBE / IMBE / AMBE+2 vocoder
family for P25 Phase 1 and Phase 2 pipelines.
Patents. AMBE+2 is covered by US 8,359,197 until 2028-05-20. See
PATENT_NOTICE.md.
Install
pip install blip25-mbe
Wheels are published for Linux (manylinux 2_28), macOS (x86_64 + arm64), and Windows for Python 3.9+.
Quick start
import numpy as np
import blip25_mbe
# One-shot frame round-trip
vc = blip25_mbe.Vocoder(blip25_mbe.Rate.IMBE_7200X4400)
pcm_in = np.zeros(vc.frame_samples, dtype=np.int16) # 160 samples = 20 ms
bits = vc.encode_pcm(pcm_in) # 18-byte FEC frame
pcm_out = vc.decode_bits(bits) # back to np.int16
# Streaming over arbitrary-sized chunks
enc = blip25_mbe.LiveEncoder(blip25_mbe.Rate.AMBEPLUS2_3600X2450)
for chunk in pcm_chunks: # any size, any rate
for frame in enc.push(chunk):
socket.send(frame) # 9 bytes each
# Wire-format bridge (Phase 1 IMBE ⇄ Phase 2 AMBE+2)
tc = blip25_mbe.Transcoder(
blip25_mbe.Rate.IMBE_7200X4400,
blip25_mbe.Rate.AMBEPLUS2_3600X2450,
)
out_bits = tc.transcode(in_bits)
encode_pcm accepts any np.int16 array; decode_bits returns a fresh
np.int16 array. Length must match vc.frame_samples / vc.fec_frame_bytes.
Rates
| Python | Codec | Wire size | Bitrate |
|---|---|---|---|
Rate.IMBE_7200X4400 |
IMBE | 18 bytes | 7 200 bps |
Rate.IMBE_4400X4400 |
IMBE no-FEC | 11 bytes | 4 400 bps |
Rate.AMBEPLUS2_3600X2450 |
AMBE+2 | 9 bytes | 3 600 bps |
Rate.AMBEPLUS2_2450X2450 |
AMBE+2 no-FEC | 7 bytes | 2 450 bps |
Building from source
pip install maturin
maturin develop --release # editable install into current venv
pytest # smoke tests
Sibling packages
blip25-mbe is the vocoder wrapper. Future blip25 components (decoder /
SDR layer) will ship as separate PyPI packages with their own
blip25_* import names — they don't share a namespace with this one.
License
MIT — see 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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file blip25_mbe-0.1.0.tar.gz.
File metadata
- Download URL: blip25_mbe-0.1.0.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f4dc7df55652d7a90095d0bd93e8b0efed5b7560347117cab6c501d0543b321
|
|
| MD5 |
e023cec348a22abe38c08eeb65ce861b
|
|
| BLAKE2b-256 |
340ee797bc0eaae9afb74edbba4b7fa8a9d4c39df1e81cc49ae082a1b68aa6b4
|
Provenance
The following attestation bundles were made for blip25_mbe-0.1.0.tar.gz:
Publisher:
wheels.yml on OpenBLIP25/blip25-mbe-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
blip25_mbe-0.1.0.tar.gz -
Subject digest:
7f4dc7df55652d7a90095d0bd93e8b0efed5b7560347117cab6c501d0543b321 - Sigstore transparency entry: 1562608144
- Sigstore integration time:
-
Permalink:
OpenBLIP25/blip25-mbe-py@7d6dd14b3ca5662e7184b957bc66f320676cd96a -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/OpenBLIP25
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@7d6dd14b3ca5662e7184b957bc66f320676cd96a -
Trigger Event:
push
-
Statement type:
File details
Details for the file blip25_mbe-0.1.0-cp39-abi3-win_amd64.whl.
File metadata
- Download URL: blip25_mbe-0.1.0-cp39-abi3-win_amd64.whl
- Upload date:
- Size: 614.3 kB
- Tags: CPython 3.9+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c79f3e26ddc1d8e362fbe2d2c821620c319166b97f8a2c560f25d270f9ef4c3a
|
|
| MD5 |
7a895155f1a7388d582db1cabbb7f395
|
|
| BLAKE2b-256 |
fc1036fa4a56b684bd14807335defd1fb18895420694a15b642a31643f9faabc
|
Provenance
The following attestation bundles were made for blip25_mbe-0.1.0-cp39-abi3-win_amd64.whl:
Publisher:
wheels.yml on OpenBLIP25/blip25-mbe-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
blip25_mbe-0.1.0-cp39-abi3-win_amd64.whl -
Subject digest:
c79f3e26ddc1d8e362fbe2d2c821620c319166b97f8a2c560f25d270f9ef4c3a - Sigstore transparency entry: 1562608314
- Sigstore integration time:
-
Permalink:
OpenBLIP25/blip25-mbe-py@7d6dd14b3ca5662e7184b957bc66f320676cd96a -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/OpenBLIP25
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@7d6dd14b3ca5662e7184b957bc66f320676cd96a -
Trigger Event:
push
-
Statement type:
File details
Details for the file blip25_mbe-0.1.0-cp39-abi3-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: blip25_mbe-0.1.0-cp39-abi3-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 759.9 kB
- Tags: CPython 3.9+, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd26385b1a4cd93ed3528cc27eb89637fc1dbaa4c0ae62c728ba4de0fe394a3c
|
|
| MD5 |
f3284d1fff2d5b0df8c21c62d2b27d2a
|
|
| BLAKE2b-256 |
195867a816b2bccd66e1ec5b60faf17a46348d4ddc18beb8f08d3fed019acd78
|
Provenance
The following attestation bundles were made for blip25_mbe-0.1.0-cp39-abi3-manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on OpenBLIP25/blip25-mbe-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
blip25_mbe-0.1.0-cp39-abi3-manylinux_2_28_x86_64.whl -
Subject digest:
fd26385b1a4cd93ed3528cc27eb89637fc1dbaa4c0ae62c728ba4de0fe394a3c - Sigstore transparency entry: 1562608257
- Sigstore integration time:
-
Permalink:
OpenBLIP25/blip25-mbe-py@7d6dd14b3ca5662e7184b957bc66f320676cd96a -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/OpenBLIP25
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@7d6dd14b3ca5662e7184b957bc66f320676cd96a -
Trigger Event:
push
-
Statement type:
File details
Details for the file blip25_mbe-0.1.0-cp39-abi3-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: blip25_mbe-0.1.0-cp39-abi3-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 616.5 kB
- Tags: CPython 3.9+, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95736bebe4b6dcb361d49fbcf7193f1c2f305b9c3a59de9b5ce759e5a8b5a560
|
|
| MD5 |
7fe45299eaabec1fc6220ccbac21d43c
|
|
| BLAKE2b-256 |
e035e0dee15188b62398522758c385672281ee6a82b64013e8620d736d9ecde6
|
Provenance
The following attestation bundles were made for blip25_mbe-0.1.0-cp39-abi3-manylinux_2_28_aarch64.whl:
Publisher:
wheels.yml on OpenBLIP25/blip25-mbe-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
blip25_mbe-0.1.0-cp39-abi3-manylinux_2_28_aarch64.whl -
Subject digest:
95736bebe4b6dcb361d49fbcf7193f1c2f305b9c3a59de9b5ce759e5a8b5a560 - Sigstore transparency entry: 1562608196
- Sigstore integration time:
-
Permalink:
OpenBLIP25/blip25-mbe-py@7d6dd14b3ca5662e7184b957bc66f320676cd96a -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/OpenBLIP25
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@7d6dd14b3ca5662e7184b957bc66f320676cd96a -
Trigger Event:
push
-
Statement type:
File details
Details for the file blip25_mbe-0.1.0-cp39-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: blip25_mbe-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 572.3 kB
- Tags: CPython 3.9+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1947efdf805eb5088535072c93394adc049981340d9b4ad28235786a2a1ab423
|
|
| MD5 |
b12c7a24a2e5e98b612706a5e975b69f
|
|
| BLAKE2b-256 |
c2faa03568b20297eb4516e8e85bb3c8f5db30be5d4ccfb305b91d813a0ceddb
|
Provenance
The following attestation bundles were made for blip25_mbe-0.1.0-cp39-abi3-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on OpenBLIP25/blip25-mbe-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
blip25_mbe-0.1.0-cp39-abi3-macosx_11_0_arm64.whl -
Subject digest:
1947efdf805eb5088535072c93394adc049981340d9b4ad28235786a2a1ab423 - Sigstore transparency entry: 1562608406
- Sigstore integration time:
-
Permalink:
OpenBLIP25/blip25-mbe-py@7d6dd14b3ca5662e7184b957bc66f320676cd96a -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/OpenBLIP25
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@7d6dd14b3ca5662e7184b957bc66f320676cd96a -
Trigger Event:
push
-
Statement type:
File details
Details for the file blip25_mbe-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: blip25_mbe-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 682.2 kB
- Tags: CPython 3.9+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45837f04cade272c6c46ff62791c4f61d7bf9ff261471e2e0e0d81825f051e6f
|
|
| MD5 |
507b3d85cd92a34921809dac77cd79c6
|
|
| BLAKE2b-256 |
77478509e6a7e31cdca72a6facc0010f24537d39f518f564a5a452b7dd810b68
|
Provenance
The following attestation bundles were made for blip25_mbe-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl:
Publisher:
wheels.yml on OpenBLIP25/blip25-mbe-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
blip25_mbe-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl -
Subject digest:
45837f04cade272c6c46ff62791c4f61d7bf9ff261471e2e0e0d81825f051e6f - Sigstore transparency entry: 1562608372
- Sigstore integration time:
-
Permalink:
OpenBLIP25/blip25-mbe-py@7d6dd14b3ca5662e7184b957bc66f320676cd96a -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/OpenBLIP25
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@7d6dd14b3ca5662e7184b957bc66f320676cd96a -
Trigger Event:
push
-
Statement type: