Document Actions
The Python audio processing suite
Category: Audio and signal processing
—
Other products by this author
Current release: The Python audio processing suite 0.0.5
Released Dec 04, 2008 — tested with Python 2.5
First release in this project site.
Experimental releases
There are no experimental releases available at the moment.
Project Description
- Project resources
This software contains Python modules and command-line tools with a variety of convenience functions to process and visualize audio signals. For starters, you can easily plot the spectrum of a song, to discriminate among different-quality versions of the same file, called Butterscotch. This, as it turns out, has several really practical uses.
The instrumental goal of these algorithms is to robustly identify the same songs released in different albums (but not different takes of said song). The end goal is to support several use cases for Amarok, such as unify the collection statistics of the Amarok music player, so that when a song's rating or value changes, that change is propagated to copies of that same song in different albums. It can also help you avoid duplicates in space-constrained music devices. Enterprising users will also be able to use this software to weed out poor-sounding duplicates from their collection -- perhaps even in an automated fashion -- in the future.
Its main feature is the Butterscotch signature generator, which generates a Butterscotch signature out of an audio file. Butterscotch signatures are intended to identify duplicate songs regardless of encoding bitrate, which album or compilation they were released on, start time shifts or song incompleteness. In addition, given an ideal quantization of the fingerprint, they can reliably serve as unique song identifiers. Butterscotch does not rely on client/server infrastructure, but it can be dramatically sped up by it. Read the description to find the properties of the algorithm out. The process which yielded the Butterscotch algorithm is documented here.
The suite is free software distributed under the GPL version 3, and it's entirely documented.
What this software requires to run
Your computer must have these software packages:
- Python
- SciPy
- NumPy
- Matplotlib
All major distributions include these packages, either as default or in their package manager repositories. You can get these things in a matter of minutes, so there's no excuse not to use this software.
Moreover, the software released on this project itself is available in The missing RPMs repository.
Related efforts
In the same knowledge domain (not with the same goals):
- Marsyas (Soren, music similarity): 0 1 2 3
- MusicBrainz (unique IDs, requires central server)
Self-Certification
[ ] Internationalized
[ ] Unit tests
[X] End-user documentation
[X] Internal documentation (documentation, interfaces, etc.)
[ ] Existed and maintained for at least 6 months
[ ] Installs and uninstalls cleanly
[ ] Code structure follows best practice

