Build with this node

Start with a prompt in Studio, or copy it into your own coding agent.

Ask Studio

@maruaudio/dsp/voices/drum-kit-model is plain data for a ten-voice drum kit: voice ids, General MIDI notes, labels, families, choke groups, levels and pad order, shared by drum instruments, sequencers and their faces without depending on one product. It renders no audio.

Parameters

There are no setters. DRUM_KIT holds, per voice:

IdNoteFamilyChokeLevel
kick36kick—1
snare38snare—0.82
rim40snare—0.6
clap39clap—0.68
tomLow41tom—0.78
tomMid45tom—0.74
hatClosed42hathat0.5
hatOpen46hathat0.5
cymbal49cymbal—0.46
cowbell56perc—0.44

DRUM_PAD_ORDER lists the pads clap, rim, closed hat, open hat, cymbal, kick, snare, low tom, mid tom, cowbell. DRUM_STEP_COUNT is 16, the sixteenths of a 4/4 bar.

Lifecycle

None. Two lookup maps are built when the module loads. drumVoiceForNote(note) rounds the note and returns the voice or null; drumVoiceById(id) returns the voice or null; drumVoicesChokedBy(id) lists the other voices in the same choke group.

When to use it

A drum instrument, step sequencer or pad face that should agree with the others on which note is which drum and which hats choke each other.

Limits

  • drumVoicesChokedBy builds a new array on each call, and the lookups use Map; call them from control code, not from a realtime callback.
  • Ten fixed voices; the data is read-only.

Algorithm properties and proofs

No Lean 4 proof is mapped to this node.

Explore proofs alongside performance

Dependencies

None: this node imports no other node.

Dependents

No other node imports this one.

Used by

No plugin with a published composition uses this node yet.