@audio/eq-parametric
v1.1.1
Published
N-band parametric EQ
Readme
@audio/eq-parametric

N-band parametric EQ
npm install @audio/eq-parametricimport parametricEq from '@audio/eq-parametric'Free-form multi-band EQ — any number of bands, each independently peaking, low-shelf, or high-shelf, each with its own fc/Q/gain. One RBJ biquad per band, cascaded in array order.
let params = { bands: [
{ fc: 100, type: 'lowshelf', gain: 2 },
{ fc: 3000, Q: 1.4, gain: -4 }, // type omitted → 'peak'
], fs: 44100 }
for (let buf of stream) parametricEq(buf, params)| Param | Default | |
|---|---|---|
| bands | [] | Array of { fc, Q, gain, type } |
| bands[].fc | — | Band center/corner frequency, Hz |
| bands[].Q | 1 (peak) / 0.707 (shelf) | Bandwidth (peak) or shelf slope |
| bands[].gain | 0 | Band gain, dB |
| bands[].type | 'peak' | 'peak', 'lowshelf', or 'highshelf' |
| fs | 44100 | Sample rate, Hz |
Pass the same params object across successive calls — the filter cascade is cached on it and only rebuilt when any band's fc/Q/gain/type or fs changes by value, so state carries across block boundaries automatically.
Use when: general-purpose multi-band corrective or creative EQ — mixing-channel EQ, mastering surgical cuts, anywhere a fixed band layout (graphic) or two-knob tone stack (baxandall/tilt) is too rigid.
Part of @audio/eq — the eq family umbrella.
MIT © audiojs
