Skip to main content

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

Download files

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

Source Distribution

wave-chunk-parser-1.0.3.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

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

wave_chunk_parser-1.0.3-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

Details for the file wave-chunk-parser-1.0.3.tar.gz.

File metadata

  • Download URL: wave-chunk-parser-1.0.3.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for wave-chunk-parser-1.0.3.tar.gz
Algorithm Hash digest
SHA256 664c1c87241bc4a16b7f7c50dbb47acb7baf259a3012382eab333e8201e8f6ea
MD5 d47f7c32be99363e2e14f440caa46cbb
BLAKE2b-256 0bf535900760b6faaff41e3f44d95024add4a587b66ea7c0ddba3dfed3485065

See more details on using hashes here.

File details

Details for the file wave_chunk_parser-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: wave_chunk_parser-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 22.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for wave_chunk_parser-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ad1fcdb8d8ea6ec46b4da010ebb4b06cfc89218b0314521c56bc394aaecba58c
MD5 15b712d49462c113c6fe19d8debadf72
BLAKE2b-256 5428a4231f39388c9e0ac6f2dcaa69b0d1b3b9c0b4d16534647894bcd1774f5a

See more details on using hashes here.

Release history Release notifications | RSS feed

1.5.0

1 file

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.0

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.1

2 files

1.1.0

2 files

1.0.4

2 files

This release

1.0.3 This release

2 files

1.0.2

2 files

1.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page