A message:

 

When I started DrumGen in 2008, I wanted to create jazzy drum patterns.  I am not a drummer, and MIDI drum software was primitive at the time.  So I bought a snare drum and recorded hits with sticks and brushes into my E-mu sampler.  I was delighted that DrumGen gave me realistic-sounding snare patterns - one in which every hit wasn't identical:

 

        NOTEDEF   snare    [snare1 | snare2 | snare3]

 

These days, this is called a round-robin.

 

Other features conceived from the start were velocity ranges and RANDOM START.

 

      NOTEDEF   snare    [10 : D3 : 90..120]

 

Many other humanization features followed, and in fact using the OR operator ('|') with both notes and patterns still gives an unprecedented level of pattern variability. 

 

From the beginning I realized that the drum language would have a Definition section to define notes and patterns and a Play section that would be compiled to produce the actual MIDI drum track -  it was a pretty simple "language".  I also wanted a piano staff display to show accompaniment (e.g. standup bass) and allow navigation of the score.

Ten years later:

 

In the ensuing years, many of these features are now available in commercial music apps such as DAWs, notation programs and drum software.  These days I regularly import and export MIDI files between these apps and DrumGen. 

On Windows PCs (sorry, I'm not a Mac programmer), you might find DrumGen useful for any of the following:

 

  • creating a reusable library of drum patterns - or importing your commercial MIDI libraries - that can be browsed and auditioned in the Inspector, then dragged over to your favorite DAW.  You can parameterize these patterns with humanization features.

 

  • downloading a MIDI song from the Internet, then creating a simple score version for visual playback or accompaniment in DrumGen.

 

  • creating a map file to get the most out of your virtual instrument or drum bank (many of which have features above and beyond General MIDI)

 

Other uses include: using song templates, adding humanization to robotic patterns, recording electronic drums, overdub recordings of songs, simple MIDI editing, constructing patterns from drum Method books.

 

Never mind the elaborate documentation, DrumGen is a simple tool that runs quickly.  I hope you can find some use for it!

 

-Chris Smith   (November 2018)

 

PS: I will add tutorials as time allows to show DrumGen in operation.  The appendices in the User Manual have many examples as well.

DrumGen and the Drum language are Copyright Chris Smith 2012