WARM / documentation

KERN WARM — user manual

version 0.9.0 / harmonic saturation / $29 / no iLok

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.

use it on: vocals, drums, bass, synths, mix bus — anywhere you want analog warmth without the noise floor.

controls

WARM has 4 knobs, 4 draggable EQ nodes, and a character mode selector.

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.
DEPTH 0–100% 50% spectral pre-gain amount. controls how much the spectral shaping affects the signal before saturation.

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.

key insight: all three characters process through the same Chebyshev polynomial stage, but the soft clipper before it determines which harmonics can exist. symmetric clipping = odd harmonics only. asymmetric clipping = even harmonics unlocked.

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

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: reset node to default

presets

WARM ships with 34 factory presets organized by character and use case.

tape presets

presetuse case
Tape Gentlesubtle analog warmth
Tape Vocalvocal chain saturation
Tape Drum Busdrum bus glue
Tape Hotdriven tape — think Studer pushed hard

tube presets

presetuse case
Tube Warmclassic tube warmth with 2nd harmonic richness
Tube Vocaltube mic pre character on vocals
Tube Crunchdriven tube for guitars and synths
Tube Bassbass fattening with tube harmonics

transformer presets

presetuse case
XFMR Subtlegentle transformer color
XFMR Bassbass weight and body
XFMR Mix Busmix bus iron — console-style saturation
XFMR Heavyheavy 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.

1

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.

2

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.

3

waveshaping (4x oversampled)

the signal is upsampled 4x, then processed through the per-character soft clipper followed by 7th-order Chebyshev polynomial evaluation. 4x oversampling pushes Nyquist to 88.2 kHz — no aliasing artifacts.

4

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.

5

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.

result: harmonics are added. loudness is matched. character is real.

technical specifications

specvalue
formatsVST3, AU (AUv3), standalone
platformmacOS (Apple Silicon native)
sample rates44.1 – 192 kHz
latency~93 ms at 44.1 kHz (4096 samples, STFT stage)
CPU target< 3% at 44.1 kHz, 512-sample buffer
waveshaping order7th-order Chebyshev polynomials
oversampling4x (half-band polyphase IIR)
characters3 (tape, tube, transformer)
harmonic control7 independent coefficients per character
auto-compensationK-weighted RMS (ITU-R BS.1770)
presets34 factory presets
DRMnone. no iLok. no account. no activation.

installation

  1. download the installer from kernaudio.io
  2. copy KERN WARM.vst3 to ~/Library/Audio/Plug-Ins/VST3/
  3. copy KERN WARM.component to ~/Library/Audio/Plug-Ins/Components/
  4. open your DAW, scan for new plugins
  5. 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"

  1. select TUBE character
  2. set DRIVE to 6–8 dB
  3. keep MIX at 50–70% for parallel saturation
  4. the 2nd harmonic adds body without harshness

"my drums need more weight"

  1. select XFMR character
  2. DRIVE at 8–12 dB
  3. the low-frequency thickening at 150 Hz adds weight
  4. use DELTA to verify you're adding harmonics, not distortion

"i want subtle tape warmth on the mix bus"

  1. select TAPE character
  2. DRIVE at 3–5 dB (subtle)
  3. MIX at 40–60%
  4. TONE slightly negative for a darker, vintage feel

"my bass needs tube saturation"

  1. select TUBE character
  2. DRIVE at 10–14 dB
  3. use EQ nodes to boost the low-mid region (100–400 Hz) before saturation
  4. 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

problemsolution
"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 with 4x oversampling. at higher sample rates, CPU increases proportionally.
"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

actioncontrol
adjust knobclick + drag vertically
fine adjust knobshift + drag
reset knob to defaultdouble-click knob
move EQ node frequencydrag horizontally
adjust EQ node gaindrag vertically
adjust EQ node Qmouse wheel on node
fine adjust EQ nodeshift + drag
reset EQ nodedouble-click node
browse presetsclick < > arrows
toggle A/B comparisonclick A/B button
toggle delta modeclick DELTA button
toggle ODD modeclick ODD button
switch characterclick TAPE / TUBE / XFMR pills

version history

v0.9.0 (february 2026) — pre-release

  • 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.