Wave Chunk Parser
Parses wave files chunks in order to extract metadata and audio. Also provides an option to write a bunch of given chunks back into a coherent file.
Installation
pip install wave-chunk-parser
Reading a file / IO stream
from wave_chunk_parser.chunks import RiffChunk
with open("file.wav", "rb") as file:
riff_chunk = RiffChunk.from_file(file)
From there you can access the sub chunks from riff_chunk.sub_chunks. The data chunk uses a numpy array to hold the vectors of audio samples.
Format (fmt) and data chunks are critical. Cart chunk is optional but provides those markers we need for handling broadcast audio.
Writing a file / IO stream
You will need to build the chunks individually and supply them in a list of:
chunks = [FormatChunk, DataChunk, CartChunk]
The format chunk must come before the data chunk (we need to know how to en/decode it). Cart chunk can appear anywhere in the list or even not exist at all.
To get a blob for writing to disk (or wherever), simply:
riff_chunk = RiffChunk(chunks)
blob = riff_chunk.to_bytes()
The to_bytes function exists on every chunk type. So, if you particularly desire, you can turn a standalone format chunk into a blob.
Numpy on macOS
We need openblas to make Numpy work on macOS:
pip uninstall numpy
brew install openblas
OPENBLAS="$(brew --prefix openblas)" pip install numpy --no-cache-dir
Building the package for deployment
To build the package for deployment:
poetry run python setup.py sdist bdist_wheel
poetry run twine upload --repository testpypi dist/*
Metadata
Release files for wave-chunk-parser 1.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wave_chunk_parser-1.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / wave_chunk_parser-1.5.0-py3-none-any.whl
| Download URL | wave_chunk_parser-1.5.0-py3-none-any.whl |
|---|---|
| Size | 35.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fb43995bdfa30c37d25078c65e525a903e362e9eecb0d73b6dcae24cdb92b35f
|
|
BLAKE2b-256 checksum How to use checksums |
1d8ca0eaec01556063eb83ba62f933da047a43595e3c73f741576e02556a9cf0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.2
|
Security for wave-chunk-parser 1.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.