Calculate AcoustID audio fingerprint
Latest commit afed416 Apr 20, 2016
Failed to load latest commit information.
test Improve tests Apr 8, 2016
.gitignore Add test Jul 30, 2013 Improve readme Apr 8, 2016
index.js Fix bug with raw fingerprint data Apr 20, 2016
package.json 1.2.1 Apr 20, 2016


This module is a wrapper around the fpcalc command-line tool and provides a node interface to calculate AcoustID audio fingerprints for audio files.

Installing Chromaprint

fpcalc (provided by Chromaprint) must be installed for this module to function.

OSX using Homebrew

$ brew install chromaprint


$ sudo apt-get install libchromaprint-tools


var fpcalc = require("fpcalc");
fpcalc("./audio.mp3", function(err, result) {
  if (err) throw err;
  console.log(result.file, result.duration, result.fingerprint);


fpcalc(file, [options,] callback)

Calculates the fingerprint of the given audio file.

File must be the path to an audio file.

Options may be an object with any of the following keys:

  • length: Length of the audio data used for fingerprint calculation (passed as -length option)
  • raw: Output the raw uncompressed fingerprint (default: false)
  • command: Path to the fpcalc command (default: "fpcalc" - expects executable in $PATH)

Callback must be a function that will be called with callback(err, result) once the fingerprint is calculated. The result object will contain the following keys:

  • file: Path to the audio file
  • duration: Duration of audio file in seconds
  • fingerprint: Fingerprint of audio file - Buffer if options.raw, String otherwise


npm install --save fpcalc