Creating your own drum samples


From reading the PDF on how to use the BBManager I understand that you can divide drum samples for a given instrument into dynamic layers. Each dynamic layer corresponds to a range of velocity numbers which relate to the velocity number provided with each note in a midi drum sequence. So far so good.

I understand the BB will automatically adjust the volume of the note being played through the BB according to the velocity number for that note:

“BeatBuddy features automatic volume mapping. That means that if a single sample is loaded into instrument, it will be automatically adjusted in volume during playback to reflect velocity values of midi being played. This allows for smooth transitions between dynamic layers, effectively creating 127 dynamic levels during playback.”

So my question is this: when creating .WAV samples for any given dynamic layer how would you typically differentiate one sample from another, what criteria would you use? Also what is the .wav differential from one dynamic layer to the next? It seems that velocity and volume are already taken care of by the BB. Would you create samples at the different velocities anyway because perhaps velocity differences affect more than just volume?


Let’s consider Standard drumset, MIDI note 36:

There are 13 WAV patterns used for its sounding. But they are not interpolated linearly through the accessible range of [0;127] (MIDI volume). They are assigned in groups to subrange of [Start; End].

How this most likely works. Every MIDI note in a pattern file always has it’s volume in range of [0;127]. Let’s say, BB is playing, and encountered a note 36 with the volume of 112. 112 belongs to the last assigned subrange of [119; 127]. That means one of the last three patterns is randomly chosen for this given instance of note 36.

Hope I made it a bit more clear for you, because as far as your other question go, Tom, I am sorry, I simply don’t get what you are talking about :slight_smile:


Thanks for your reply. You didn’t quite get the gist of my question: I am talking about when you actually create the .WAV file samples. Take your example: in the velocity range of 52 - 62 you have 3 .wav samples that are selected randomly when the BB encounters a note with a velocity between 52 and 62. My question is what would typically be the difference between the 3 samples? When you create the samples, say with drum software such as EZDrummer, how would you make one slightly different from the other? Would it be a difference in velocity between 52 and 62? Would it be a difference in accent or in where the drum is hit - near the centre or near the rim? Or would it typically be some other criteria?

And the second question was what would typically be the difference between a sample in one dynamic range and a sample in another dynamic range? Or put it another way: would you expect there to be difference - in you example you could use the same 3 samples in all the ranges you’ve created?

Also in your reply you use the term volume instead of velocity. Are these one and the same thing in midi terms?


…following on from my last post I can see where the confusion may lie: I don’t have a live drum set with which I could create live samples of the snare drum for example. I will have to create the samples from software packages or previously recorded drum loops etc. But within drum software there is often the ability to tweak the sound of each drum - so I was wondering whether there was a method / approach used to creating the samples such as increasing the volume slightly as you go up the range or whether they were simply recorded using the same criteria each time.


Well, this is pretty it. All patterns that are assigned to one volume subrange are recorded usually as follows.
You take sticks, and approximately fix the amount of force you put into hitting the instrument. You repeat the actual hitting several times in a row, recording each try. Maybe you hit a bit different spots, but you should apply more or less the same pressure.

As for your question in how to make all this without having access to actual drum set (actually, like me as well) - I simply have no idea. If you find this out, please share! :slight_smile:

One thing that goes into my mind, Guitar Pro 5.2 has downloadable patterns called RSE (Real Sound Engine) that sound pretty cool. There are several randomized patterns like in BeatBuddy. Unfortunately, I know no easy way to rip them off from there (unless you are about to manually make the MIDI file containing one note you want, press play, then record the output, then clip the result) - similar to how you would do with an actual drum set.


Just to add Goran did a video on how he was creating the content and if you are familiar with EZdrummer, the process is exactly the same, however for copyright reasons etc they couldn’t just use EZ drummers samples - they had to create their own. Ezdrummer also has different samples for different velocity layers.
Velocity in midi terms is the amount of force used to strike a note. Hitting the same note with a different attack will trigger a different sample based on the velocity mapping. In older keyboards the velocity just decreased the volume of the sample or sound. But with today’s processing power modern keyboards and synths have recorded samples and various velocity levels so as to as real as possible.
Apologies if you already knew this, the terms are confusing.

The link to Gorans’ video is below, if you have not seen it it will help explain the long arduous process of creating drum samples for the BeatBuddy