{"id":13826705,"url":"https://github.com/iluvcapra/wavinfo","last_synced_at":"2026-03-02T15:47:21.756Z","repository":{"id":58846135,"uuid":"163695781","full_name":"iluvcapra/wavinfo","owner":"iluvcapra","description":"Probe WAVE Files for all metadata","archived":false,"fork":false,"pushed_at":"2024-07-11T05:58:39.000Z","size":17098,"stargazers_count":33,"open_issues_count":0,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-04T10:04:01.315Z","etag":null,"topics":["audio","audio-applications","audio-library","filmmaking","metadata","metadata-extraction","python3","wav"],"latest_commit_sha":null,"homepage":"https://wavinfo.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iluvcapra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-31T20:28:46.000Z","updated_at":"2024-09-01T05:37:50.000Z","dependencies_parsed_at":"2024-07-11T07:08:00.183Z","dependency_job_id":null,"html_url":"https://github.com/iluvcapra/wavinfo","commit_stats":{"total_commits":359,"total_committers":3,"mean_commits":"119.66666666666667","dds":0.03064066852367686,"last_synced_commit":"14b9cbb4967308e09d7d2a6f6de57a6758e56263"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iluvcapra%2Fwavinfo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iluvcapra%2Fwavinfo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iluvcapra%2Fwavinfo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iluvcapra%2Fwavinfo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iluvcapra","download_url":"https://codeload.github.com/iluvcapra/wavinfo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225476383,"owners_count":17480215,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","audio-applications","audio-library","filmmaking","metadata","metadata-extraction","python3","wav"],"created_at":"2024-08-04T09:01:42.871Z","updated_at":"2026-03-02T15:47:21.751Z","avatar_url":"https://github.com/iluvcapra.png","language":"Python","readme":"![](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)\r\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)\r\n\r\n[![Tests](https://github.com/iluvcapra/wavinfo/actions/workflows/python-package.yml/badge.svg)](https://github.com/iluvcapra/wavinfo/actions/workflows/python-package.yml)\r\n[![Ruff](https://github.com/iluvcapra/wavinfo/actions/workflows/python-ruff.yml/badge.svg)](https://github.com/iluvcapra/wavinfo/actions/workflows/python-ruff.yml)\r\n[![codecov](https://codecov.io/gh/iluvcapra/wavinfo/branch/master/graph/badge.svg?token=9DZQfZENYv)](https://codecov.io/gh/iluvcapra/wavinfo)\r\n\r\n# wavinfo\r\n\r\nThe `wavinfo` package allows you to probe WAVE and [RF64/WAVE files][eburf64] \r\nand extract extended metadata. `wavinfo` has an emphasis on film, video and \r\nprofessional music production but can read many other kinds.\r\n\r\nIf you are trying to read a particular kind of metadata from a WAV file and\r\nit is not supported, please submit an issue!\r\n\r\n\r\n## Metadata Support\r\n\r\n`wavinfo` reads:\r\n\r\n* All defined [Broadcast-WAVE][bext] fields, including embedded program\r\n  loudness, coding history and [SMPTE UMID][smpte_330m2011].\r\n* [iXML][ixml] production recorder metadata, including project, scene, and \r\n  take tags, recorder notes and file family information.\r\n  * iXML `STEINBERG` sound library attributes.\r\n* All known [RIFF INFO][info-tags] metadata fields.\r\n* [Audio Definition Model (ADM)][adm] track metadata and schema, including \r\n  channel, pack formats, \r\n  object, content and programme, including [Dolby Digital Plus][ebu3285s6]\r\n  and Dolby Atmos `dbmd` metadata for re-renders and mixdowns.\r\n* Wave embedded [cue markers][cues], cue marker labels, notes and timed ranges as used\r\n  by Zoom, iZotope RX, etc.\r\n* Wave embedded [sampler][smpl] and sample loop metadata.\r\n* The [wav format][format] is also parsed, so you can access the basic sample rate \r\n  and channel count information.\r\n\r\n\r\n[format]:https://wavinfo.readthedocs.io/en/latest/classes.html#wavinfo.wave_reader.WavAudioFormat\r\n[cues]:https://wavinfo.readthedocs.io/en/latest/scopes/cue.html\r\n[bext]:https://wavinfo.readthedocs.io/en/latest/scopes/bext.html\r\n[smpl]:https://wavinfo.readthedocs.io/en/latest/scopes/smpl.html\r\n[smpte_330m2011]:https://wavinfo.readthedocs.io/en/latest/scopes/bext.html#wavinfo.wave_bext_reader.WavBextReader.umid\r\n[adm]:https://wavinfo.readthedocs.io/en/latest/scopes/adm.html\r\n[ebu3285s6]:https://wavinfo.readthedocs.io/en/latest/scopes/dolby.html\r\n[ixml]:https://wavinfo.readthedocs.io/en/latest/scopes/ixml.html\r\n[info-tags]:https://wavinfo.readthedocs.io/en/latest/scopes/info.html\r\n[eburf64]:https://tech.ebu.ch/docs/tech/tech3306v1_1.pdf\r\n\r\n\r\n## How To Use\r\n\r\nThe entry point for wavinfo is the WavInfoReader class.\r\n\r\n```python\r\nfrom wavinfo import WavInfoReader\r\n\r\npath = '../tests/test_files/A101_1.WAV'\r\n\r\ninfo = WavInfoReader(path)\r\n\r\nadm_metadata = info.adm\r\nixml_metadata = info.ixml\r\n```\r\n\r\nThe package also installs a shell command:\r\n\r\n```sh\r\n$ wavinfo test_files/A101_1.WAV\r\n```\r\n\r\n## Contributions!\r\n\r\nAny new or different kind of metadata you find, or any \r\nnew or different use of exising metadata you encounter, please submit\r\nan Issue or Pull Request!\r\n\r\n## Other Resources\r\n\r\n* For other file formats and ID3 decoding, \r\n  look at [audio-metadata](https://github.com/thebigmunch/audio-metadata).\r\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filuvcapra%2Fwavinfo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filuvcapra%2Fwavinfo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filuvcapra%2Fwavinfo/lists"}