what WARM does
WARM adds harmonic saturation to your audio: the subtle richness that makes recordings feel alive. it models three analog saturation circuits: tape, tube, and transformer. each has a genuinely different harmonic signature because each uses a different waveshaping nonlinearity.
unlike generic distortion plugins, WARM uses Chebyshev polynomials to control each harmonic independently. the result is musical saturation where you control the character, not just the amount.
controls
WARM has 4 knobs, 4 draggable EQ nodes, a character mode selector, and an AUTO loudness matching toggle in the mode bar.
knobs
| control | range | default | what it does |
|---|---|---|---|
DRIVE | 2–24 dB | 4 dB | how hard the signal hits the saturation circuit. higher = more harmonics, more color. |
TONE | -100% to +100% | 0% | tilt EQ around 1 kHz. negative = darker. positive = brighter. opposing shelves keep energy balanced. |
MIX | 0–100% | 100% | wet/dry blend. use 30–70% for parallel saturation. |
BODY | 0–100% | 50% | low-mid emphasis. adds spectral shaping and a proportional drive boost into the waveshaper for audibly thicker low-mids. |
toggle buttons
| button | what it does |
|---|---|
DELTA | hear what WARM is adding. output = wet - dry. you should hear only harmonics, not the original signal. |
ODD | suppresses even harmonics (h2, h4, h6). useful for a cleaner, more transparent saturation. most noticeable on Tape character. |
character selector
| character | sound |
|---|---|
TAPE | symmetric tanh saturation. warm, odd-harmonic dominant (h3, h5, h7). gentle HF rolloff at 12 kHz. classic analog warmth. |
TUBE | bias-shifted asymmetric clipping. strong 2nd harmonic (h2 > h3 by ~6 dB). presence boost at 3 kHz. rich, musical distortion. |
XFMR | quadratic asymmetry. deep even-harmonic richness (h2 > h3 by ~27 dB). low-frequency thickening at 150 Hz. transformer weight. |
switching characters during playback is click-free. WARM crossfades between characters over ~10ms.
character deep dive
the three characters aren't just EQ variations. each uses a fundamentally different waveshaping nonlinearity that generates a distinct harmonic profile.
tape
uses symmetric tanh(x), the classic analog tape saturation curve. because it's symmetric, it generates only odd harmonics (3rd, 5th, 7th). this gives a warm, rounded quality without adding brightness. the post-processing stage adds a gentle low-pass at 12 kHz to simulate tape head loss.
tube
uses a bias-shifted sigmoid: tanh(x + 0.35) - tanh(0.35). the bias shift breaks the symmetry, making the positive half-cycle clip differently from the negative half. this naturally generates even harmonics. the 2nd harmonic sits about 6 dB above the 3rd. a 3 kHz presence boost adds the "tube forward" quality. this is the richest, most musical character.
transformer
uses tanh(x) + 0.15 * t * t, a quadratic term that adds pure even-harmonic asymmetry. the 2nd harmonic dominates at ~27 dB above the 3rd. combined with a 150 Hz low shelf boost, this gives weight and body. the transformer "iron" sound. best on bass, drums, and mix bus.
spectral display
the real-time spectral display shows:
- gold curve: your signal's frequency spectrum after saturation
- EQ nodes: 4 draggable nodes that control spectral pre-gain per frequency region
- range handles: two draggable handles restrict saturation to a specific frequency range using a Linkwitz-Riley 4th-order crossover. frequencies outside the range pass through unprocessed.
AUTO loudness matching
the AUTO toggle in the mode bar enables K-weighted loudness compensation (ITU-R BS.1770). it automatically adjusts the output level to match the input, so your A/B comparison is fair. you hear the saturation character, not the volume difference.
EQ nodes
- drag horizontally: move the node's center frequency
- drag vertically: adjust pre-gain for that frequency region
- mouse wheel on node: adjust Q (bandwidth)
- shift + drag: fine adjustment
- double-click: toggle node on/off
- right-click: choose channel routing and shape (bell or shelf for bands 0 and 3)
shelf mode (bands 0 and 3)
the outermost EQ nodes (band 0 and band 3) can switch from parametric bell to shelving. right-click the node and choose "shelf" under the shape section. band 0 becomes a low shelf (boosts/cuts saturation below its frequency). band 3 becomes a high shelf (boosts/cuts above). the Q control adjusts the shelf transition steepness.
shelf mode
hover over any node to see inline controls. click the enable dot (left of node) to toggle it on/off. for bands 0 and 3, click the type badge to cycle between BELL, LS, and HS. low shelf on band 0 shapes everything below, high shelf on band 3 shapes everything above. double-click the label text to type exact values (e.g. "2.5k +3.0 dB Q 0.7"). right-click any band for the full menu as a fallback.
presets
WARM ships with 34 factory presets organized by character and use case.
tape presets
| preset | use case |
|---|---|
| Tape Gentle | subtle analog warmth |
| Tape Vocal | vocal chain saturation |
| Tape Drum Bus | drum bus glue |
| Tape Hot | driven tape, think Studer pushed hard |
tube presets
| preset | use case |
|---|---|
| Tube Warm | classic tube warmth with 2nd harmonic richness |
| Tube Vocal | tube mic pre character on vocals |
| Tube Crunch | driven tube for guitars and synths |
| Tube Bass | bass fattening with tube harmonics |
transformer presets
| preset | use case |
|---|---|
| XFMR Subtle | gentle transformer color |
| XFMR Bass | bass weight and body |
| XFMR Mix Bus | mix bus iron. console-style saturation |
| XFMR Heavy | heavy transformer saturation |
browsing
- use
< >arrows in the header to browse presets - the preset name is displayed between the arrows
- A/B button: compare two different settings instantly
how it works
WARM uses a 5-stage processing pipeline. no neural networks. no impulse responses. pure mathematics.
spectral pre-gain
STFT analysis splits the signal into frequency bins. the 4 EQ nodes let you boost or cut specific frequency regions before they hit the waveshaper, shaping what gets saturated.
drive computation
maps the DRIVE knob to a linear gain factor. an envelope follower modulates this with the input level. louder signals push the circuit harder, like real analog.
waveshaping (adaptive oversampling)
the signal is oversampled 2x and processed through the per-character soft clipper followed by 7th-order Chebyshev polynomial evaluation with 2nd-order antiderivative anti-aliasing (ADAA). at sample rates above 96 kHz, oversampling is bypassed (ADAA alone provides sufficient suppression). this achieves ~52 dB alias rejection at lower CPU cost than traditional oversampling.
post-processing
DC blocking, HF compensation for oversampler rolloff, character-specific tonal shaping, and the TONE tilt EQ. all parameters are smoothed to prevent zipper noise.
K-weighted auto-compensation
loudness is matched between wet and dry using K-weighted RMS (ITU-R BS.1770). the saturated output never sounds louder. you hear the character, not the volume boost.
technical specifications
| spec | value |
|---|---|
| formats | VST3, AU (AUv3), standalone |
| platform | macOS (Apple Silicon native) |
| sample rates | 44.1 – 192 kHz |
| latency | ~93 ms at 44.1 kHz (4096 samples, STFT stage) |
| CPU target | < 3% at 44.1 kHz, 512-sample buffer (macOS with hardware-accelerated FFT) |
| waveshaping order | 7th-order Chebyshev polynomials |
| anti-aliasing | 2nd-order ADAA + 2x oversampling (≤96 kHz), ADAA only (>96 kHz) |
| characters | 3 (tape, tube, transformer) |
| harmonic control | 7 independent coefficients per character |
| auto-compensation | K-weighted RMS (ITU-R BS.1770) |
| presets | 34 factory presets |
| DRM | none. no iLok. no account. no activation. |
installation
- download the installer from kernaudio.io
- copy
KERN WARM.vst3to~/Library/Audio/Plug-Ins/VST3/ - copy
KERN WARM.componentto~/Library/Audio/Plug-Ins/Components/ - open your DAW, scan for new plugins
- find "KERN WARM" under manufacturer: "KERN Audio"
no activation required. no account needed. just install and use.
quick start recipes
"i want analog warmth on my vocal"
- select TUBE character
- set DRIVE to 6–8 dB
- keep MIX at 50–70% for parallel saturation
- the 2nd harmonic adds body without harshness
"my drums need more weight"
- select XFMR character
- DRIVE at 8–12 dB
- the low-frequency thickening at 150 Hz adds weight
- use DELTA to verify you're adding harmonics, not distortion
"i want subtle tape warmth on the mix bus"
- select TAPE character
- DRIVE at 3–5 dB (subtle)
- MIX at 40–60%
- TONE slightly negative for a darker, vintage feel
"my bass needs tube saturation"
- select TUBE character
- DRIVE at 10–14 dB
- use EQ nodes to boost the low-mid region (100–400 Hz) before saturation
- the even harmonics fill out the bass without muddying the low end
tips
- DELTA reveals everything. toggle it to hear only the harmonics WARM is adding. if you hear the original signal, something's wrong.
- TUBE for vocals, XFMR for bass. tube's 2nd harmonic adds musical richness. transformer's deep even harmonics add weight and body.
- TAPE for everything else. symmetric saturation is the safest. warm without changing the harmonic balance.
- parallel saturation works. MIX at 30–60% lets you add color without overdriving the signal.
- ODD toggle for cleaner saturation. suppresses even harmonics when you want warmth without changing the harmonic balance.
- auto-compensation means honest comparisons. A/B with bypass. the volume is matched, so you hear character, not loudness.
- spectral pre-gain is powerful. use the EQ nodes to target specific frequencies for saturation. boost the region you want colored.
troubleshooting
| problem | solution |
|---|---|
| "all three characters sound the same" | increase DRIVE above 6 dB. at very low drive, all three converge to nearly linear. the differences are most audible at moderate to high drive. |
| "it sounds harsh" | reduce DRIVE. try TONE negative. try TAPE character (gentlest). use MIX at 40–60% for parallel processing. |
| "i hear clicking when switching characters" | this shouldn't happen. WARM crossfades over ~10ms. if you hear clicks, try restarting the plugin. |
| "DELTA sounds like the original signal" | the signal is very clean and WARM isn't adding much. increase DRIVE to hear the harmonics in DELTA mode. |
| "CPU is too high" | WARM targets <3% at 44.1 kHz on macOS (hardware-accelerated FFT). Windows CPU may be higher. at higher sample rates, oversampling is bypassed automatically. |
| "plugin doesn't appear in DAW" | rescan plugins in your DAW. check that VST3/AU files exist in ~/Library/Audio/Plug-Ins/. |
keyboard / mouse reference
| action | control |
|---|---|
| adjust knob | click + drag vertically |
| fine adjust knob | shift + drag |
| reset knob to default | double-click knob |
| move EQ node frequency | drag horizontally |
| adjust EQ node gain | drag vertically |
| adjust EQ node Q | mouse wheel on node |
| fine adjust EQ node | shift + drag |
| reset EQ node | double-click node |
| browse presets | click < > arrows |
| toggle A/B comparison | click A/B button |
| toggle delta mode | click DELTA button |
| toggle ODD mode | click ODD button |
| switch character | click TAPE / TUBE / XFMR pills |
version history
v1.4.2 (april 7, 2026)
- refreshed visual identity: cabinet grotesk typeface, warm-tinted neutrals, redesigned arc knobs, background grain texture, spectral glow
- editable EQ values: double-click any node label to type exact frequency, gain, and Q
- improved inline controls: hover zones expanded, controls no longer disappear when moving toward them
- animated toggle button glow on ODD and DELTA buttons
- styled popup menus (preset browser, EQ routing, display options)
- smoother CPU meter display
- added stereo bus layout validation for broader DAW compatibility
v1.4.1 (april 2026)
- band limiting: LR4 crossover restricts saturation to a draggable frequency range
- BODY knob fix: now adds proportional drive boost for audible low-mid emphasis
- AUTO loudness matching: K-weighted compensation (ITU-R BS.1770) for fair A/B comparison
- redesigned EQ interaction: hover for inline enable dot and type badge (BELL/LS/HS), double-click to toggle
- soft ADAA blending eliminates crackle at signal zero crossings
- per-sample drive smoothing removes zipper artifacts
- endpoint smoothing extended to all three characters
- delta mode now correctly excludes bypassed frequency bands
- warmup HF cap reduces hiss at high drive
- 102 automated tests
v1.3.1 (march 2026)
- fixed: GUI size persistence across sessions
- fixed: bypass click artifact in Cubase and similar hosts
- added: double-click outer EQ nodes for bell/shelf toggle
- added: shelf mode in Cassette Glow, Master Tape, Vocal Silk, Sub Tape presets
- fixed: delta signal silent at Drive=0%
- fixed: delta, bypass, and stereo mode persist across preset changes
v1.2.1 (march 2026)
- shelving EQ option: bands 0 and 3 can switch from parametric bell to low/high shelf via right-click menu
- spectral display +12 dB grid line and label
- 83 automated tests (1,634 assertions)
v1.2.0 (march 2026)
- Baker ADAA (antiderivative anti-aliasing). 2nd-order ADAA using Baker's closed-form Chebyshev antiderivatives replaces 4x oversampling with 2x oversampling + ADAA. ~52 dB alias rejection at lower CPU cost.
- 79 automated tests (1,634 assertions)
v1.1.0 (february 2026)
- signal-dependent dynamic nonlinearity. Chebyshev coefficients modulated by an envelope follower that simulates analog circuit warmup. each character has distinct warmup timing: tape (slow magnetization), tube (medium bias shift), transformer (fast core saturation).
- transfer function endpoint smoothing. reduces Chebyshev T7 oscillation at domain boundaries for cleaner tape saturation at high drive.
- sample-rate-adaptive oversampling. 2x at ≤96 kHz, bypass at >96 kHz. ~50% CPU savings at high sample rates.
- Apple Accelerate vectorization. vDSP-accelerated peak detection, RMS measurement, drive scaling, and mix blending on macOS.
- block-processed IIR filters. K-weight, HF comp, tonal shaping, and tone EQ now use juce::dsp::AudioBlock for improved efficiency.
- 63 automated tests (418 assertions)
v1.0.0 (february 2026)
- 5-stage processing pipeline (STFT pre-gain, drive computer, Chebyshev waveshaper, post-processing, auto-compensation)
- 3 saturation characters with per-character asymmetric soft clippers
- 7th-order Chebyshev polynomial waveshaping via Clenshaw recurrence
- 4x oversampling (half-band polyphase IIR)
- program-dependent drive modulation (envelope follower)
- K-weighted auto-compensation (ITU-R BS.1770)
- HF compensation for oversampler rolloff
- click-free character crossfade (~10ms)
- zipper-free parameter smoothing (drive, tone, mix)
- real-time spectral display with 4 EQ nodes
- 34 factory presets
- 48 automated tests (351 assertions)
design & development: Jonas Rosbech. algorithm based on published research by Giampiccolo (DAFx 2023), La Pastina & D'Angelo (DAFx 2022), Chowdhury (DAFx 2020), Parker (DAFx 2016), Temme et al. (AES 2013), Enderby & Stables (DAFx 2017), ITU-R BS.1770-5.