pymad - a Python wrapper for the MPEG Audio Decoder library
pymad is a Python module that allows Python programs to use the MPEG Audio Decoder library. pymad provides a high-level API, similar to the pyogg module, which makes reading PCM data from MPEG audio streams a piece of cake.
MAD is available at http://www.mars.org/home/rob/proj/mpeg/
Access this module via import mad. To decode
an mp3 stream, you'll want to create a mad.MadFile object and read data from
that. You can then write the data to a sound device. See the example
program in test/ for a simple mp3 player that uses the python-pyao wrapper around libao for the sound
device.
pymad wrapper isn't as low level as the C MAD API is, for example, you don't have to concern yourself with fixed point conversion -- this was done to make pymad easy to use.
import sys
import ao
import mad
mf = mad.MadFile(sys.argv[1])
dev = ao.AudioDevice(0, rate=mf.samplerate())
while 1:
buf = mf.read()
if buf is None: # eof
break
dev.play(buf, len(buf))
The latest release is available for download at https://pypi.org/project/pymad/
or via pip install pymad. They're replicated on GitHub in the Releases section.
To build locally, the usual python -m build or python -m pip install . works.
The tests require manual interaction (because you want to listen to the decoded output) and requires PyAO on Linux.
Metadata
Release files for pymad 0.11.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pymad-0.11.3.tar.gz | 30.1 kB | Details |
Release files / pymad-0.11.3.tar.gz
| Download URL | pymad-0.11.3.tar.gz |
|---|---|
| Size | 30.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c5b9be3b625ce9257e07877b66b1f0bd8a957fb967d18cb2393a7e09cf6ce7aa
|
|
BLAKE2b-256 checksum How to use checksums |
69b272f62662392a9704bd4e427291cb4d8f0421e60831ac38bd860085cb123d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|