Skip to content

iluvcapra/wavinfo

Repository files navigation

GitHub last commit Documentation Status

Tests Flake8 codecov

wavinfo

The wavinfo package allows you to probe WAVE and RF64/WAVE files and extract extended metadata. wavinfo has an emphasis on film, video and professional music production but can read many other kinds.

If you are trying to read a particular kind of metadata from a WAV file and it is not supported, please submit an issue!

Metadata Support

wavinfo reads:

  • All defined Broadcast-WAVE fields, including embedded program loudness, coding history and SMPTE UMID.
  • iXML production recorder metadata, including project, scene, and take tags, recorder notes and file family information.
    • iXML STEINBERG sound library attributes.
  • All known RIFF INFO metadata fields.
  • Audio Definition Model (ADM) track metadata and schema, including channel, pack formats, object, content and programme, including Dolby Digital Plus and Dolby Atmos dbmd metadata for re-renders and mixdowns.
  • Wave embedded cue markers, cue marker labels, notes and timed ranges as used by Zoom, iZotope RX, etc.
  • Wave embedded sampler and sample loop metadata.
  • The wav format is also parsed, so you can access the basic sample rate and channel count information.

How To Use

The entry point for wavinfo is the WavInfoReader class.

from wavinfo import WavInfoReader

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

info = WavInfoReader(path)

adm_metadata = info.adm
ixml_metadata = info.ixml

The package also installs a shell command:

$ wavinfo test_files/A101_1.WAV

Contributions!

Any new or different kind of metadata you find, or any new or different use of exising metadata you encounter, please submit an Issue or Pull Request!

Other Resources