INVISIBLE ARTFORMS

DrumKing — 64-pad sample drum machine

The 64-pad sample drum machine and its factory kits

DrumKing is a TheRaK rack instrument: an 8x8 grid of 64 pads, each playing a sample with its own tuning, envelope, filter, two playback effects, a second layer and modulation, in the spirit of Ableton's Drum Rack and Drum Sampler. An STPR-1 in Drum Mode sequences it: one lane per pad, many hits per step, per-hit velocity, probability and ratchets (see Drum Mode in TheRaK). DrumKing lives inside TheRaK only in this update.

Pitches in this guide use scientific pitch: MIDI 60 is C4 and A4 is 440 Hz, so C1 is MIDI 24 (32.70 Hz). Pad notes are given as MIDI numbers; pad 1 plays note 36, the General MIDI kick. The DrumKing card (the grid's bank labels, the pad editor, the pad table, the Kit Root stepper) and the STPR-1 drum lanes name notes the way Ableton does, with the MIDI number beside the name: note 36 is C1 (36), so note 60 reads C3.

Quick start

#
  1. Open TheRaK (Tools > DAWntless > TheRaK) and choose + Add Device > INSTRUMENT + SEQUENCER > DrumKing + STPR-1 Drum. The console command DrumKing.Open does the same in one step: it opens TheRaK and, when the rack has no DrumKing yet, adds a DrumKing with an STPR-1 (one Undo step). With the device rack turned off, DrumKing.Open changes nothing and says why.
  2. The new DrumKing starts with its own copy of the Engine 808 kit, and its STPR-1 plays factory drum pattern A1 (four on the floor).
  3. Press Play jam. Unfold the DrumKing card and click pads to hear them; unfold the STPR-1 card to edit the pattern.
  4. Choose another kit with the kit browser in the card header (the arrows and the kit name). The factory rack DA_Rack_BloomBeat (DAWntless Content > Examples > Rack) has a DrumKing chain ready to play: STPR-1 Drum → DrumKing (Bloom Studio) → GLTCH.

Layout and note map

#

Pad p (1-64) plays MIDI note Kit Root + p − 1. Kit Root is 36 by default, so the pads play notes 36-99; you can set it from 0 to 64.

  • Banks (the default layout): four 4x4 quadrants. A = notes 36-51 bottom-left, B = 52-67 bottom-right, C = 68-83 top-left, D = 84-99 top-right. Inside a quadrant the lowest note is bottom-left, filling rows left to right, as in a drum rack.
  • Rows: eight rows of eight consecutive notes, bottom to top.

Notes outside the 64 pads are ignored (and counted). A note-on with velocity 0 is a note-off. The kit's velocity curve bends every incoming velocity first: Linear, Soft (quiet hits louder), Hard (quiet hits quieter) or Fixed (every hit at the kit's fixed velocity).

Pads

#

The grid paints every pad with its colour stripe, a two-line name, its choke group, mute and solo toggles when you point at it, a flash when it plays and an outline when it is selected. Empty pads are dark; a pad whose sample did not load shows Missing sample and its path.

  • Click a pad to hear it and select it. The height of the click sets the velocity (40 at the bottom, 127 at the top; Shift plays 127). Ctrl-click toggles a pad in the selection and Shift-click extends it; Space plays the selected pad and the arrow keys move the selection. Auditions go through the powered chain, so they sound while the rack is stopped or playing.

  • Drag a pad onto another to swap them. When the STPR-1 has Lanes follow sounds on (the default), its lanes are swapped in every drum pattern in the same Undo step, so the beat keeps its sounds.

  • Ctrl-drag copies a pad over another; Alt-drag puts the dragged pad's sample on the target's Layer B, keeping the target's other settings.

  • Drop from the Content Browser:

    DropResult
    A SoundWave onto an empty padCreates a cell named after the wave
    A SoundWave onto a filled padReplaces Sample A and keeps every other setting
    Shift + a SoundWaveSets the pad's Layer B
    Several SoundWavesFill the pads upward from the target
    A DrumKing kitLoads a copy of it, after you confirm
    Anything elseRefused: "DrumKing plays SoundWaves only"

    A wave longer than 10 seconds is accepted with a warning; DrumKing plays at most the first 30 seconds of a wave.

