Chromaprint is the core component of the AcoustID project. It's a client-side library that implements a custom algorithm for extracting fingerprints from any audio source. Overview of the fingerprint extraction process can be found in the blog post "How does Chromaprint work?".
Latest release — 0.7 (September 5, 2012)
- Source code tarball (531K)
- Static binaries for the fpcalc tool
- Most Linux distributions have their own binary packages for Chromaprint
The library exposes a simple C API and the package also includes bindings for the Python language. The documentation for the C API can be found in the main header file.
Note that the library only calculates audio fingerprints from the provided raw uncompressed audio data. It does not deal with audio file formats in any way. Your application needs to find a way to decode audio files (MP3, MP4, FLAC, etc.) and feed the uncompressed data to Chromaprint.
There is an example application written in C that uses FFmpeg to calculate fingerprints from any audio files.
In order to just compile the library, you will need to have either FFTW3 or FFmpeg installed, unless you are on OS X, where we can use the standard vDSP library. If you want to build the full package, you will also need TagLib, Boost and Google Test.
$ git clone https://bitbucket.org/acoustid/chromaprint.git $ cd chromaprint $ cmake . $ make
The source code is licensed under the LGPL2.1+ license.