Insert it on a kick track. It detects every hit, builds a convolution reverb tail from the kick itself, ducks that tail out of the way on each transient, and mixes it back underneath — the low-frequency bed that sits between kicks in techno.
The input splits in two. One branch is lowpassed at 200 Hz and rectified to track the kick — hats and percussion bleed live above that, so they cannot false-trigger. The other branch runs through a convolution, which replaces every input sample with a scaled copy of an entire impulse response. One 5 ms transient becomes a multi-second wash; four kicks a bar overlap into a continuous bed.
in ──┬─────────────────────────────────────────────────────► dry │ ├─► lowpass 200Hz ─► envelope follower ─────┐ duck key │ ▼ └─► convolution ─► drive ─► tone ─► duck ─► hpf ─► × amount ─► rumble
Exponentially decaying noise, progressively darkened by a filter whose cutoff falls as the tail
dies — which is what makes it read as a large room rather than a burst of static — plus sparse
early reflections. Nothing is sampled, so there is no asset to install and no licence attached to
the sound. It also makes LENGTH natural: a different decay is simply a different IR.
| Knob | Group | Range | |
|---|---|---|---|
| LENGTH | TAIL | 0.15 – 6 s | Tail duration. Regenerates the impulse response. |
| SPACE | TAIL | 0 – 100 | Room character, from tight and boxy to large and diffuse. |
| TONE | FILTER | 40 – 300 Hz | Lowpass cutoff — how dark the rumble sits. |
| DRIVE | FILTER | 0 – 100 % | Saturation. Adds the harmonics that keep the tail audible on speakers with no sub. |
| HPF | FILTER | 20 – 120 Hz | Highpass. Stops the rumble stacking under the kick's own fundamental. |
| DUCK | DUCK | 0 – 100 % | Sidechain depth, keyed off the detected kick. This is what makes it groove instead of drone. |
| RELEASE | DUCK | 10 – 500 ms | How fast the rumble swells back after each hit. |
| AMOUNT | OUTPUT | 0 – 100 % | How much rumble is mixed under the dry kick. |
SOLO mutes the dry kick so the rumble can be dialled in on its own. Mono rumble path and a 1 ms duck attack are fixed.
Royal Rumble.vst3 to /Library/Audio/Plug-Ins/VST3/Royal Rumble.component to /Library/Audio/Plug-Ins/Components/xattr -dr com.apple.quarantine "/Library/Audio/Plug-Ins/VST3/Royal Rumble.vst3"
Royal Rumble.vst3 to C:\Program Files\Common Files\VST3\CMake fetches JUCE automatically — nothing else to install beyond a compiler and CMake 3.22+.
git clone https://github.com/ThekareemOne/royal-rumble.git cd royal-rumble cmake -B build -DCMAKE_BUILD_TYPE=Release cmake --build build -j8
There is also an offline harness that renders a kick pattern through the
engine and measures what the rumble actually did — ducking depth, tail decay, peak level — plus
auval for AU validation on macOS.
AGPLv3. JUCE is dual-licensed AGPLv3 or commercial, and this project takes the copyleft option — which is what permits building without the JUCE splash screen. Embedded fonts (Chakra Petch, JetBrains Mono) are SIL Open Font Licence 1.1. Full detail in THIRD-PARTY.md.
VST is a trademark of Steinberg Media Technologies GmbH.