![](https://img.shields.io/pypi/pyversions/wavinfo.svg) [![](https://img.shields.io/pypi/v/wavinfo.svg)](https://pypi.org/project/wavinfo/) ![](https://img.shields.io/pypi/wheel/wavinfo.svg)
![GitHub last commit](https://img.shields.io/github/last-commit/iluvcapra/wavinfo) [![Documentation Status](https://readthedocs.org/projects/wavinfo/badge/?version=latest)](https://wavinfo.readthedocs.io/en/latest/?badge=latest) ![](https://img.shields.io/github/license/iluvcapra/wavinfo.svg)
[![Tests](https://github.com/iluvcapra/wavinfo/actions/workflows/python-package.yml/badge.svg)](https://github.com/iluvcapra/wavinfo/actions/workflows/python-package.yml)
[![Flake8](https://github.com/iluvcapra/wavinfo/actions/workflows/python-flake8.yml/badge.svg)](https://github.com/iluvcapra/wavinfo/actions/workflows/python-flake8.yml)
[![codecov](https://codecov.io/gh/iluvcapra/wavinfo/branch/master/graph/badge.svg?token=9DZQfZENYv)](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.
* Wave embedded [sampler][smpl] and sample loop metadata.
* 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
[smpl]:https://wavinfo.readthedocs.io/en/latest/scopes/smpl.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).
Raw data
{
"_id": null,
"home_page": "https://github.com/iluvcapra/wavinfo",
"name": "wavinfo",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "waveform, metadata, audio, ebu, smpte, avi, library, film, broadcast",
"author": "Jamie Hardt",
"author_email": "jamiehardt@me.com",
"download_url": "https://files.pythonhosted.org/packages/33/00/cc8def4fd837e80893f96a00079cc01415a1747d68b434722528c054f714/wavinfo-3.1.0.tar.gz",
"platform": null,
"description": "![](https://img.shields.io/pypi/pyversions/wavinfo.svg) [![](https://img.shields.io/pypi/v/wavinfo.svg)](https://pypi.org/project/wavinfo/) ![](https://img.shields.io/pypi/wheel/wavinfo.svg)\n![GitHub last commit](https://img.shields.io/github/last-commit/iluvcapra/wavinfo) [![Documentation Status](https://readthedocs.org/projects/wavinfo/badge/?version=latest)](https://wavinfo.readthedocs.io/en/latest/?badge=latest) ![](https://img.shields.io/github/license/iluvcapra/wavinfo.svg)\n\n[![Tests](https://github.com/iluvcapra/wavinfo/actions/workflows/python-package.yml/badge.svg)](https://github.com/iluvcapra/wavinfo/actions/workflows/python-package.yml)\n[![Flake8](https://github.com/iluvcapra/wavinfo/actions/workflows/python-flake8.yml/badge.svg)](https://github.com/iluvcapra/wavinfo/actions/workflows/python-flake8.yml)\n[![codecov](https://codecov.io/gh/iluvcapra/wavinfo/branch/master/graph/badge.svg?token=9DZQfZENYv)](https://codecov.io/gh/iluvcapra/wavinfo)\n\n# wavinfo\n\nThe `wavinfo` package allows you to probe WAVE and [RF64/WAVE files][eburf64] \nand extract extended metadata. `wavinfo` has an emphasis on film, video and \nprofessional music production but can read many other kinds.\n\nIf you are trying to read a particular kind of metadata from a WAV file and\nit is not supported, please submit an issue!\n\n\n## Metadata Support\n\n`wavinfo` reads:\n\n* All defined [Broadcast-WAVE][bext] fields, including embedded program\n loudness, coding history and [SMPTE UMID][smpte_330m2011].\n* [iXML][ixml] production recorder metadata, including project, scene, and \n take tags, recorder notes and file family information.\n * iXML `STEINBERG` sound library attributes.\n* All known [RIFF INFO][info-tags] metadata fields.\n* [Audio Definition Model (ADM)][adm] track metadata and schema, including \n channel, pack formats, \n object, content and programme, including [Dolby Digital Plus][ebu3285s6]\n and Dolby Atmos `dbmd` metadata for re-renders and mixdowns.\n* Wave embedded [cue markers][cues], cue marker labels, notes and timed ranges as used\n by Zoom, iZotope RX, etc.\n* Wave embedded [sampler][smpl] and sample loop metadata.\n* The [wav format][format] is also parsed, so you can access the basic sample rate \n and channel count information.\n\n\n[format]:https://wavinfo.readthedocs.io/en/latest/classes.html#wavinfo.wave_reader.WavAudioFormat\n[cues]:https://wavinfo.readthedocs.io/en/latest/scopes/cue.html\n[bext]:https://wavinfo.readthedocs.io/en/latest/scopes/bext.html\n[smpl]:https://wavinfo.readthedocs.io/en/latest/scopes/smpl.html\n[smpte_330m2011]:https://wavinfo.readthedocs.io/en/latest/scopes/bext.html#wavinfo.wave_bext_reader.WavBextReader.umid\n[adm]:https://wavinfo.readthedocs.io/en/latest/scopes/adm.html\n[ebu3285s6]:https://wavinfo.readthedocs.io/en/latest/scopes/dolby.html\n[ixml]:https://wavinfo.readthedocs.io/en/latest/scopes/ixml.html\n[info-tags]:https://wavinfo.readthedocs.io/en/latest/scopes/info.html\n[eburf64]:https://tech.ebu.ch/docs/tech/tech3306v1_1.pdf\n\n\n## How To Use\n\nThe entry point for wavinfo is the WavInfoReader class.\n\n```python\nfrom wavinfo import WavInfoReader\n\npath = '../tests/test_files/A101_1.WAV'\n\ninfo = WavInfoReader(path)\n\nadm_metadata = info.adm\nixml_metadata = info.ixml\n```\n\nThe package also installs a shell command:\n\n```sh\n$ wavinfo test_files/A101_1.WAV\n```\n\n## Contributions!\n\nAny new or different kind of metadata you find, or any \nnew or different use of exising metadata you encounter, please submit\nan Issue or Pull Request!\n\n## Other Resources\n\n* For other file formats and ID3 decoding, \n look at [audio-metadata](https://github.com/thebigmunch/audio-metadata).\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Probe WAVE files for all metadata",
"version": "3.1.0",
"project_urls": {
"Documentation": "https://wavinfo.readthedocs.io/",
"Homepage": "https://github.com/iluvcapra/wavinfo",
"Repository": "https://github.com/iluvcapra/wavinfo.git",
"Tracker": "https://github.com/iluvcapra/wavinfo/issues"
},
"split_keywords": [
"waveform",
" metadata",
" audio",
" ebu",
" smpte",
" avi",
" library",
" film",
" broadcast"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "72f867a592a1f965480aa66fb423f2ab39248301d1e6ede568cb1f3a9ab96126",
"md5": "08192342cd0d23e2b9f4dfc47dee4e8e",
"sha256": "7bf74366aadc1fca8d924b416d78e1a3fd87d38d4d5c9b0a67880c1f6a8ea2ec"
},
"downloads": -1,
"filename": "wavinfo-3.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "08192342cd0d23e2b9f4dfc47dee4e8e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 35502,
"upload_time": "2024-11-25T19:21:32",
"upload_time_iso_8601": "2024-11-25T19:21:32.826173Z",
"url": "https://files.pythonhosted.org/packages/72/f8/67a592a1f965480aa66fb423f2ab39248301d1e6ede568cb1f3a9ab96126/wavinfo-3.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3300cc8def4fd837e80893f96a00079cc01415a1747d68b434722528c054f714",
"md5": "b4a5dd6de2e75e0fa19da8962f3bc83f",
"sha256": "1073cce98cf025933ffa63f09cba6755a0caa42b566b1f7656c81dc4f2f352d0"
},
"downloads": -1,
"filename": "wavinfo-3.1.0.tar.gz",
"has_sig": false,
"md5_digest": "b4a5dd6de2e75e0fa19da8962f3bc83f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 31800,
"upload_time": "2024-11-25T19:21:34",
"upload_time_iso_8601": "2024-11-25T19:21:34.409106Z",
"url": "https://files.pythonhosted.org/packages/33/00/cc8def4fd837e80893f96a00079cc01415a1747d68b434722528c054f714/wavinfo-3.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-25 19:21:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "iluvcapra",
"github_project": "wavinfo",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "wavinfo"
}