/wavinfo

Probe WAVE Files for iXML, Broadcast-WAVE and other metadata

Primary LanguagePythonMIT LicenseMIT

Build Status codecov Documentation Status

wavinfo

The wavinfo package allows you to probe WAVE and RF64/WAVE files and extract extended metadata, with an emphasis on film, video and professional music production metadata.

wavinfo reads:

  • Broadcast-WAVE metadata1, including embedded program loudness and coding history, if extant. This also includes the SMPTE UMID2.
  • iXML production recorder metadata3, including project, scene, and take tags, recorder notes and file family information.
  • Most of the common RIFF INFO4 metadata fields.
  • The wav format is also parsed, so you can access the basic sample rate and channel count information.

In progress:

  • ADM metadata consilient with the output of the Dolby RMU, perhaps later fully complaint with ITU BS.2076-2.
  • iXML STEINBERG sound library attributes.
  • NetMix library attributes.
  • Pro Tools embedded regions.

Demonstration

The entry point for wavinfo is the WavInfoReader class.

from wavinfo import WavInfoReader

path = '../tests/test_files/A101_1.WAV'

info = WavInfoReader(path)

The package also installs a shell command:

$ wavinfo test_files/A101_1.WAV

Basic WAV Data

The length of the file in frames (interleaved samples) and bytes is available, as is the contents of the format chunk.

(info.data.frame_count, info.data.byte_count)
>>> (240239, 1441434)
(info.fmt.sample_rate, info.fmt.channel_count, info.fmt.block_align, info.fmt.bits_per_sample)
>>> (48000, 2, 6, 24)

Platform Lifecycle Stuff

Python 3.5 support is deprecated.

Other Resources