pyacoustid
Bindings for Chromaprint acoustic fingerprinting and the Acoustid API
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no known vulnerabilities, and low install friction. It fills a specific niche—acoustic music identification—with a clean API and permissive MIT license. Install it if you need to identify or match audio files; skip it if you only work with file metadata or don't need music recognition.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Chromaprint library installed separately or fpcalc command-line tool on $PATH; set FPCALC environment variable if fpcalc is not in standard locations.
- Low friction install with a pure-wheel distribution.
- Actively maintained with recent commits and no known vulnerabilities.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions, making it suitable for most projects.
last release 2026-04-09 (127 days) · last repo commit 2026-05-19 · 402 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 119,581 downloads/mo, #12,063 on PyPI
Alternatives
Verify before relying
pip install pyacoustid
import pyacoustid
for score, recording_id, title, artist in pyacoustid.match(apikey, 'path/to/audio.mp3'):
print(f"{title} by {artist} (score: {score})")- Whether audioread's codec support (GStreamer, FFmpeg, MAD, Core Audio) covers your target audio formats.
- Performance characteristics when fingerprinting large audio files or batch processing.
What it is and what it does
pyacoustid is a Python wrapper around Chromaprint, an open-source acoustic fingerprinting system, and the Acoustid Web service for music identification. It lets you generate a compact fingerprint from an audio file and look it up against Acoustid's database to retrieve metadata like title, artist, and MusicBrainz recording IDs. The package handles audio decoding via audioread and communicates with the Acoustid API via requests, abstracting away the complexity of working with raw fingerprints and HTTP calls.
You can use it at a high level with a single match call to identify a file, or drop down to lower-level functions to fingerprint raw PCM data, compare fingerprints, or submit new fingerprints to the database. The library enforces rate limiting (3 queries per second) when calling the Web API and raises specific exceptions for fingerprinting failures and lookup errors, making it straightforward to handle failures gracefully.
Use it for
- Identify unknown music files by matching their acoustic fingerprint against the Acoustid database.
- Bulk-tag a music library with metadata (title, artist, recording ID) by fingerprinting each file.
- Compare two audio files for similarity without relying on file metadata or format.
- Submit new fingerprints to Acoustid to improve the database coverage for unrecognized tracks.
- Build a music recognition feature into an application using the Acoustid API.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no known vulnerabilities, and low install friction. It fills a specific niche—acoustic music identification—with a clean API and permissive MIT license. Install it if you need to identify or match audio files; skip it if you only work with file metadata or don't need music recognition.
Install
pyacoustid on PyPI
Before you install
Low friction install with a pure-wheel distribution. Actively maintained with recent commits and no known vulnerabilities. Requires Python 3.10+ and the external Chromaprint library or fpcalc command-line tool to be available on your system.
Requires Chromaprint library installed separately or fpcalc command-line tool on $PATH; set FPCALC environment variable if fpcalc is not in standard locations.
License in practice
MIT license permits commercial and private use with minimal restrictions, making it suitable for most projects.
Quickstart
pip install pyacoustid
import pyacoustid
for score, recording_id, title, artist in pyacoustid.match(apikey, 'path/to/audio.mp3'):
print(f"{title} by {artist} (score: {score})")
Verify before relying
- Whether audioread's codec support (GStreamer, FFmpeg, MAD, Core Audio) covers your target audio formats.
- Performance characteristics when fingerprinting large audio files or batch processing.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesaudioreadrequests |
| Maintenance | Actively maintained 127 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 119,581 / month, #12,063 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Multimedia :: Sound/Audio :: Conversion |
Evidence: pyacoustid-1.3.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “audio fingerprinting python”
- pyacoustidProvides Python bindings for Chromaprint acoustic fingerprinting and…
- resemble-perthEmbeds imperceptible watermarks into audio files and detects them…
- pyobjc-framework-ShazamKitProvides Python bindings to macOS's ShazamKit framework, enabling…
Give your agent the search over MCP, or paste the wish link into any chat.
More Conversion packages
Pydub provides a high-level Python interface for loading, manipulating, and exporting audio files with simple operations like slicing, concatenation, and format conversion.
However, the abandoned status since 2021-03-10 means no future fixes or compatibility updates—use it only if you can tolerate potential issues with newer Python…
Performs high-quality sample-rate conversion (resampling) for audio signals, supporting both one-shot and streaming modes via a Python wrapper around libsoxr.
Decode audio files using whichever backend is available on the system, supporting GStreamer, Core Audio, MAD, FFmpeg, and standard library formats.
Install it if you need to read audio files and want to avoid tight coupling to a specific decoder library.
Cloudinary Python SDK provides image and video upload, transformation, optimization, and delivery through Cloudinary's cloud platform, with built-in Django integration and secure URL generation.
Install it if you're using Cloudinary or considering a managed media platform.
Wraps LAME MP3 encoder for Python, providing bindings to encode raw PCM audio data into MP3 format with configurable bitrate, sample rate, channels, and quality settings.
Miniaudio provides Python bindings for cross-platform audio playback, recording, decoding, and sample format conversion using the miniaudio C library.
See also aubio · musicbrainzngs · pyobjc-framework-ShazamKit · ytmusicapi · shazamio · panns-inference · apify-fingerprint-datapoints · mir-eval · tinytag