Random / Probability Drum Beat Generator

This application creates MIDI files of drumbeats created by a probability step sequencer. In other words, when using a traditional step sequencer, you choose which drum hits play when and where. If you specify that a bass drum should play on the first beat, it will. Here, you're able to add an element of probability, so you can decide that you want a bass drum to play on the first beat, but only 75% of the time. The program then randomly generates a drum beat where the bass drum will play on the first beat, but only (on average) 75% of the time. Get it?

More info below


  1. Set a tempo (in bpm) and the number of bars you want to generate.
  2. Add numbers 1 through 9 into the boxes where you want a drum to play. 1 means you want that beat to play one-ninth of the time. 9 means you want it to play nine-ninths of the time (i.e. every time.)* If you never want that drum sound to play on that beat, leave it blank.
  3. Click "generate drumbeat".
  4. The page will do its magic and load a MIDI file. If you like what was created, click "download .mid file" and import that into wherever you're gonna use it. If you don't like beat, edit the probabilities you've chosen and go back to step 3. If you like your probabilities, but just not that random choosing of those probabilities, click "generate drumbeat" again to create a new MIDI file based on the current probabilities.

Tempo: bpm


1+ 2+ 3+ 4+ presets:
BD | | | |
SN | | | |
HH | | | |
OH | | | |

So what do you do with a MIDI drum beat?

If you're not a musician, not much. But if you are, almost every audio creation/editing program (like Pro Tools, Logic, Cubase, Ableton, Garageband, Sonar, Reason, etc.) can import MIDI. Then you just copy the MIDI data to a drum instrument. That way, you control the sound of the drums. You can fine-tune the MIDI data to add fills and smooth out things that sound a little odd to your ear. You can edit the timings for more of a shuffle or groove. And you can incorporate your new beat into other compositions.

Is it really so hard to hand-program drumbeats that include variety?

Sometimes. Drumbeats that include a lot of variety (like glitch or IDM beats) can be extremely tedious. (To be clear, this won't create IDM drumbeats, but it can make a good foundation beat to mangle/stutter into IDM.) And even for simpler beats, I find it easier generating 32 bars here than hand-editing those 32 bars in my audio program.


While this is a pretty simple application, I couldn't find one online, so I decided to write it. It's based largely on the php midi class framework.


Ideas for ways of making it better? Send me an email. And include why you think it would be a good idea. There are many ways to make it more complex that don't necessarily make it better. If you can convince me it would be better, there's a good chance I'll add it.

* - I know using a scale of 10 would make more sense, but 10 is two key strokes, and after you get used to the sequencer, you can move through it very quickly. At that point, a single keystroke per beat makes more sense.