Like this, what do you need in terms of drum samples to do something like this and have it sound like that native american drum, with dynamic loudness and duration and depth, it's not just the same sound being played over and over again. Does this meanyou need to have 1 sample per variation, so like 100's of samples for asingle drum, or is there a way to somehow modulate the sound to get this kind of variation out of just one sound? I assume there is no real way to practically generate these sounds from scratch, so some sort of sampling is needed. I would just like to know roughly what this is.

I just really want to be enlightened on how drum samples work. Do you have 100's of them somehow programmed into a single pad, and so variations in striking speed invokes different ones? Or how does it work?

1 Answer 1


I think you have the gist pretty well already!

You certainly could use a large number of samples per drum, and select them based on striking speed, position, etc. That is by far the most common approach taken in commercial software.

Synthesising drums from scratch isn't impossible, though it is hard to do well. Synth secrets has some articles on drum synthesis.

You could also consider various hybrid approaches. A "Sample + Synthesis" approach would use a number of samples and then alter their pitch, volume, and apply filtering in real time to get more mileage out of a smaller set of samples. You might even be able to enhance this approach by generating samples through synthesising elements of the sound, and then layer those elements (which themselves could be pitch-shifted, filtered, etc).

Another way to go would be to create a physical model of the drum. I'm not sure if that's likely to be possible to do efficiently enough in JavaScript, or if Web Assembly might be usefully brought to bear.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.