Skip to content
Calculate AcoustID audio fingerprint
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
test Add stream support Oct 16, 2018
.gitignore Add test Jul 30, 2013
index.js Add stream support Oct 16, 2018


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 or a readable stream.

If using a stream, note that you will not get duration out due to an fpcalc issue.

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
You can’t perform that action at this time.