audioJS

@audio/dynamics-varimu

Status pending calibration

npm0.2.4licenseMIT

Vari-Mu compressor model — feedback detection, drive-dependent ratio, soft wide knee (Fairchild class)

Overview

Install
Updated
Family
dynamics, 17 packages under it
Tags
shape

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