Vintage Master Saturator
A master-bus saturator modelled on analogue circuit behaviour instead of a single waveshaper.
- 4× oversampling through a two-path polyphase allpass half-band filter
- Magnetic hysteresis core, power-supply sag, tape head response
- Device curves from 12AX7 to GaN, plus a true-peak limiter
// tanh-family clipper: y = tanh(k*x)/tanh(k), so y(±1) = ±1 exactly regardless of k.
// Lower k -> wider/gentler knee; higher k -> tighter/more aggressive knee.
inline float tanhClipper (float x, float k) noexcept
{
const float kk = juce::jmax (0.05f, k);
return std::tanh (kk * x) / std::tanh (kk);
}
