@audio/ pitch-hps
Status calibrated
npm1.0.2licenseMIT
Harmonic Product Spectrum (Schroeder, 1968)
Overview
- Install
- Updated
- Family
- pitch, 8 packages under it
- Tags
- measure, time & pitch
import hps from '@audio/pitch-hps'
Schroeder, 1968. Harmonic Product Spectrum — multiplies the spectrum by its downsampled copies so that harmonic peaks align at the fundamental. Robust to the missing-fundamental problem.
let result = hps(samples, { fs: 44100 })
| Param | Default | |
|---|---|---|
fs |
44100 |
Sample rate (Hz) |
harmonics |
5 |
Number of harmonic products |
minFreq |
50 |
Minimum detectable frequency (Hz) |
maxFreq |
4000 |
Maximum detectable frequency (Hz) |
cents |
10 |
Candidate spacing in cents |
threshold |
0.1 |
Minimum clarity to accept |
Use when: Harmonic-rich signals (guitar, piano, brass). Naturally handles missing fundamentals.
Not for: Pure sinusoids (only one harmonic), very noisy signals.
Ref: Schroeder, "Period histogram and product spectrum", JASA 1968.
Requires: Power-of-2 window length — throws otherwise.
Part of @audio/pitch — the pitch family umbrella. This README is generated from the umbrella docs.
MIT © audiojs