IronClip

IronClip

A hard clipper plug-in for VST3, CLAP and AU.

Ein Hard-Clipper-Plug-in für VST3, CLAP und AU.

Every peak above the ceiling is cut flat: symmetric hard clipping without added saturation or soft knee. It also has oversampling, delta listening, auto gain and a clip meter.

Jeder Peak über der Obergrenze wird flach abgeschnitten: symmetrisches Hard Clipping ohne zusätzliche Sättigung oder Soft Knee. Dazu kommen Oversampling, Delta-Abhören, Auto Gain und ein Clip-Meter.

VST3 · CLAP · AUmacOS & Windowsfree & open sourcekostenlos & Open SourceMIT

EditorEditor

Clip history, transfer curve and clip meter show what the clipper does. No accounts, activation, telemetry, updaters or background processes.

Clip-Verlauf, Kennlinie und Clip-Meter zeigen, was der Clipper tut. Keine Konten, keine Aktivierung, keine Telemetrie, keine Updater und keine Hintergrundprozesse.

The IronClip editor: clip history, transfer curve, clip meter and the Drive, Ceiling and Output controls
This is the real editor layout, running in your browser. Drag the knobs, double-click to reset, try Delta and Auto Gain.Das ist das echte Editor-Layout, live im Browser. Regler ziehen, Doppelklick setzt zurück, probier Delta und Auto Gain aus.
gain staging

Drive, Ceiling, Output

Push the signal into the ceiling, set where it clips, trim the result.

gain staging

Drive, Ceiling, Output

Das Signal in die Obergrenze fahren, festlegen, wo es clippt, das Ergebnis nachregeln.

oversampling

Off, 2×, 4×, 8×

Linear-phase oversampling keeps aliasing out of the audible band. Off is truly zero-latency.

oversampling

Aus, 2×, 4×, 8×

Linearphasiges Oversampling hält Aliasing aus dem hörbaren Bereich heraus. Aus bedeutet wirklich null Latenz.

delta

Delta

Listen only to what the clipper cuts, perfectly time-aligned in every oversampling mode.

delta

Delta

Nur das hören, was der Clipper abschneidet, in jedem Oversampling-Modus exakt zeitlich ausgerichtet.

auto gain

Auto gain

Matches the output loudness to the input, so comparisons do not depend on level.

auto gain

Auto Gain

Gleicht die Ausgangslautheit an den Eingang an, damit Vergleiche nicht vom Pegel abhängen.

meter

Clip meter

How far the signal exceeds the ceiling, with peak hold and a resettable maximum.

meter

Clip-Meter

Wie weit das Signal über der Obergrenze liegt, mit Peak Hold und rücksetzbarem Maximum.

bypass

Bypass

Crossfades to the latency-aligned dry signal, so switching never jumps in time or clicks.

bypass

Bypass

Blendet auf das latenzausgeglichene trockene Signal über, damit das Umschalten nie springt oder knackt.

ControlsRegler

ControlReglerRangeBereichWhat it doesWas er tut
Drive−12 to +24 dB−12 bis +24 dBGain before the clipper. More drive, more clipping.Verstärkung vor dem Clipper. Mehr Drive, mehr Clipping.
Ceiling−30 to 0 dBFS−30 bis 0 dBFSThe clipping threshold, identical for positive and negative peaks.Die Clipping-Schwelle, gleich für positive und negative Peaks.
Output−24 to +12 dB−24 bis +12 dBGain after the clipper.Verstärkung nach dem Clipper.
OversamplingOff, 2×, 4×, 8×Aus, 2×, 4×, 8×Clips at a higher rate to suppress aliasing. Adds 63, 69 or 71 samples of reported latency.Clippt mit höherer Abtastrate, um Aliasing zu unterdrücken. Fügt 63, 69 oder 71 Samples gemeldete Latenz hinzu.
Deltaon / offan / ausOutputs only the removed part of the signal.Gibt nur den entfernten Teil des Signals aus.
Auto Gainon / offan / ausBrings the output back to the input's loudness.Bringt die Ausgabe zurück auf die Lautheit des Eingangs.
Bypasson / offan / ausSmoothly crossfades to the latency-aligned dry signal.Blendet weich auf das latenzausgeglichene trockene Signal über.

Drag knobs vertically, hold Shift or Ctrl/Cmd for fine steps, double-click to reset, click a value to type it. The window resizes from 75 to 200 %.

Regler senkrecht ziehen, Shift oder Strg/Cmd halten für feine Schritte, Doppelklick zum Zurücksetzen, auf einen Wert klicken, um ihn einzutippen. Das Fenster lässt sich von 75 bis 200 % skalieren.

How it worksFunktionsweise

