lilyvanoekel/percupuff
View on GitHubImplement "Electric Bass Drum" aka "kick2" (midi note 36)
Open
#19 opened on Aug 22, 2025
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
- Reference the docs for Percupuff
- Reference the getting started guide for Cmajor: https://cmajor.dev/docs/GettingStarted
- Reference the code under the
dsp/folder