skillfed

audioread

Multi-library, cross-platform audio decoding.

audioread v3.1.0 9.7M downloads/30d#1,504 on PyPI538
Permissive license MIT Active released

What it is and what it does

audioread is a Python library that abstracts away the complexity of choosing an audio decoder by automatically selecting an available backend to read audio files. It supports multiple decoding strategies—GStreamer, Core Audio on macOS, MAD, FFmpeg/Libav via command-line, and Python's standard library modules for uncompressed formats—and presents a unified interface regardless of which backend succeeds. You open an audio file with a context manager, access metadata like channel count, sample rate, and duration, and iterate over raw PCM buffers (16-bit little-endian signed integers) without needing to know which decoder is running underneath.

The library is designed for developers who need to read audio in Python but want to avoid hard dependencies on specific external libraries. It gracefully falls back through available backends and raises a clear exception only when no suitable decoder can be found. This makes it useful in environments where different systems have different audio libraries installed, or where you want to support multiple audio formats without forcing users to install all possible decoders.

Use it for:

  • Convert compressed audio files (MP3, FLAC, OGG) to WAV or other formats in a cross-platform application.
  • Extract audio metadata and raw PCM data from files in a music processing or analysis pipeline.
  • Build audio feature extraction tools that need to read diverse audio formats without hardcoding a specific decoder.
  • Integrate audio file reading into applications that run on macOS, Linux, and Windows with minimal platform-specific code.
  • Process audio buffers from various sources in a real-time or batch audio application.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Decode audio files using whichever backend is available on the system, supporting GStreamer, Core Audio, MAD, FFmpeg, and standard library formats.

Yes. audioread is actively maintained, has no known vulnerabilities, minimal install friction, and solves a real cross-platform problem. Install it if you need to read audio files and want to avoid tight coupling to a specific decoder library. The main caveat is that you must have at least one compatible backend available on your system; pure Python installation is not enough for compressed formats.

Install

audioread on PyPI

pip

pip install audioread

uv

uv add audioread

poetry

poetry add audioread

Installing audioread

Before you install

Low install friction with only two standard library runtime dependencies. Actively maintained with recent releases; last commit 2026-04-09 and 538 repository stars indicate ongoing support.

License in practice

MIT license is permissive, allowing use in commercial and proprietary projects with minimal restrictions beyond attribution.

Quickstart

import audioread

with audioread.audio_open('file.mp3') as f:
    print(f.channels, f.samplerate, f.duration)
    for buf in f:
        # buf is raw 16-bit little-endian signed integer PCM data
        process(buf)

Requires at least one audio backend installed on the system (GStreamer, FFmpeg, Core Audio on macOS, or MAD); pure Python installation alone cannot decode compressed formats.

Verify before relying

  • Whether all listed backends (GStreamer, Core Audio, MAD, FFmpeg, Libav) are equally well-maintained or if some are deprecated in practice.
  • Performance characteristics when handling large audio files or real-time streaming scenarios.
  • Exact behavior and error handling when multiple backends are available and could handle the same format.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 2 — standard-aifc, standard-sunau
Maintenance actively maintained — 292 days since the last release
Last repo commit
First released
Downloads 9,702,304/month — #1,504 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: audioread-3.1.0-py3-none-any.whl

Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.9Topic :: Multimedia :: Sound/Audio :: Conversion

Tags

audio file decodingread audio files pythoncross-platform audio decoderaudio format conversionextract audio dataaudio backend abstractiondecode compressed audio
audio-decodingcross-platformbackend-abstraction

More Conversion packages