mirror of
https://github.com/iluvcapra/wavinfo.git
synced 2025-12-31 08:50:41 +00:00
80 lines
3.5 KiB
Markdown
80 lines
3.5 KiB
Markdown
 [](https://pypi.org/project/wavinfo/) 
|
|
 [](https://wavinfo.readthedocs.io/en/latest/?badge=latest) 
|
|
|
|
[](https://github.com/iluvcapra/wavinfo/actions/workflows/python-package.yml)
|
|
[](https://github.com/iluvcapra/wavinfo/actions/workflows/python-flake8.yml)
|
|
[](https://codecov.io/gh/iluvcapra/wavinfo)
|
|
|
|
# wavinfo
|
|
|
|
The `wavinfo` package allows you to probe WAVE and [RF64/WAVE files][eburf64]
|
|
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][bext] fields, including embedded program
|
|
loudness, coding history and [SMPTE UMID][smpte_330m2011].
|
|
* [iXML][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][info-tags] metadata fields.
|
|
* [Audio Definition Model (ADM)][adm] track metadata and schema, including
|
|
channel, pack formats,
|
|
object, content and programme, including [Dolby Digital Plus][ebu3285s6]
|
|
and Dolby Atmos `dbmd` metadata for re-renders and mixdowns.
|
|
* Wave embedded [cue markers][cues], cue marker labels, notes and timed ranges as used
|
|
by Zoom, iZotope RX, etc.
|
|
* The [wav format][format] is also parsed, so you can access the basic sample rate
|
|
and channel count information.
|
|
|
|
|
|
[format]:https://wavinfo.readthedocs.io/en/latest/classes.html#wavinfo.wave_reader.WavAudioFormat
|
|
[cues]:https://wavinfo.readthedocs.io/en/latest/scopes/cue.html
|
|
[bext]:https://wavinfo.readthedocs.io/en/latest/scopes/bext.html
|
|
[smpte_330m2011]:https://wavinfo.readthedocs.io/en/latest/scopes/bext.html#wavinfo.wave_bext_reader.WavBextReader.umid
|
|
[adm]:https://wavinfo.readthedocs.io/en/latest/scopes/adm.html
|
|
[ebu3285s6]:https://wavinfo.readthedocs.io/en/latest/scopes/dolby.html
|
|
[ixml]:https://wavinfo.readthedocs.io/en/latest/scopes/ixml.html
|
|
[info-tags]:https://wavinfo.readthedocs.io/en/latest/scopes/info.html
|
|
[eburf64]:https://tech.ebu.ch/docs/tech/tech3306v1_1.pdf
|
|
|
|
|
|
## How To Use
|
|
|
|
The entry point for wavinfo is the WavInfoReader class.
|
|
|
|
```python
|
|
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:
|
|
|
|
```sh
|
|
$ 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
|
|
|
|
* For other file formats and ID3 decoding,
|
|
look at [audio-metadata](https://github.com/thebigmunch/audio-metadata).
|