VINAIott Manual
The 3-band upward + downward compressor. Every band runs an upward stage and then a downward stage on the Three-Band Pressure Engine, with two crossover handles on a live analyzer and a two-way GR meter per band that reads the dB you hear. v1.0.0 · VST3 · AU.
01Overview
VINAIott is the multiband move behind loud electronic drops, built as one instrument. Two crossovers split the signal into LOW, MID and HIGH, and every band runs through two compressors in series around one level, its THRESH. The upward stage comes first: the further the band falls under THRESH, the more it lifts it. The downward stage then takes the band as the upward one left it and pulls back whatever rises over THRESH. Quiet detail comes up, peaks come down, and the band gets dense.
Three knobs per band set the treatment. THRESH is the level the band is held around, AMOUNT is how much of the two stages acts, and GAIN is the make-up after them. On the side strip, MIX blends the compressed bands against the dry ones, TIME sets how fast both stages move, and IN decides how hard the whole engine is hit. At the defaults, music peaking at −24 dBFS or above comes out within 2 dB of its input level, so inserting VINAIott changes the density of your mix far more than its level. Quieter material comes up more, as an upward stage should. There is no look-ahead, so latency is zero.
02The interface

- Top bar: the name, the line "3-band upward + downward", the version and a CPU readout. To the right sit the CROSSOVER and FILTER switches, INIT and BYPASS.
- Analyzer: the spectrum of what leaves the plugin, in core blue, over a faint filament of what came in. The two crossover handles stand on it with their frequency chips, and a dashed THRESH line runs across each band. A muted band darkens; a soloed band lights up while the others go dark. In silence no trace is drawn.
- Band cards: BAND 1 LOW, BAND 2 MID and BAND 3 HIGH, each with its live range in the header and the PROC light in the corner. Below come MUTE and SOLO, the two-way GR meter, then GAIN, THRESH and AMOUNT. SOLO lights the card from within, MUTE shades it, and with PROC off the knobs dim and lock.
- Side strip: IN, OUT, MIX and TIME, with writable value boxes, and SAFE CLIP at the foot.
03Knobs & buttons
Per band
Gain
Make-up for the compressed band, 0–24 dB, 0 dB by default on every band. It comes after both stages and no detector hears it, so it adds exactly its own dB to the compressed band and never changes how hard that band is compressed. It still works with AMOUNT at 0%
Thresh
The level the band is held around, in whole dB: −32 to 0 dB on LOW and HIGH (default −16 dB), −28 to 0 dB on MID (default −14 dB). Under it the upward stage lifts the band, over it the downward stage cuts, and a band sitting right on it passes at unity. One knob moves both stages
Amount
How much of the two stages acts, 0–100%, 100% by default. It scales both in dB, so 50% gives half the lift and half the cut, and at 0% the band skips the compressor. Under THRESH, turning AMOUNT up never makes the band quieter. Over THRESH, more AMOUNT means more cut
Proc
The light in the card header, on by default. Off takes the band out of the compressed sum: below MIX 100% you still hear it through the dry side, and at MIX 100% it goes silent. Its knobs dim and lock while it is off
Mute / Solo
MUTE drops the band from both sums, so it is silent at any MIX. SOLO plays only the soloed bands at any MIX, and several bands can solo at once. SOLO wins over MUTE, and a soloed band keeps its own dry, so MIX still blends it. PROC, MUTE and SOLO all ramp over 10 ms
Global
In
Gain into the engine, ±24 dB. It drives the crossover, the detectors and both stages, so in practice it sets how hard you hit the compressor. It sits on the processed path only
Out
Trim after the engine, ±24 dB, ahead of SAFE CLIP. Like IN it sits on the processed path only, so bypass stays bit-exact wherever the two are set
Mix
Dry against compressed, 0–100%, 50% by default, on a linear crossfade: at 50% each side sits at half level. The dry side is the three bands summed back, so it runs through the same crossover as the compressed side, and the blend never adds level of its own
Time
How fast both stages move, 50–200% in whole percent, with 100% at 12 o'clock and by default. It stretches attack and release together, and slower sounds cleaner. Against 100%, 200% gives about two and a half times the release and 1.6 times the attack, and 50% about a third of the release
Crossover
ANALOG or DIGITAL, DIGITAL by default. DIGITAL is a 24 dB-per-octave crossover whose three bands sum back flat at any spacing of the handles. ANALOG has the same slope and −3 dB at the split, so the bands sum with a bump of about +3 dB there. A flip crossfades the bands in 10 ms
Filter
ANALOG or DIGITAL, ANALOG by default. ANALOG lets each band's processing spill past its crossovers and sum naturally. DIGITAL keeps every processed band inside its range with 12 dB-per-octave filters set an octave outside its crossovers, for a dip of about 3 dB at the splits. The switch fades in 10 ms
Safe Clip
A brick-wall clamp at 0 dBFS on the processed output, after OUT. Off by default and bit-transparent below full scale. The compressor has no ceiling of its own, and with IN and GAIN pushed the output runs well past 0 dBFS, so the clamp stays one click away. It works on sample peaks at the host rate, and a toggle crossfades in 10 ms
Init / Bypass
INIT returns every control to its default, splits, band switches, modes and SAFE CLIP included, and leaves BYPASS as it is. Each reset is a complete gesture, so host undo and automation see it like a knob move. BYPASS crossfades to the untouched input in 10 ms
Gestures
Crossover handles
Drag a handle on the analyzer to move its split. Grab it a little off its line and it keeps that offset through the drag, so it never jumps to the pointer. With the two handles close together, the nearer one takes the click. From the host, a split also accepts typed text like "4.2 kHz", "1.2k" or "185"
Type a value
Click a value box and type. The leading number is what counts: a decimal comma reads as a point, a unit after the number is ignored, and text that does not start with a number keeps the current value, so a slip can never send MIX to 0%
Mouse wheel
One notch is one fixed step: 1 dB on GAIN, THRESH, IN and OUT, 5% on AMOUNT and MIX, 1% on TIME. Trackpad scrolling accumulates; inertia is ignored
Double-click
Double-click any knob to send it back to its default
04Meters & analyzer
The GR meter on each band card is two ladders back to back around a zero line. On the left, in blue with ▼, is what the downward stage takes. On the right, in lava with ▲, is what the upward stage adds. Each ladder has eight segments of 3 dB for a 24 dB full scale, and the segment at the edge glides with the reading. The numbers at the two ends print the true value in tenths of a dB, past 24 dB as well.
The readings are the dB you hear at the output. Each stage is measured in signal order (the upward one against the band at rest, the downward one against the band as the upward one left it) with MIX, AMOUNT, GAIN, FILTER, PROC, MUTE, SOLO and BYPASS all in the count. A band nobody hears reads 0, and the static make-up from GAIN, which is there even at rest, is left out of the gain reduction. Lift and cut add up to what the two stages do to the band's level. Each reading covers 50 ms of audio, weighted by energy, so the numbers hold steady on a sustained sound and read the same at any buffer size. When the host stops processing, the meters come to rest at 0.
The analyzer runs a 2048-point FFT on what leaves the plugin and draws it in core blue, over a faint 1 px filament of what came in. Its log axis spans the plugin's own ten octaves, so a handle sits exactly where its split is. Peaks are placed between the FFT bins by interpolation, so at 44.1 and 48 kHz a 50 Hz tone draws at 50 Hz. The dB scale on the right reads 6 dB above dBFS: a tone peaking at −16 dBFS draws at −10, and so does a THRESH line set to −16 dB. The display reads the mono sum of the two channels.
The dashed THRESH line in each band is drawn as a peak level: a tone whose peak sits on THRESH touches its line, and that tone leaves the band at unity, so its output trace stays on the line too. Read the line against the output trace: what sits under it is being lifted, and what rises over it is being cut.
05Under the hood
Signal flow
The input is cleaned first: non-finite samples become silence, and absurd values are bounded at +120 dBFS. IN drives a two-point crossover into three bands. Each band runs the upward stage, then the downward stage, both scaled by AMOUNT, then the optional FILTER containment and the GAIN make-up. The compressed bands are summed and blended by MIX against the dry sum of the same three bands, then come OUT, the optional SAFE CLIP and the bypass crossfade. There is no look-ahead anywhere in the chain, and the plugin reports zero latency.
- Upward stage: its detector follows the power of the band, and the further the band sits under THRESH, the bigger the lift, easing in over the first couple of dB and topping out at 15 dB. Below about −84 dBFS of band level the lift starts to fade, and by −96 dBFS it is gone, so the noise floor never blooms. The detector keeps running underneath, so when the music returns the stage is already where it should be.
- Downward stage: it listens to the band after the upward lift and pulls back whatever rises over THRESH, easing in over the same couple of dB. Neither stage reaches across THRESH, which is why a band sitting right on it passes at unity.
- GAIN: the make-up comes after both stages, where no detector hears it, so it adds exactly its own dB to the compressed band and never changes how hard that band is compressed.
- Speed per band: every attack and release on the LOW band is two and a half times longer than on MID and HIGH, which keeps low notes clean. TIME stretches all of them together.
- Crossover: in DIGITAL the low branch passes through an allpass matched to the upper crossover, so the three bands recombine flat at any spacing of the handles. Every filter in the engine runs in double precision. Both banks run all the time, so a flip never wakes a cold filter, and every cutoff is held under Nyquist at any host rate.
- FILTER containment: feedforward only, after the gain stages, so switching it never changes what the compressor does. Its filters run all the time, and at ANALOG their blend is simply skipped.
- Stereo link: each band reads the power of left and right together and moves both channels by the same gain, so the stereo image never wanders.
- Smoothing and ramps: GAIN, THRESH, AMOUNT, MIX and TIME glide over 10 ms, and the splits over 15 ms. IN, OUT, SAFE CLIP, BYPASS and the band switches ramp over 10 ms, and a CROSSOVER or FILTER flip crossfades over 10 ms on a smooth curve. A session restore lands at once, with no fade.
- Bypass: a 10 ms crossfade to the untouched input. The engine keeps running underneath, so the return is click-free. Fully bypassed, the plugin is bit-exact.
- Self-heal: if a filter or gain state ever goes non-finite, the engine clears itself at the end of that block, so a bad sample costs one block at most.
- Metering pipe: the analyzer and the GR meters read lock-free buffers, so the audio thread never waits on the GUI. The input tap sits before IN and the output tap after the bypass stage, so the display shows what really comes in and what really goes out.
06Measured
Measured in-house on the real binaries: headless bench on the processor and the editor, plus the installed VST3 and AU in a plugin host.
| Insert level | Within 2 dB of the input at the defaults: −0.1, +0.5 and +1.6 dB RMS on a kick, bass and hats loop peaking at −6, −12 and −24 dBFS |
| Static curve | MID band soloed, 1 kHz, MIX 100%, the rest at default: −60 dBFS comes out 8.0 dB up, −40 dBFS 4.4 dB up, a tone on THRESH at unity, 0 dBFS 4.9 dB down |
| Speed | At TIME 100% the gain covers 90% of its move in under 1 ms when the band's level jumps up 30 dB, and in about 4 ms when it drops 30 dB · about 1.3 and 9.5 ms at 200% · under 1 ms and about 1.5 ms at 50% |
| Gain | At MIX 100%, +12 dB of GAIN adds 12.000 dB, on quiet and loud material alike |
| Latency | 0 ms / 0 samples: the output starts on the input sample at 44.1, 48 and 96 kHz |
| Bypass | Bit-exact once its 10 ms fade has settled, also with IN and OUT both at +12 dB |
| AU and VST3 | Bit-identical output, at the defaults and pushed |
| Crossover, Digital | −6.02 dB exactly at the split frequency, at 44.1, 48 and 96 kHz |
| Crossover, Analog | −3.01 dB exactly at the split frequency, at 44.1, 48 and 96 kHz |
| Crossover sum | Digital: flat within 0.001 dB from 20 Hz to 20 kHz, at the default splits, one octave apart or crossed · Analog: +3.01 dB at each seam |
| Filter, Digital | −2.9 and −2.5 dB at the two splits at 44.1 and 48 kHz (−2.8 dB at the high one at 96 kHz) · up to 0.7 dB down an octave from a split |
| GR readings | Lift plus cut match the heard level change of the band within 0.01 dB on steady tones, with FILTER either way, and read the same at any buffer size |
| Buffer size | Bit-identical output at buffers of 1, 7, 64, 512 and 4096 samples |
| Upward silence floor | A −120 dBFS noise floor stays under −80 dBFS at the output with every GAIN at +24 dB and MIX at 100% · digital silence reads 0 dB of lift |
| Safe Clip | The output never passes 0 dBFS on a chain pushed past it · restored with a session, it holds from the first sample |
| Solo | Soloing one band is bit-identical to muting the other two |
| Crossed handles | A handle dragged past the other sounds the same as the ordered pair |
| Host reset | After a reset, the resume into silence is exactly silent |
| Input guard | A NaN input sample never reaches the output |
| Analyzer accuracy | At 44.1 and 48 kHz, tones drawn within 1.4 px of their frequency and 0.16 dB of their level (0.32 dB from 50 to 140 Hz at 44.1 kHz) |
07Specifications
| Type | 3-band upward + downward compressor (Three-Band Pressure Engine) |
| Bands | 3: Low · Mid · High |
| Stages | Upward, then downward, on every band, around one THRESH · up to 15 dB of lift · lift off below about −90 dBFS of band level · stereo-linked |
| Crossover | 2 movable handles, 16 Hz to 16.7 kHz (ten octaves) · defaults 185 Hz and 4.2 kHz · Digital: flat sum at any spacing · Analog: −3 dB at the split · 24 dB per octave · 10 ms crossfade on a flip |
| Filter | Analog: each band's processing spills across the splits · Digital: 12 dB per octave containment an octave outside each band's crossovers, about −3 dB at the splits |
| Per-band | Gain 0–24 dB after the compressor, default 0 dB · Thresh −32 to 0 dB (Mid −28 to 0 dB), whole dB · Amount 0–100% · Proc / Mute / Solo, 10 ms ramps |
| Global | In ±24 dB · Out ±24 dB · Mix 0–100%, linear, default 50% · Time 50–200%, default 100% · Safe Clip at 0 dBFS, default off |
| On insert | Within 2 dB of the input level at the defaults, on music peaking at −24 dBFS or above |
| Metering | Two-way GR per band (▼ cut · ▲ lift), 24 dB ladder, true reading in tenths · 2048-point output analyzer over the input · THRESH line per band |
| Latency | Zero: 0 ms / 0 samples, no look-ahead |
| Formats | VST3 · AU |
| Systems | macOS 12+ (Universal) · Windows 10+ · 64-bit |
| Version | 1.0.0 |