Every gesture is one Undo step. With several pads selected, a knob drag moves all of them by the same amount in one Undo step.

The pad editor

#

Below the grid, the selected pad's settings are grouped in four tabs; the folded pad table lists every pad with its note, name, sample, choke group, mute, solo, volume and pan.

TabControls
SAMPLEThe waveform (drawn from the decoded samples, so it matches what plays) with Start and Length handles, Reverse, the playhead of the pad's newest voice, ◀︎ ▶︎ to try the next or previous wave of the same folder while keeping the settings, gain and tuning (semitones and cents), up to three variations, and Layer B
ENV/FILTERThe amp envelope (attack, hold or hold forever, decay, linear or exponential), Trigger or Gate mode, Burst; the filter with its own envelope
FXTwo playback-effect slots: type, knobs A and B, and an XY pad that moves A and B together
MOD/OUTTwo modulation slots; velocity-to-volume, pan, volume, choke group and max voices

The header row above the grid holds the kit's volume and tune, the velocity curve, voices (8-64 sounding at once), New, Save and Save As, and the LOADING and MISSED HITS badges.

Cell reference

#
GroupSettings (range, default)
IdentityName (up to 24 characters; the default lane name in STPR-1 Drum Mode), colour, mute, solo
Sample ASoundWave; Start and Length (0-100 % of the sample); Reverse; Gain −48..+24 dB; Transpose −48..+48 semitones; Fine ±100 cents
VariationsUp to 3 more waves sharing Sample A's region, gain and tuning; Off, Random, Random no repeat or Cycle
Layer BOn/off; its own sample, region, gain and tuning; Delay 0-200 ms; Pan offset ±1; Decay scale 0.1-4
EnvelopeTrigger (ignores note-off) or Gate (the note-off starts the decay); Attack 0-500 ms; Hold 0-10000 ms or forever; Decay 1-10000 ms (200); linear or exponential; Burst 1-8 hits, 1-50 ms apart, each but the last decaying over 1-50 ms
FilterOff, low-pass 12/24, high-pass 12/24, band-pass, peak, notch; 20 Hz-20 kHz; resonance 0-1; peak gain ±24 dB; envelope ±96 semitones over 1-10000 ms
Playback FXTwo slots (see below)
ModulationTwo slots: Velocity, Random (per hit), Envelope or KeyTrack (the variation played) onto Pitch (±24 st), Filter (±48 st), Volume (±24 dB), Pan, Start or Decay (x¼..x4), amount ±1
OutputVelocity to volume 0-1 (0.6: the level follows (velocity/127)^(2·amount)); Pan ±1; Volume −60..+12 dB; Choke group 0-16 (0 = none); Max voices 1-8 (4)

Kit settings: name, volume (−60..+12 dB), tune (±12 semitones), Kit Root, velocity curve and fixed velocity, voices, choke fade (1-50 ms, 4), layout and the random seed.

Playback effects

#
EffectABWhat it does
PitchEnvStart offset ±48 stDecay msStarts the pitch A semitones away and glides back exponentially (1 % left after B)
LoopLoop length msCrossfade %Loops the first A ms of the region with an equal-power crossfade, until the envelope ends
StretchFactor 0.25-4Grain msPlays the region A times as long at the same pitch (two overlapping grains)
PunchAmount 0-1Emphasis msBoosts the transient (up to +12 dB) and releases over B
EightBitBits 1-16Rate HzSample-and-hold at B Hz, then quantization to A bits (fractional bits blend)
FMRatio 0.25-16Index 0-1A sine at A times the note's pitch modulates the playback speed
RingModFrequency HzMix 0-1Ring modulation with a sine
SubOscLevel 0-1Octave −1 or −2Adds a sine one or two octaves below the note, following the amp envelope
NoiseLevel 0-1Colour 0-1Adds band-passed noise (dark to bright), following the amp envelope
DriveAmount 0-1Tone 0-1Saturation with level compensation, then a tone low-pass
CombFrequency 40-20000 HzFeedback 0-0.95A tuned feedback comb (metallic, pipe-like), damped above 6 kHz

