Firmware

Dread-Bass

Loud87/100

Korg NTS1 mk2 and Microkorg 2 synth

Dread-Bass is custom firmware for the Korg microKORG 2 and Korg Nu:Tekt NTS-1 digital kit mkII, by @TwistedGenetics. Latest release v1.2.1 (October 2026).

forKorg microKORG 2,Korg Nu:Tekt NTS-1 digital kit mkII·by@TwistedGenetics

Unclaimed. Is this yours? Sign in with GitHub as @TwistedGenetics to claim it.

Downloads
0
Stars
0
Forks
0
Commits
8
Last commit
Download v1.2.1

DreadBass.mk2unit· 27 KB· +6 files

Custom license· TwistedGenetics/Dread-Bass·downloads come from the creator’s GitHub releases

8
Commits
6
Releases
8 commits and 6 releases in the last year
Activity · last 12 months

Dread Bass

A jungle / drum & bass character-bass oscillator for the Korg microKORG 2 (logue SDK 2.0).

Four engines for the dirty, percussive end of the low end — DREAD, DONK, GROWL and HOOVER — with a note-on knock, an optional pluck decay, a pitch-bending shape EG and a pure sine sub that is added after the drive, so it never gets dirty.

DREAD is the Dred Bass sound: a 303-style square note played backwards, so the resonant filter sweeps up through each note at a steady rate and the note ends at its brightest. DONK is a square wave through a very resonant filter that lands on the 5th harmonic and rings there for a moment: the classic donk. Both were tuned by measuring reference samples (a reversed dread loop and a donk one-shot): harmonic content, filter sweep and resonance were matched against them at the same pitch and timing.

It's the sibling of Rollers: Rollers does the clean sub and the Reese, Dread Bass does dread, donk and growl.

Download & install

Go to Releases and download DreadBass.mk2unit.

Needs microKORG 2 firmware 2.0.0 or later (the version that added logue SDK support).

  • KORG Sound Librarian (Korg's official app for v2.0): connect the microKORG 2 by USB, add DreadBass.mk2unit as a user oscillator and send it to the synth.
  • Or USB mass storage: hold the first option button while powering on, then copy the file into Units/Oscs/ (into a SlotN folder) on the drive that appears.

Dread Bass then appears at the end of the oscillator list as Dread. It's polyphonic, but it's built for mono / legato bass patches.

DreadMtr.mk2unit (optional, also in each Release) is the same oscillator with its CPU load and note detection shown next to MODE, e.g. DONK 21%T. The number is the CPU load (peak over the last half second; 100 % = out of time, crackles). The letters show which ways of detecting a note start the synth has used so far: E voice events, T trigger bits, N note-on, P the pitch-jump fallback, - none yet. If you see only P or -, please report it: envelopes then only restart when the pitch changes. On a microKORG 2 it shows TN: trigger bits and note-on arrive, voice events don't. Legato (for Retrig off) comes from note-on / note-off.

Each Release also has WAV renders of the starter settings below, made by the desktop tests.

Controls

PageKnobRangeWhat it does
1Timbre0–1023The mode's main tone control (see below)
1Drive0–100 %Soft clipper on the main osc, gain compensated, run at 2x rate. The sub is never driven
1ModeDREAD / DONK / GROWL / HOOVERThe engine
2Charactr0–100 %The mode's second control (see below)
2Sub0–100 %Pure sine sub level, phase-locked to the main osc
2Sub Oct-1 OCT / -2 OCTSub one or two octaves down
2Knock0–100 %Short pitched blip on note-on (~6 ms), about 2.5 octaves over the note and sweeping down
2Pluck0–100 %0 = sustain. Higher = the whole voice decays faster after each note start (0.9 s down to ~25 ms)
3EG Int-24…+48 semitonesHow far the shape EG bends the pitch. Positive = drops into the note (dread droop, donk drop, hoover dive), negative = rises into it
3EG Time1–1000 msHow long the shape EG takes to settle. In DREAD it is also the length of the reversed swell
3Retrigoff / onOn: legato notes restart the shape EG, knock and pluck. Off: legato notes only change pitch (rolling basslines). A new key after a release always restarts them
3Semi±24Transpose
3Fine±50 centsFine tune

The four modes

ModeTimbreCharactrDriveSound
DREADhow far the filter opens by the end of the sweep (about 16x the note at the default)resonanceclipper + Amiga-style crunch (sample rate down to ~10 kHz, 12 → 6 bits)Reversed 303: square wave into a resonant 24 dB low-pass whose cutoff rises at a steady rate, in octaves, from about 2x the note to the Timbre setting over EG Time, at a steady level. Set EG Time to about your note length. Pluck starts once the sweep has peaked (0 = hold bright)
DONKwhich harmonic the resonance lands on (~2nd–8th; 5th at 700)resonance: how hard it ringsclipper, on top of the saturation built into DONKSquare wave into a very resonant 24 dB low-pass, saturated between its two stages. The cutoff opens ~1.3 octaves above the ring harmonic, settles onto it within ~40 ms and rings there, then the resonance dies away over EG Time so the ring fades in place. No pitch drop: the "donk" is the resonance landing on a harmonic. Matched harmonic by harmonic to a reference donk loop
GROWLFM index (2-op, 1:1)modulator feedback (gritty, saw-ish)clipperSnarling mid-range. The shape EG also lifts the FM index on each hit. Put an LFO on Timbre in the virtual patch for talking wobbles
HOOVERPWM depth (slow PWM)detune of the two pulses (4–30 cents)clipperPulse-hoover with a dive: set EG Int +7…+12 and EG Time 200–400 ms

Virtual patch

Dread Bass adds five modulation destinations: Timbre, Drive, Charactr, Sub and Pitch (±24 semitones at full depth; small depths give fine vibrato). Each voice is modulated on its own.

Starter settings

NameModeTimbreDriveCharactrSubKnockPluckEG IntEG TimeRetrig
Dred bassDREAD700055 %40 %000300 mson
Dread rollerDREAD52030 %70 %70 %000170 mson
DonkDONK700055 %0–20 %000300 mson
Snarl FMGROWL70045 %55 %55 %00+5250 mson
Hoover diveHOOVER80020 %60 %35 %00+12300 mson

For Dred bass, set EG Time to roughly the length of your notes (300 ms suits notes of three to four 16ths at 175 BPM) so each sweep peaks as the note ends; longer notes hold bright at the top. Play Donk short and bouncy, around C#1–C#2. The unit's defaults (Charactr 55 %, EG Time 300 ms) are the measured sweet spot, so just switch Mode to DONK; keep Sub low, since the sub sine muddies the ring. EG Time sets how long it rings (shorter = tighter), Charactr how hard. Keep the synth's own filter open and its amp EG at full sustain with a short release: DREAD and DONK have their own filter and envelopes. Let Sub carry the weight.

Test checklist (by ear on the hardware)

  • Dred bass at 175 BPM: each note sweeps up and ends bright, level steady through the note
  • Each mode at C1, C2, C3: no crackle, steady level when switching MODE
  • Drive 0 → 100 % on each mode: gets dirtier, not much louder; the sub stays solid
  • Pluck at 50 %: every note fades and the next note brings it back
  • EG Int +12, EG Time 100 ms: every note drops in pitch
  • Donk on fast 16ths: every hit rings the same, no clicks or whistle
  • DreadMtr: note which letters appear next to MODE after playing a few notes
  • Retrig on / off with legato notes: on restarts the drop, off just slides
  • EG Int -24 and +48, EG Time 1 ms and 1000 ms: no clicks or blow-ups
  • Virtual patch: LFO → Timbre, Drive, Charactr, Sub, Pitch
  • 8-voice chord with DreadMtr loaded: note the load in the MODE display

CPU

The DSP runs four voices at once in NEON lanes, in short passes that fit the Cortex-A7's registers (checked in the compiled assembly: no register spills in any sample loop). Only the current mode's passes run, the knock pass is skipped when Knock is 0, and a group of four voices with no sounding voice is skipped.

On a desktop CPU, 8 voices take 7–9 µs per 64-sample buffer (1333 µs of audio); DONK and DREAD are the heaviest. The real number on the microKORG 2 is what DreadMtr shows. The unit is about 36 KB loaded (code + buffers), under the 48 KB oscillator limit.

Sound quality notes

  • Saws and pulses are polyBLEP. DREAD's crunch aliases on purpose (that's the Amiga sound); turn Drive down for a clean reversed acid.
  • Drive runs at 2x rate. Heavy drive on high notes (C4 and up at 100 %) still adds some aliasing, most in GROWL with full Timbre and Charactr. It's a bass oscillator: the low two octaves stay clean.
  • An output limiter (transparent below 0.8, soft knee to 1) only touches the loudest combinations, e.g. Sub 100 % plus a full main osc.

