Skip to main content

wavtoolkit

wavtoolkit is a lightweight Python library for extracting and analyzing metadata from WAV files. Useful for inspecting audio files without diving into low-level byte handling. It uses wave_chunk_parser for parsing complex RIFF structures and pyloudnorm for loudness analysis.

Features

  • Extracts key metadata:

    • Title, artist, category (from INFO and cart chunks)
    • Audio format (sample rate, channels, bit depth)
    • File properties (size, creation time, modification time)
    • Loudness metrics (Integrated LUFS, Peak)
  • Lazy-loading design:

    • Metadata is parsed on-demand
    • Efficient and modular
  • Simple API, ready for scripting

Installation

pip install wavtoolkit

Usage

import os
from wavtoolkit import WavFile

wavs = [WavFile(f) for f in os.listdir() if f.endswith(".wav")]

for wav in wavs:
  # Filename
  print('\n', wav.filename)
  
  # Title and duration
  print(f"    {wav}")
  
  # Loudness metrics (LUFS, Peak)
  for k, v in wav.loudness.items():
    print(f"    {k}: {v.item()}")
  
  # Metadata from INFO chunks
  for k, v in wav.metadata_info.items():
    v = v.decode() if isinstance(v, bytes) else v
    print(f"    [{k}] {v}")
  
  # Metadata from CART chunks
  print(f"    {wav.cart_metadata or ''}\n")
  

Example output:

Chaos_a_la_Mode_RM_Mixdown_3.wav
  Chaos á la Mode (Re-Remastered) | 475.93s
  IntegratedLUFS: -14.537535931432476
  Peak: 0.8768768310546875
  [IPRD] Something Else
  [IART] DJ Stomp
  [ICRD] 2025
  [IGNR] Trap
  [INAM] Chaos á la Mode (Re-Remastered)

Why wavtoolkit?

  • Leverages existing libraries (wave_chunk_parser, pyloudnorm)
  • No low-level hacks — just clean, high-level metadata access
  • Modular design for integration into pipelines or tools

License

MIT

Credits

Coming Soon (?)

  • Cue point parsing
  • JSON metadata export

Metadata

Release files for wavtoolkit 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wavtoolkit 1.0.4
File Size Uploaded
wavtoolkit-1.0.4.tar.gz 3.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wavtoolkit 1.0.4
File Interpreter ABI Platform
wavtoolkit-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 6.6 kB

Release files / wavtoolkit-1.0.4.tar.gz

Download URL wavtoolkit-1.0.4.tar.gz
Size 3.0 kB
Tags Source
SHA-256 checksum
How to use checksums
35cec45c199f3684674e2c4815f35d1467d4184083c2a6e2aab03cabc618ff39
BLAKE2b-256 checksum
How to use checksums
29accb2e04340f0adf6da891102b990eec18b8a23995641d0899c82d7e5dbc69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.12.3 Linux/6.2.1-PRoot-Distro

Release files / wavtoolkit-1.0.4-py3-none-any.whl

Download URL wavtoolkit-1.0.4-py3-none-any.whl
Size 3.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
db8998ca4e9c9e9c3bf90c9c5bb35dc32735f47f1a62a838be9c7b20a39d9532
BLAKE2b-256 checksum
How to use checksums
bc2786d5986a0727b758252ed4f1695ab1fda23d5d0f1b4788544c3183cedf37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.12.3 Linux/6.2.1-PRoot-Distro

Release history Release notifications | RSS feed

This release

1.0.4 This release

2 release files

1.0.3

2 release 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