Each voice runs: the sample reader (with PitchEnv, FM, Loop and Stretch) → SubOsc and Noise → the other effects in slot order → the filter → the amp envelope and velocity → pan → volume → the kit's volume. SubOsc and FM follow the pad's pitch, which the factory kits measured; a pad you fill yourself assumes middle C (261.6 Hz) for them.

Layer B, variations and bursts

#
  • Layer B plays a second sample with every hit of the pad: it starts Delay ms after Sample A (sample-accurate), sits at the pad's pan plus Pan offset, and decays over the pad's decay times Decay scale. It shares the pad's filter and effects (SubOsc and Noise excepted) and stops, chokes and gets stolen with Sample A.
  • Variations alternate Sample A with up to three other waves: Cycle goes A, 1, 2, 3, A...; Random picks any; Random no repeat never plays the same one twice in a row. Random choices follow the kit's seed and restart whenever the transport starts or jumps, so the jam from Play and a printed track from its start choose the same waves.
  • Burst retriggers the envelope 1-8 times, the given milliseconds apart, from the start of the sample each time; every hit but the last decays over the burst decay, the last over the pad's decay. That is how the claps are built.

Choke groups and voices

#
  • A hit on a pad in choke group n fades out every other pad of group n over the kit's choke fade (4 ms). Open and closed hats share a group so the closed hat cuts the open one. A muted pad neither sounds nor chokes.
  • Max voices limits how many hits of one pad ring at once; the oldest one is cut (quickly faded) for a new hit. At 1 a pad chokes itself.
  • Voices (kit) limits how many voices sound at once over the whole kit: a new hit takes a released voice first, then the quietest, then the oldest, which fades out over a few milliseconds instead of clicking.
  • A pad re-hit on the same step is never lost: the STPR-1 always sends the note-off first.

Edits while playing

#

Volume, pan, filter frequency and resonance, and mute follow your edits while a pad rings (smoothed over 10 ms, without clicks), as does the kit volume. Every other setting (tuning, envelope, effects, samples) applies from the next hit, so a ringing crash keeps its sound when you edit it. Loading another kit or replacing a sample never cuts the sounds that are playing.

Kits

#

A DrumKing always plays its own copy of a kit. Choosing a kit in the card header, dropping one on the grid, or Reset in the card's [...] menu (back to Engine 808) copies it into the device: the kit asset itself never changes, and rack edits never reach it. New empties the kit. Save writes a kit you saved before back to its asset; Save As (and Save preset... in the card's [...] menu) stores the device's kit as a new asset under /Game/DAWntless/DrumKing/Kits. A rack never writes plugin content. The kit browser lists the factory kits (DAWntless Content > Examples > DrumKing > Kits) and then your kits in /Game/DAWntless/DrumKing/Kits.

Factory kits

#

Every factory kit uses only sounds that ship with Unreal Engine and its Harmonix plugin; drum sounds those collections lack are shaped from them with the pad effects. Pads 1-16 of the seven drum kits follow General MIDI (36 kick, 38 snare, 42 closed hat, 46 open hat...), so the factory drum patterns play every one of them; Mallets & Plucks is tonal.

