@libraz/libcantus - v1.1.0
    Preparing search index...

    Type Alias PercussionProfile

    PercussionProfile: InstrumentProfileCommon & {
        kind: "percussion";
        limbs: readonly Limb[];
        reach: Readonly<Record<number, readonly Limb[]>>;
        overdub?: readonly number[];
    }

    A percussion setup, described by the voices within reach of each limb.

    A kit's constraint is not range but limbs: a voice no limb can reach is not on the instrument, and two voices needing the same limb at the same instant cannot both sound.

    Type Declaration

    • kind: "percussion"
    • limbs: readonly Limb[]

      The limbs the player has available.

    • reach: Readonly<Record<number, readonly Limb[]>>

      Limbs that can strike each voice, in preference order, keyed by MIDI note.

    • Optionaloverdub?: readonly number[]

      Voices dubbed over the kit on a pass of their own, by MIDI note number.

      A tambourine or a shaker riding a groove whose backbeat already commits both hands is a second pass, not a third hand: it is played over the kit, so it takes no limb from the kit and none from another overdub. Such a voice is still held in a hand on its own pass, so it keeps its reach entry and remains a voice of the instrument; this names which of them are played that way.