audioread
Multi-library, cross-platform audio decoding.
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 audioreaduv
uv add audioreadpoetry
poetry add audioreadInstalling 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
Tags
More Conversion packages
Pydub provides a high-level Python interface…
permissive · top 5,000 on PyPI
soxrPerforms high-quality sample-rate conversion…
copyleft · top 5,000 on PyPI
cloudinaryCloudinary Python SDK provides image and video…
permissive · top 5,000 on PyPI
lameencWraps LAME MP3 encoder for Python, providing…
copyleft · top 5,000 on PyPI
miniaudioMiniaudio provides Python bindings for…
permissive · top 15,000 on PyPI
music21music21 is a Python toolkit for analyzing,…
permissive · top 15,000 on PyPI
audiofileReads and writes audio files across formats…
permissive · top 15,000 on PyPI
standard-sunauProvides the sunau module, a standard library…
permissive · top 5,000 on PyPI
soundfileReads and writes audio files in formats like…
permissive · top 1,000 on PyPI
playsoundPlays audio files (MP3, WAV) and URLs from…
permissive · top 15,000 on PyPI
standard-aifcProvides the aifc module, a pure-Python…
permissive · top 5,000 on PyPI
tinytagReads metadata (artist, title, duration,…
permissive · top 5,000 on PyPI
silk-pythonEncodes and decodes audio in SILK format, a…
permissive · top 15,000 on PyPI
decord2Decord2 decodes video and audio files with…
permissive · top 15,000 on PyPI
decordDecord decodes video and audio files with…
permissive · top 5,000 on PyPI