Building

The release files are built by GitHub Actions on every push (.github/workflows/build.yml), with Korg's own microKORG 2 toolchain.

Locally (Linux): ./build.sh downloads Korg's toolchain and the logue SDK into .deps/ and writes dist/DreadBass.mk2unit and dist/DreadMtr.mk2unit.

With Korg's Docker environment (any OS): copy core/dreadbass.h into microkorg2/, copy the microkorg2/ folder into logue-sdk/platform/microkorg2/dread-bass, set UINCDIR = (empty) in its config.mk, then from logue-sdk/docker: ./run_cmd.sh build microkorg2/dread-bass.

Desktop DSP tests (no SDK needed): ./test/run.sh builds test/render.cc with your system compiler. It checks every mode for NaN / clipping / DC, tuning, drive gain compensation, that the sub stays a pure sine under full drive, knock / pluck / retrig and legato behaviour, clicks on legato notes, zipper noise under fast modulation, 300 random settings, that the 4-lane and 1-lane engines match exactly, then plays each starter setting as a two-bar 170 BPM line (gated like the synth's amp EG) and writes it as a WAV to test/out/.

Layout

core/dreadbass.h        the DSP (one engine, 1-lane or 4-lane NEON)
microkorg2/             microKORG 2 unit: header.c (params), unit.cc (SDK glue), Makefile, config.mk
tools/mk2-meter/        DreadMtr: same unit with a CPU load meter (diagnostic)
test/                   desktop tests and WAV demos
build.sh                local build with Korg's toolchain

Notes

  • Developer ID 0x5477476E ('TwGn'), unit ID 6 (DreadMtr: 0x106).
  • Parameter order in microkorg2/header.c must match dread::Params in core/dreadbass.h.
  • The core has no SDK, table or libm dependencies, so an NTS-1 mkII build would be a new nts1mkii/ folder with a one-voice Engine<float>, like Rollers.

License

BSD 3-Clause, see LICENSE.