Use Pitchfinder.frequencies() to analyze an entire audio buffer and return an array of pitches at specific intervals based on a tempo and quantization.
Parameters:
detectors: A single detector function or an array of detector functions (using multiple detectors can improve accuracy at the cost of speed).float32Array: The audio data.options: An object containing:tempo: BPM (defaults to 120).quantization: Samples per beat (defaults to 4, i.e., 16th notes).
const Pitchfinder = require("pitchfinder");
const detectPitch = Pitchfinder.YIN();
// Single detector
const frequencies = Pitchfinder.frequencies(detectPitch, float32Array, {
tempo: 130, // in BPM, defaults to 120
quantization: 4, // samples per beat, defaults to 4 (i.e. 16th notes),
});
// Multiple detectors for better accuracy
const detectors = [detectPitch, Pitchfinder.AMDF()];
const moreAccurateFrequencies = Pitchfinder.frequencies(
detectors,
float32Array,
{
tempo: 130,
quantization: 4,
}
);