KitSourcesCharacterCooks
Bloom StudioHarmonix Bloom test samples, engine noise and pingAn acoustic-electronic studio kit; the snare alternates three takesWhile /Harmonix/Tests ships (see Cooking)
Engine 808WhiteNoise and 1kSineTonePing onlyAn 808-style kit built entirely from a sine ping and noise; the default kit of a new DrumKingEverywhere
Trap BoomHarmonix Bloom test samples, engine noiseTrap drums; pads 17-32 are a chromatic 808 bass (notes 52-67 play C1 to D#2, mono)While /Harmonix/Tests ships
UI MinimalVR editor and editor UI sounds, engine noiseClicks, shutters and blips as a minimal kitOnly without "Exclude editor content when cooking"
Dusty KeysHarmonix Bloom test samples, engine sounds, Harmonix EPianoLo-fi drums with bit reduction and electric-piano stabs; pads 17-32 play the EPiano chromatically from C3 to D#4 (MIDI 48-63)While /Harmonix/Tests ships
WarehouseHarmonix Bloom test samples, engine soundsIndustrial and metallic: combs, ring modulation, driveWhile /Harmonix/Tests ships
TransitionsHarmonix Bloom test samples, engine soundsRisers, falls, whooshes, impacts and fills (the risers sustain while held)While /Harmonix/Tests ships
Mallets & PlucksHarmonix example instruments onlyTonal in all four banks: pizzicato strings (bank A, C3-D#4), vibraphone (B, C4-D#5), upright bass (C, C2-D#3), acoustic and electric guitar and piano (D)Everywhere

Pads 1-16 of the drum kits:

KitNotes 36-51
Bloom Studio36 Kick · 37 Rim · 38 Snare · 39 Clap · 40 Snare 2 · 41 Low Tom · 42 Closed Hat · 43 Mid Tom · 44 Pedal Hat · 45 High Tom · 46 Open Hat · 47 Cowbell · 48 Shaker · 49 Crash · 50 Ride · 51 Fill
Engine 80836 808 Kick · 37 Rim · 38 Snare · 39 Clap · 40 Snare 2 · 41 Low Tom · 42 Closed Hat · 43 Mid Tom · 44 Pedal Hat · 45 High Tom · 46 Open Hat · 47 Cowbell · 48 Clave · 49 Crash · 50 Maracas · 51 Ride
Trap Boom36 808 · 37 Kick · 38 Snare · 39 Clap · 40 Rim · 41 808 Tom Lo · 42 Closed Hat · 43 808 Tom Mid · 44 Hat Roll · 45 808 Tom Hi · 46 Open Hat · 47 Perc · 48 Riser · 49 Crash · 50 Rev Crash · 51 Snare Roll
UI Minimal36 Kick · 37 Rim · 38 Snare · 39 Clap · 40 Snap · 41 Low Tom · 42 Closed Hat · 43 Mid Tom · 44 Shaker · 45 High Tom · 46 Open Hat · 47 Blip · 48 Zap · 49 Crash · 50 Knock · 51 Sweep
Dusty Keys36 Kick · 37 Rim · 38 Snare · 39 Clap · 40 Ghost · 41 Tom Lo · 42 Closed Hat · 43 Tom Mid · 44 Pedal Hat · 45 Tom Hi · 46 Open Hat · 47 Vinyl Tick · 48 Stab C5 · 49 Stab F5 · 50 Stab G5 · 51 Stab Bb5
Warehouse36 Kick · 37 Metal Tick · 38 Snare · 39 Clap · 40 Clang · 41 Pipe Lo · 42 Closed Hat · 43 Pipe Mid · 44 Chain · 45 Pipe Hi · 46 Open Hat · 47 Anvil · 48 Hammer · 49 Crash · 50 Steam · 51 Rev Metal
Transitions36 Impact · 37 Big Riser · 38 Quick Rise · 39 Noise Riser 1 · 40 Noise Riser 2 · 41 Noise Fall · 42 Whoosh Fall · 43 Whoosh Rise · 44 Opening Whoosh · 45 Reverse Crash · 46 Crash Suck · 47 Fill 1 · 48 Fill 2 · 49 Fill 3 · 50 Filter Sweep · 51 Laser Drop

Tuning and level. The tonal pads were tuned by measuring each sample's pitch: every ping-based drum, the Trap Boom 808s, the Dusty Keys EPiano and all of Mallets & Plucks play within 10 cents of their target pitch, and pads that share a sample (the Trap Boom 808 bass, for example) step by exact semitones. Every factory pad was then levelled so that its loudest moment at velocity 127 peaks at −6 dBFS; a pad with variations is levelled on its loudest one, so its other takes play a little softer (the Bloom Studio snare's by about 5 dB). The level differences a kit's design suggests (a ghost snare, a soft pedal hat) therefore come from the pattern's velocities rather than from the pad volumes; turn a pad down in your own copy if you prefer.

Sample provenance

#

Every factory sample, by kit and folder:

KitFolderSamples
Bloom Studio/Harmonix/Tests/HarmonixMetasound/FusionSamplerNode/Samples/opening_kick_long, Bloom_sn1b, Bloom_sn1, Bloom_sn1a, Bloom_sn2, drop_kick_01, Bloom_crash, fill_fx_01
/Engine/EngineSounds/WhiteNoise, 1kSineTonePing
Engine 808/Engine/EngineSounds/1kSineTonePing, WhiteNoise
Trap Boom/Harmonix/Tests/HarmonixMetasound/FusionSamplerNode/Samples/boom, opening_kick_short, Bloom_sn1a, Bloom_sn2, Bloom_sn1b, fill_fx_03, Bloom_quick_rise, Bloom_crash, drop_crash_reverse, Bloom_sn1
/Engine/EngineSounds/WhiteNoise
UI Minimal/Engine/VREditor/Sounds/UI/Object_PickUp, Camera_Shutter, Click_on_Button, Flashlight_Switch, Drop_Item_From_ContentBrowser, Selection_Changes, Foliage_Placed, Gizmo_Handle_Clicked, Dockable_Window_Close, Laser_Push, Object_Snaps_To_Grid
/Engine/VREditor/Sounds/VR_click2, VR_click3, VR_confirm, VR_shep_scale_up_01
/Engine/EngineSounds/WhiteNoise
/Engine/EditorSounds/Notifications/CompileSuccess
Dusty Keys/Harmonix/Tests/HarmonixMetasound/FusionSamplerNode/Samples/drop_kick_01, Bloom_sn1b, Bloom_sn1, Bloom_sn2, Bloom_sn1a, opening_kick_long
/Engine/EngineSounds/WhiteNoise, 1kSineTonePing
/Harmonix/Examples/Samples/EPiano/Mk1St_Revd_L07_48 to Mk1St_Revd_L07_63 (16 waves), Mk1St_Revd_L07_65, _67, _70, _72, _74, _77
Warehouse/Harmonix/Tests/HarmonixMetasound/FusionSamplerNode/Samples/opening_kick_long, Bloom_sn1b, Bloom_sn2, Bloom_crash, drop_kick_01, opening_kick_short, drop_crash_reverse
/Engine/EngineSounds/WhiteNoise, 1kSineTonePing
Transitions/Harmonix/Tests/HarmonixMetasound/FusionSamplerNode/Samples/boom, Bloom_big_riser, Bloom_quick_rise, white_noise_riser_-001, white_noise_riser_-004, white_noise_fall, ocean_whooshCfall, ocean_whooshCrise_1bar, ocean_whooshopening_whoosh, drop_crash_reverse, Bloom_crash, fill_fx_01, fill_fx_02, fill_fx_03
/Engine/EngineSounds/WhiteNoise, 1kSineTonePing
Mallets & Plucks/Harmonix/Examples/Samples/StringsPizzicato/pizstrings_48_c2, pizstrings_51_eb2, pizstrings_54_gb2, pizstrings_57_a2, pizstrings_60_c3, pizstrings_63_eb3
/Harmonix/Examples/Samples/Vibraphone/Vibes_60, Vibes_63, Vibes_66, Vibes_69, Vibes_72, Vibes_75
/Harmonix/Examples/Samples/UprightBass/UprightBass_36, UprightBass_39, UprightBass_42, UprightBass_45, UprightBass_48, UprightBass_51
/Harmonix/Examples/Samples/AGuitar/MX_PlayableInstrument_AGuitar_48_C3, _53_F3, _58_Bb3, _63_Eb3, _68_Ab3, _73_Db3
/Harmonix/Examples/Samples/EGuitar/MX_PlayableInstrument_EGuitar_48_C3, _53_F3, _58_Bb3, _63_Eb4, _68_Ab4, _73_Db4
/Harmonix/Examples/Samples/Piano/PianoDarkMono_060_C, PianoDarkMono_064_E, PianoDarkMono_068_Ab, PianoDarkMono_072_C

Sample names and roots. The pitch of a Harmonix example sample is the MIDI number in its name (the first number: 63 in AGuitar_63_Eb3, 60 in PianoDarkMono_060_C), confirmed by measurement. Several of the note names that follow disagree with that number and are ignored: AGuitar_63_Eb3, AGuitar_68_Ab3 and AGuitar_73_Db3 are really E♭4, A♭4 and D♭5, and EGuitar_73_Db4 is D♭5; the pizzicato strings name MIDI 60 "c3" (the C3 = 60 convention). pizstrings_48_a1 is not used because its name contradicts its pitch. The vibraphone samples sound one octave above their names (Vibes_60 plays C5), so the Mallets & Plucks vibraphone pads play them an octave down to reach C4-D#5.

Loading and missed hits

#
  • DrumKing decodes a kit's samples when its chain powers up (when TheRaK shows the rack, or when a jam, the arrangement or PIE starts it), never while a level or rack loads. Each sample is decoded once and shared by every pad, kit and chain that plays it.
  • While samples decode, the card shows LOADING n/m. Play jam waits up to 2 seconds for them. The arrangement and PIE never wait: a hit whose sample is still decoding starts up to 20 ms late, and a later one is skipped and counted under MISSED HITS (and in the log). Missed hits only happen in the first moments after a chain powers.
  • A TheRaK Performer playing the rack in a game also waits up to 2 seconds for the samples before its patterns start, without holding up the game (see TheRaK Performer (gameplay)).
  • The first time on a new machine. In the editor, the first power of a kit also fetches its compressed samples from the derived data cache, or builds them there, on the editor's main thread. That can take a noticeable moment once per machine and engine version for the larger kits (Mallets & Plucks holds about 17 MiB of decoded audio and Transitions about 12 MiB; all eight factory kits together stay under 40 MiB); later powers are immediate.
  • A pad whose sample failed to decode, or whose wave no longer exists, is silent and shows Missing sample with the path. It is not counted as a missed hit.

Live MIDI, focus and print

#
  • DrumKing takes MIDI focus like any rack instrument: note Kit Root + p − 1 plays pad p, while the rack is stopped too.
  • The card's (o) bypass silences DrumKing; its STPR-1 keeps running in time.
  • Print... writes a DrumKing chain's drum pattern as MIDI notes (see Drum Mode in TheRaK); the printed track owns a snapshot of the chain, kit included, and plays it sample-accurately in the arrangement and in PIE.
  • A new Kit Root moves the STPR-1's notes with it at once: the pattern keeps playing the same pads.

Cooking

#
  • A rack, or a printed track, holds its DrumKing's own copy of the kit, which references its SoundWaves directly; cooking takes them along. No rack depends on the kit assets themselves.
  • /Harmonix/Tests may change between engine versions. Bloom Studio, Trap Boom, Dusty Keys, Warehouse and Transitions use the Harmonix plugin's test samples, which Epic can change or remove in another engine version. If a wave disappears, its pads show Missing sample and the path, the kit still loads, and the rest of the kit plays.
  • UI Minimal uses editor content. Its VR editor and editor UI sounds (/Engine/VREditor, /Engine/EditorSounds) are left out of a cooked game when Project Settings > Packaging > Exclude editor content when cooking is on: those pads are silent in the game. With that setting on, Validate Assets warns about the kit asset and about every device rack whose DrumKing uses such a kit, and a DrumKing whose waves did not load shows Missing sample for those pads. Load another kit, or turn the setting off, for a packaged game.
  • Engine 808 and Mallets & Plucks cook everywhere: they use only /Engine/EngineSounds and the Harmonix example samples. A new DrumKing starts with Engine 808 for that reason.

Performance

#

DrumKing has a pool of 64 voices per chain, of which the kit's Voices (32 by default) may sound at once. A DrumKing with 32 voices sounding uses at most about 300 µs per audio block on the development machine; an idle one costs almost nothing. The card and the chain strip show the chain's CPU time. The decoded samples are 16-bit and shared across the editor (see Loading and missed hits).

Limits of this update

#
  • DrumKing lives inside TheRaK only; a standalone kit editor comes later. A MetaSound that uses the DrumKing node outside a TheRaK chain is silent. In a game, DrumKing plays inside a saved rack: through the TheRaK Performer component or a printed track.
  • Tempo follow (Stretch or Resample to a source tempo) is stored with each pad but plays as off in this update; no factory kit uses it.
  • DrumKing plays at most the first 30 seconds of a wave.