Open most "saturation" plugins and what you actually get is a static transfer function: input goes in, output comes out, sample by sample. tanh(x), soft-clip, polynomial, doesn't matter — the same input always produces the same output. That's waveshaping, and it's a perfectly reasonable model for tube grid current, diode clipping, or op-amp limits.
It is not a model of tape.
Tape has memory. The output at sample n depends not just on the input at sample n, but on the magnetic state of the tape — which depends on what the signal was doing several milliseconds before. That single fact is responsible for almost everything engineers describe when they talk about "tape character": the smear on transients, the asymmetric harmonics, the way different frequencies saturate at different levels, and the gentle compression that doesn't quite behave like any compressor circuit.
If you want to understand why a good tape plugin sounds different from a good clipper, this is where it lives.
The B-H Curve: Where the Memory Comes From
Magnetic recording works by aligning microscopic magnetic domains in an oxide coating. When you apply a magnetic field H (from the record head's current), the domains align and produce a magnetic flux density B in the tape. Plot B against H and you don't get a single curve — you get a loop.
Going up (field increasing), the tape magnetizes along one path. Coming back down (field decreasing), it magnetizes along a different path. The shape of that loop encodes the energy lost as heat per cycle, and the offset means a tape that was just driven hard "remembers" its previous state — even at zero applied field, there's residual magnetization (B_r, the remanence). That's how tape stores audio in the first place.
The loop is also why saturation isn't instantaneous. As the input swings past the steep portion of the curve into the flat saturation region, the next sample doesn't restart from zero — it picks up from wherever the magnetic state currently is. Push the tape into saturation on a kick drum, and the tape's recovery influences the harmonic content of the snare two milliseconds later.
Memoryless waveshaping cannot represent this. The transfer function y = f(x) has no notion of "where the magnetic state was."
Bias: The High-Frequency Dither That Saved Tape
If you look at the B-H curve near zero, you see something terrible: a dead zone. Below a threshold field strength, the magnetic domains don't move at all. Send a quiet signal directly to a tape head and most of it disappears into that threshold; what comes back out is severely distorted, because the small-signal portion of the curve is nonlinear and has a flat spot through zero.
The fix, discovered around 1940, is bias: a high-frequency tone, typically 40–150 kHz, mixed with the audio at the record head. The bias keeps the magnetic domains constantly "stirred" — every audio sample arrives at the head while the tape is already cycling through its hysteresis loop at ultrasonic rate. The audio rides on top of that ultrasonic agitation, and the average response to the audio becomes nearly linear. The bias itself is far above audible (and far above the playback head's frequency response), so it doesn't appear in the output.
Conceptually, bias is dither for magnetism. It uses high-frequency noise to linearize a nonlinear element, the same way 1-bit dither linearizes a quantizer. Recording engineers tune bias level the way they tune compressor attack: too little and you get crossover distortion at low levels; too much and high-frequency response collapses (more on that in a moment). The "sweet spot" is usually 1–3 dB over the bias level that produces maximum output at 1 kHz — slightly over-biased, accepting a small HF loss to gain a much more linear midrange.
Tape plugins that take this seriously expose a bias parameter. It's not a tone control. It's the operating point of the entire nonlinearity.
Why High Frequencies Saturate First
Here is the part that surprises engineers who learned about tape from waveshaping plugins: the saturation level depends on frequency. A tape that handles +6 dB at 1 kHz might saturate hard at +3 dB at 10 kHz, and even harder above that.
Two physical mechanisms cause this.
First, layer depth. Lower frequencies penetrate deeper into the oxide coating; higher frequencies only magnetize a thin surface layer. There's simply less magnetic material available to store HF energy, so it saturates at a lower input level.
Second, self-erasure. As the tape leaves the record-head gap with freshly recorded HF content, the trailing edge of the same gap acts as a secondary erase head. The signal you just laid down gets partially erased by the bias field on its way out. The faster the tape moves, the less time it spends near that trailing edge, which is why 30 ips machines have noticeably better HF saturation behavior than 15 ips — the magnetized tape escapes the gap region before self-erasure does much damage.
This is the actual reason for tape's "warmth." A drum buss going through tape isn't just being clipped — its high frequencies are being compressed by a physical mechanism that doesn't touch the low frequencies. Engineers compensated for this with pre-emphasis curves (NAB, IEC) that boost record-side highs and cut them on playback, trading noise floor for headroom. The trade-off is built into the format itself.
Solving the Equation in Real Time
The mathematical description is the Jiles-Atherton model: a coupled differential equation that predicts magnetization M as a function of applied field H, with state variables for irreversible and reversible domain motion. It looks intimidating because it is — there's no closed-form solution. You integrate it numerically.
For an audio plugin, that means at every sample, you solve a nonlinear ODE that depends on the previous magnetic state. The state variable carries the memory across samples; that's where "tape has memory" stops being a metaphor and becomes a literal line of code.
ChowTapeModel — the open-source physical-model plugin that pioneered this approach for real-time use — solves the Jiles-Atherton equation with a choice of numerical methods: 2nd-order Runge-Kutta, 4th-order Runge-Kutta, or Newton-Raphson iteration with 4 or 8 iterations per sample. Each is a different point on the accuracy-vs-CPU curve. The plugin runs the equation per sample at audio rate, in real time, with oversampling on top to manage the nonlinearity's aliasing. That's the floor of what physical modeling tape costs, and it's why "tape" plugins often have noticeably higher CPU than waveshapers.
The payoff is that one set of equations, with parameters changed, produces qualitatively different machines. Bias level, tape speed, gap width, and tape formulation are all knobs in the model — not separate algorithms. That's why a Sony TC-260 setting and a Studer A800 setting in the same plugin can sound genuinely different, rather than being the same nonlinearity with different EQ.
What This Means for Your Mixes
If you reach for "tape" expecting a vibe, the difference between waveshaper-based plugins (Decapitator, Saturn, etc.) and physical-model plugins (ChowTape, Satin, Kramer Tape) won't be obvious on a single instance. Both can sound great. Both add harmonic content. Where they diverge:
- Transient behavior. Hysteresis-based models smear transients in time, because the magnetic state takes finite time to track a fast input. Waveshapers don't — they distort instantaneously. On drums and percussion, this is audible.
- Frequency-dependent saturation. A physical model saturates HF before LF on its own. A waveshaper applies the same nonlinearity to all frequencies and you have to fake the HF behavior with EQ in front.
- Asymmetry and bias-point shifts. As a real tape's operating point drifts, the harmonic content shifts. Hysteresis models produce this naturally; waveshapers can only approximate it with explicit asymmetric transfer functions.
None of this makes waveshapers wrong. It does mean that "tape saturation" is a name covering two genuinely different processes, and reaching for the right one is sometimes the difference between an effect that sits and one that fights.
The next time a plugin claims to model tape, the question to ask is simple: does it have memory? If the output of any sample is fully determined by the input of that same sample, it's waveshaping wearing a tape costume. If there's a state variable carrying magnetic history forward through time, it's actually doing the physics.
That state variable is the whole point.