Skip to main content

pymad - a Python wrapper for the MPEG Audio Decoder library

ci 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)

Source distribution for pymad 0.11.3
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

Release history Release notifications | RSS feed

This release

0.11.3 This release

1 release file

0.11.1

1 release file

0.10

1 release file

0.9

1 release file

0.8

0.5.3

0.3

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page