lilyvanoekel/percupuff

Implement "Electric Bass Drum" aka "kick2" (midi note 36)

Open

#19 opened on Aug 22, 2025

View on GitHub
 (3 comments) (0 reactions) (1 assignee)TypeScript (10 forks)auto 404
area:dspcmajor:mediumcomplexity:2hacktoberfestpriority:mediumstatus:readytype:feature

Repository metrics

Stars
 (22 stars)
PR merge metrics
 (PR metrics pending)

Description

Feature Description

Please implement the Electric Bass Drum sound:

  • This sound by default should trigger on midi note 36
  • This is configurable using kick2Midi
  • Parameters already exist (this task should be only or mostly Cmajor code)
  • Create a new file dps/drums/ElectricBassDrum.cmajor
  • Base it on the common pattern you can see from other sounds
    • Use the same envelope as most other drum sounds are using
    • Basic variable and parameter handling for midiNotePitch, outputLevel, panning)
    • Same triggerVelocity
  • Link in the new file in Percupuff.cmajor
  • Design the sound
    • Use a Sine Wave oscillator (exists in the codebase)
    • Set the Sine wave to an arbitrary low frequency, maybe start with 200 or so
    • Apply the envelope to the gain of the output of the oscillator
    • Apply the envelope also to the pitch of the oscillator (something like osc.frequencyModIn <- gain * 0.01f;)
    • The goal is a sort of "pew" sound 😅

Motivation / Use Case

Getting familiar with Cmajor

Alternatives Considered

No response

Additional Context

Contributor guide