poly-peach
Version:
A targeted pitch-detection library for node in the browser
47 lines (46 loc) • 1.59 kB
TypeScript
declare class Chromagram {
private window;
private buffer;
private magnitudeSpectrum;
private downsampledInputAudioFrame;
private chromagram;
private pitches;
private referenceFrequency;
private noteFrequencies;
private bufferSize;
private samplingFrequency;
private inputAudioFrameSize;
private downSampledAudioFrameSize;
private numHarmonics;
private numOctaves;
private numBinsToSearch;
private numSamplesSinceLastCalculation;
private chromaCalculationInterval;
private chromaReady;
private kiss_ready;
private fft;
private realInput;
private complexOutput;
constructor(frameSize: number, fs: number);
setParameters(_referenceFrequency: number, _numHarmonics: number, _numOctaves: number, _numBinsToSearch: number): void;
processAudioFrame(inputAudioFrame: Array<number>): void;
setInputAudioFrameSize(frameSize: number): void;
setReferenceFrequency(freq: number): void;
getReferenceFrequency(): number;
setNumHarmonics(n: number): void;
setNumOctaves(n: number): void;
getNumOctaves(): number;
setNumBinsToSearch(n: number): void;
setSamplingFrequency(fs: number): void;
setChromaCalculationInterval(numSamples: number): void;
getChromagram(): number[];
getPitches(): number[];
isReady(): boolean;
setupFFT(): void;
calculateChromagram(): void;
calculateMagnitudeSpectrum(): void;
downSampleFrame(inputAudioFrame: Array<number>): void;
makeHammingWindow(): void;
round(val: number): number;
}
export { Chromagram };