Pure Python MPEG-1 Audio related meta information retrieval package
Capable of retrieving duration (also duration of VBR MP3 files, using XING and
VBRI headers and parsing all frames), bitrate, average bitrate, sample count,
etc. This was done because other packages seemed to be licensed under GPL, this
one is licensed under more permissive FreeBSD License, see
Note: This is not meant to retrieve ID3v1 or ID3v2 tags. They are not part of MPEG Audio Layer I, II or III. If you are interested on ID3-tags, I recommend pytagger.
For users of this package
Documentation can be found under
docs -directory, they are included only
in releases. Other releases, such as GitHub repository does not include HTML
generated documents. I'm trying to create automated way to generate Sphinx doc
HTML directly from repository as new commits come in... But until that is
implemented, there will be no documentation available online.
This package uses
distutils and is easily installed using that:
$ setup.py install
Under Windows you can start the command prompt with administrator rights (by
cmd.exe and using "Run as administrator") then run the above
>>> import mpeg1audio >>> try: ... mp3 = mpeg1audio.MPEGAudio(open('data/song.mp3', 'rb')) ... except mpeg1audio.MPEGAudioHeaderException: ... pass ... else: ... print mp3.duration 0:03:12
For developers of this package
There exists directory
tests/ which has
but I have not provided contents of
tests/data/ yet. I'm looking for MP3 files
that can be distributed without copyright issues. Currently I'm in search for
pretty much any kind of files: Normal CBR, VBR Xing, VBRI Fraunhofer encoded,
and Free bitrate -MP3 files.
PyDev and Eclipse
This project uses PyDev and Eclipse, and for this reason there are
.pydevproject files. For documentation there is Sphinx doc launch
configuration that can generate documentation from within Eclipse, see
docs/SphinxDoc mpeg1audio.launch. Currently the launch configuration has one
hard-coded file path, so it is wise to edit this configuration before using it.
There is also launch configuration for unit testing
tests/Tests for mpeg1audio.launch, it seems to be dependant on naming of
All source files are also analyzed using pylint, and in ideal case all source files of package should be free of pylint errors or warnings.