clamp(in × drive, −ceil, +ceil) × outParameter changes are smoothed over 20 ms. The smoothing moves the threshold, never the shape: every sample is still clipped hard.Parameteränderungen werden über 20 ms geglättet. Die Glättung verschiebt die Schwelle, nie die Form: Jedes Sample wird weiterhin hart geclippt.

Under the hoodUnter der Haube

  1. Oversampling uses cascaded linear-phase half-band FIR filters (Parks–McClellan), flat to 0.45 × the sample rate with at least 104 dB alias rejection per stage.
  2. Latency is padded to whole samples, so Bypass and Auto Gain line up sample-exactly; Delta is computed in the oversampled domain.
  3. Auto Gain compares the long-term energy of driven and clipped signal and holds its estimate during silence.
  4. Real-time safe: no allocation, locks or system calls on the audio thread; NaN and infinite input can't corrupt the filter state.
  1. Das Oversampling nutzt kaskadierte linearphasige Halbband-FIR-Filter (Parks–McClellan), flach bis 0,45 × Abtastrate mit mindestens 104 dB Alias-Unterdrückung pro Stufe.
  2. Die Latenz wird auf ganze Samples aufgefüllt, damit Bypass und Auto Gain samplegenau übereinanderliegen; Delta wird in der überabgetasteten Domäne berechnet.
  3. Auto Gain vergleicht die Langzeitenergie von angetriebenem und geclipptem Signal und hält seine Schätzung in Stille fest.
  4. Echtzeitfest: keine Allokationen, Locks oder Systemaufrufe im Audio-Thread; NaN und unendliche Eingangswerte bringen die Filter nicht durcheinander.

Aliasing, worst caseAliasing im schlimmsten Fall

6.5 kHz sine driven ~23 dB past the ceiling at 48 kHz: alias energy relative to the harmonics.

6,5-kHz-Sinus, bei 48 kHz rund 23 dB über die Obergrenze gefahren: Alias-Energie relativ zu den Obertönen.

offaus−10.9 dB
2×−20.2 dB
4×−31.1 dB
8×−44.5 dB

Cost on an Apple M4: about 1.3 ns per sample and channel with oversampling off, roughly 0.013 % of one core per instance; 11, 19 and 31 ns at 2×, 4× and 8×.

Rechenaufwand auf einem Apple M4: etwa 1,3 ns pro Sample und Kanal ohne Oversampling, rund 0,013 % eines Kerns pro Instanz; 11, 19 und 31 ns bei 2×, 4× und 8×.

InstallInstallation

The latest release always holds the newest build that passed all tests and plug-in validators. Unzip, copy the plug-ins you need, rescan in your host.

Das neueste Release enthält immer den aktuellsten Build, der alle Tests und Plug-in-Validatoren bestanden hat. Entpacken, die benötigten Plug-ins kopieren, im Host neu scannen.

FormatmacOS (per user)macOS (pro Benutzer)Windows
VST3~/Library/Audio/Plug-Ins/VST3/C:\Program Files\Common Files\VST3\
CLAP~/Library/Audio/Plug-Ins/CLAP/C:\Program Files\Common Files\CLAP\
AU~/Library/Audio/Plug-Ins/Components/—

macOS 11+ universal (Apple Silicon and Intel) and Windows 10/11 64-bit. Unsigned macOS builds are blocked by Gatekeeper until the quarantine flag is removed:

macOS 11+ Universal (Apple Silicon und Intel) und Windows 10/11 64 Bit. Unsignierte macOS-Builds blockiert Gatekeeper, bis das Quarantäne-Flag entfernt ist:

terminal
$ xattr -dr com.apple.quarantine ~/Library/Audio/Plug-Ins/VST3/IronClip.vst3
$ xattr -dr com.apple.quarantine ~/Library/Audio/Plug-Ins/CLAP/IronClip.clap
$ xattr -dr com.apple.quarantine ~/Library/Audio/Plug-Ins/Components/IronClip.component

Build from sourceAus dem Quellcode bauen

CMake 3.25+, Git and Bash; Xcode or the Command Line Tools on macOS, Visual Studio 2022 on Windows. Built with iPlug2 and Skia.

CMake 3.25+, Git und Bash; unter macOS Xcode oder die Command Line Tools, unter Windows Visual Studio 2022. Gebaut mit iPlug2 und Skia.

cmake
$ git clone --recurse-submodules https://github.com/BTFLV/IronClip.git
$ cd IronClip
$ scripts/bootstrap.sh
$ cmake -S . -B build -G Ninja
$ cmake --build build --config Release
# DSP tests and validators
$ ctest --test-dir build --output-on-failure

IronClip on GitHubIronClip auf GitHub