JSPM

@cod3gen/audiofilters

0.1.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q26240F
  • License MIT

Audio filter design utilities (biquad PEQ/shelves, crossover families, RIAA) for Node.js

Package Exports

  • @cod3gen/audiofilters

Readme

@cod3gen/audiofilters

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)

Install

npm install @cod3gen/audiofilters

Usage

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 });

API

  • FilterDesigns: metadata for crossover designs (family, order, slope, sections, aliases)
  • filterDesign: numeric ids per design (for compatibility)
  • filterLength: number of biquad sections per design
  • bqFilterDesign: numeric ids for biquad response types
  • class AudioFilters:
    • defaultCoefficients() → unity biquad
    • makeParametricEQ(...), makeLowShelv(...), makeHighShelv(...), makeAllpass(...)
    • makeHighPass(designId, fc, fs, bypass?), makeLowPass(designId, fc, fs, bypass?)
    • makeRIAAEqualization(opts)
    • generateCoeff(alias, data) → alias router (biquad/crossover/RIAA)

Build

npm run build

Demo

npm run demo

Publish

  • GitHub: push this folder as a repo/package
  • npm: bump version, then npm publish --access public

License

MIT