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

README.md

fpcalc

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

Ubuntu

$ sudo apt-get install libchromaprint-tools

Example

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

API

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

Installation

npm install --save fpcalc