Audio filter design utilities (biquad PEQ/shelves, LP/HP crossover families, RIAA) for Node.js.
- Parametric and shelving EQ (biquad)
- Butterworth, Bessel, Linkwitz–Riley LP/HP crossovers (6–48 dB/oct)
- RIAA equalization (standard/inverse) with optional DC block
- Alias-based generator for ergonomic usage:
generateCoeff(alias, data)
npm install @cod3gen/audiofilters
import { AudioFilters } from '@cod3gen/audiofilters';
const af = new AudioFilters();
// 1) Biquad: peaking EQ
const peq = af.generateCoeff('peq', { gain: 3, fc: 1000, Q: 1, fs: 48000 });
// 2) Crossover: LR24 low-pass at 2k
const lr24lp = af.generateCoeff('lr24', { mode: 'lowpass', fc: 2000, fs: 48000 });
// 3) RIAA
const riaa = af.generateCoeff('riaa', { sample_rate: 48000, dc_block: true });
FilterDesigns
: metadata for crossover designs (family, order, slope, sections, aliases)filterDesign
: numeric ids per design (for compatibility)filterLength
: number of biquad sections per designbqFilterDesign
: numeric ids for biquad response typesclass AudioFilters
:defaultCoefficients()
→ unity biquadmakeParametricEQ(...)
,makeLowShelv(...)
,makeHighShelv(...)
,makeAllpass(...)
makeHighPass(designId, fc, fs, bypass?)
,makeLowPass(designId, fc, fs, bypass?)
makeRIAAEqualization(opts)
generateCoeff(alias, data)
→ alias router (biquad/crossover/RIAA)
npm run build
npm run demo
- GitHub: push this folder as a repo/package
- npm: bump version, then
npm publish --access public
MIT