A hardcore industrial drum synthesizer LV2 plugin with 11 voices inspired by the TR-909 but pushed into aggressive territory. Designed for industrial, EBM, and harsh electronic music.
- 11 Synthesized Drum Voices (not samples!)
- 43 Parameters with X11/Cairo GUI
- Velocity Sensitivity on kick, snare, and toms
- Hi-Hat Choke Group (closed kills open)
- Master FX Chain: Bit Crusher, Distortion, Reverb
- Stereo Output with fixed per-voice placement across the panorama
- MIDI Channel Omni (responds to all channels)
| MIDI Note | Note Name | Drum Voice | Velocity Sensitive |
|---|---|---|---|
| 36 | C2 | Kick | Yes |
| 39 | Eb2 | Clap | No (fixed level) |
| 40 | E2 | Snare | Yes |
| 41 | F2 | Crash | No (fixed level) |
| 42 | F#2 | Closed Hi-Hat | No (fixed level) |
| 45 | A2 | Lo Tom | Yes |
| 46 | A#2 | Open Hi-Hat | No (fixed level) |
| 50 | D3 | Hi Tom | Yes |
| 51 | Eb3 | Bash (Metal) | Yes |
| 52 | E3 | Cowbell | Yes |
| 53 | F3 | Clave | Yes |
Note: When Closed Hi-Hat (42) is triggered, it immediately silences Open Hi-Hat (46) for realistic behavior.
- Pitch: Starting frequency 60-250 Hz (exponential pitch envelope sweep)
- Decay: Envelope decay time 50-1500ms
- Drive: Tanh saturation 1.0-10× (adds harmonics)
- Punch: High-frequency click enhancement 0-100%
- Level: Per-voice output gain
Synthesis: Pitch envelope → Sine oscillator → Distortion → HPF noise burst → DC blocker
- Tone: Body/shell balance with resonator retuning and upper-mid crack emphasis
- Snap: Noise level + HPF cutoff 700Hz-6.5kHz
- Level: Per-voice output gain
Synthesis: Dual body/shell resonators + filtered noise burst + short crack resonator
- Density: Impulse count (3-7) + spacing tightness (25-10ms) + burst length (3-7ms)
- Tone: Bandpass center frequency 1000Hz-4500Hz + Q factor (4-8)
- Level: Per-voice output gain
Synthesis: Multi-impulse noise bursts → Resonant bandpass filter (Q=4-8) → Envelope
- Tom 1 Pitch/Decay/Level: Lo tom 60-150Hz, 80-800ms
- Tom 2 Pitch/Decay/Level: Hi tom 150-400Hz, 80-800ms
Synthesis: Pitch envelope → mixed sine/triangle body → resonant knock transient → soft clipping
- Closed Brightness/Decay/Level: Brightness lift 5.5-14.5kHz, 50-200ms
- Open Brightness/Decay/Level: Brightness lift 5.5-14.5kHz, 200-1200ms
Synthesis: 6× inharmonic square wave oscillators → metallic cross-ring mix → noise/sizzle bands → saturation
- Brightness: Bandpass center shift 1.5kHz-10kHz
- Decay: Envelope decay 300-2500ms
- Level: Per-voice output gain
Synthesis: White noise → 3× bandpass cascade → Soft clipping
- Tone: Dual oscillator pitch 380-1400 Hz
- Decay: Envelope decay 50-1000 ms
- Level: Per-voice output gain
Synthesis: Dual square/sine oscillators → bandpass → saturation
- Tone: Resonant click pitch 900-4200 Hz
- Decay: Envelope decay 20-400 ms
- Level: Per-voice output gain
Synthesis: Noise burst → resonant bandpass → envelope
- Size: Base plate/pipe frequency (180-1200 Hz)
- Spread: Inharmonic overtone spread for clang and beating
- Decay: Ring-out time 120-1600 ms
- Drive: Per-voice tanh saturation 1-10×
- Noise: Strike noise burst level
- Edge: Highpass lift 800-8000 Hz for metallic bite
- Level: Per-voice output gain
Synthesis: Dual detuned sine/ring-mod core → highpass strike + noise burst → dual bandpass resonators → tanh saturation
- Bit Crush: Bit depth reduction 0=off, 1=2-bit (lo-fi destruction)
- Drive: Master distortion 1.0-5.0× tanh saturation
- Reverb: Schroeder reverb level 0-60% (fixed room size)
- Gain: Master output level 0-100%
MIDI Note → Voice Synthesis → Stereo Voice Panner
↓
Bit Crusher (dual mono master bus)
↓
Master Distortion (dual mono tanh)
↓
Reverb (left/right tanks)
↓
DC Blocker (per channel, R=0.999)
↓
Master Gain
↓
Audio Out L/R
cd lv2/drumkit
cmake -S . -B build
cmake --build build
cmake --install build --prefix ~/.lv2Verify installation:
lv2ls | grep drumkit
lv2info https://danja.github.io/flues/plugins/drumkit- Load "Flues Drumkit" as an instrument track
- Send MIDI notes in the range C2-D3 (notes 36-50, with B2/47 triggering Bash)
- Adjust parameters via the GUI or DAW automation
- Tip: Use MIDI velocity on kick/snare/toms for dynamics
Aggressive Kick:
- Pitch: 0.2-0.4 (60-100 Hz starting point)
- Decay: 0.3-0.5 (medium decay)
- Drive: 0.5-0.8 (heavy distortion)
- Punch: 0.3-0.5 (add click attack)
Metallic Snare:
- Tone: 0.7-0.9 (emphasize shell resonator, high Q)
- Snap: 0.6-0.8 (bright, cutting snap)
Snappy Clap:
- Density: 0.7-0.9 (7 impulses, tight spacing, longer bursts)
- Tone: 0.5-0.8 (bright, cutting, high Q resonance)
Bash Metal Hits:
- Size: 0.3-0.5 (mid-sized plate), Spread: 0.6-0.9 for harsh beating
- Drive: 0.6-0.8, Noise: 0.6-0.8, Edge: 0.7-1.0 for serrated attack
Harsh Hi-Hats:
- Brightness: 0.7-1.0 (8-12kHz, very bright)
- Decay: Adjust per pattern (short for techno, long for ambient)
Master Processing:
- Bit Crush: 0.2-0.4 for subtle grit, 0.7+ for lo-fi destruction
- Drive: 0.3-0.5 for cohesive saturation
- Reverb: 0.1-0.3 for industrial ambience
- Hi-Hat Choke: Play closed HH to cut off open HH naturally
- Velocity Expression: Use MIDI velocity on kick/snare/toms for dynamics
- Layering: Combine multiple voices (e.g., kick + clap) for hybrid sounds
- Automation: Automate Drive and Bit Crush for evolving textures
- Sample Rate: 48kHz (native)
- Latency: Zero (real-time synthesis)
- Polyphony: 11 voices (one per drum, monophonic)
- CPU Usage: ~5-8% (single core, all voices active)
- Output Level: Calibrated to ~-6dB peak with all drums
DSP Modules (7 total):
- NoiseGenerator.hpp - LCG white noise
- ADEnvelope.hpp - Attack/decay envelope
- PitchEnvelope.hpp - Exponential pitch sweep
- BiquadFilter.hpp - Bandpass/highpass filtering
- Distortion.hpp - Tanh soft clipping
- Bitcrusher.hpp - Bit depth reduction
- DCBlocker.hpp - DC offset removal
Drum Voices (7 types, 9 instances):
- KickVoice.hpp - 4 parameters
- SnareVoice.hpp - 2 parameters
- ClapVoice.hpp - 2 parameters
- TomVoice.hpp - 2 parameters (shared between lo/hi)
- HiHatVoice.hpp - 2 parameters (shared between closed/open)
- CrashVoice.hpp - 2 parameters
- BashVoice.hpp - 6 parameters
UI: X11/Cairo with 28 rotary knobs organized in 6 rows by function
- Inspired by Roland TR-909 (1984)
- Industrial sound design from NIN, Ministry, Front 242
- Physical modeling techniques from Karplus-Strong and resonant synthesis
MIT License - Part of the Flues synthesis project
Danny Ayers - https://danja.github.io/flues/