@audio/ dynamics-varimu
Status pending calibration
npm0.2.4licenseMIT
Vari-Mu compressor model — feedback detection, drive-dependent ratio, soft wide knee (Fairchild class)
Vari-Mu compressor model (Fairchild class) — feedback detection, drive-dependent ratio, soft wide knee
import 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