@audio/dynamics-varimu
v0.2.4
Published
Vari-Mu compressor model — feedback detection, drive-dependent ratio, soft wide knee (Fairchild class)
Readme
@audio/dynamics-varimu

Vari-Mu compressor model (Fairchild class) — feedback detection, drive-dependent ratio, soft wide knee
npm install @audio/dynamics-varimuimport varimu from '@audio/dynamics-varimu'Models a Fairchild 670-style vari-mu tube compressor: feedback topology — the RMS detector reads the already-compressed output, not the input, which is what gives vari-mu units their characteristic self-limiting smoothness. Ratio ("mu") is not fixed: it grows from 1.8 with drive above threshold (mu = 1.8 + max(0, overDb) / 5), through a 15 dB soft knee.
varimu(data, { threshold: -22 }) // batch
varimu(data) // defaults
let write = varimu({ threshold: -22 }) // streaming
let out1 = write(block1)
let tail = write() // flush| Param | Default | |
|---|---|---|
| threshold | -22 | dB |
| knee | 15 | dB (wide) |
| attack | 25 | ms |
| release | 400 | ms |
| makeup | 0 | dB |
| sampleRate | 44100 | Hz (alias fs) |
Ratio is derived, not settable — pass threshold/knee to shape where and how gradually it grows.
Use when: bus glue, mastering — slow, smooth, self-limiting gain reduction with tube-like character.
Not for: fast peak control — use fet or limiter.
Part of @audio/dynamics — the dynamics family umbrella.
MIT © audiojs
