1. wavinfo Quickstart

All metadata is read by an instance of WaveInfoReader. Each type of metadata, iXML, Broadcast-WAV etc. is accessible through scopes, properties on an instance of WaveInfoReader.

Using wavinfo
import wavinfo

path = 'path/to/your/wave/audio.wav'

info = wavinfo.WavInfoReader(path)

adm_metadata = info.adm
ixml_metadata = info.ixml

1.1. WavInfoReader Class Documentation

class wavinfo.wave_reader.WavInfoReader(path, info_encoding='latin_1', bext_encoding='ascii')

Parse a WAV audio file for metadata.

__init__(path, info_encoding='latin_1', bext_encoding='ascii')

Create a new reader object.

Parameters:
  • path – A pathlike object or IO to the wav file you wish to probe or a file handle to an open file.

  • info_encoding – The text encoding of the INFO, LABL and other RIFF-defined metadata fields.

  • bext_encoding – The text encoding to use when decoding the string fields of the Broadcast-WAV extension. Per EBU 3285 this is ASCII but this parameter is available to you if you encounter a weirdo.

adm: WavADMReader | None

ADM Audio Definiton Model metadata.

bext: WavBextReader | None

Broadcast-Wave metadata.

cues: WavCuesReader | None

RIFF cues markers, labels, and notes.

data: WavDataDescriptor | None

Statistics of the data section.

dolby: WavDolbyMetadataReader | None

Dolby bitstream metadata.

fmt: WavAudioFormat | None

Wave audio data format.

info: WavInfoChunkReader | None

RIFF INFO metadata.

ixml: WavIXMLFormat | None

iXML metadata.

url: str

file:// url for the file.

walk() Generator[str, str, Any]

Walk all of the available metadata fields.

Yields:

tuples of the scope, key, and value of each metadatum. The scope value will be one of “fmt”, “data”, “ixml”, “bext”, “info”, “dolby”, “cues” or “adm”.