My Robot Drummer...

DIY Beats or "How to build your own drummer."

Gene Boggs

Epistemologist at-large

MIDI::Simple::Drummer

  1. Install it on any machine.

  2. It only depends on MIDI-Perl, which depends on nothing but Perl itself!

Static, not dynamic. Sorry.

  • This package renders a .mid file. It does not magically interact with you.

MIDI::Simple::Drummer::API

  • The essential methods are briefly documented in MIDI::Simple::Drummer.

  • But we want to extend the capabilities of our drummer!

  • But first, let's check out those "essential methods" a bit...

Kit

  • Set instrumentation.

Style

  • Define patterns and grooves, fills and frilly bits.

Dynamics

  • Intelligently modulate dynamics.

  • Add nuance methods like accent and crescendo, legato, etc.

Setup

Any sufficiently advanced drummer...

  • ...will probably still sound like a robot.

  • But there is hope! There is AI. And anyway, thare are other "humanized" machines out there already.

  • And frankly, some people just want to get away from Humans and their feeble "capabilities" and experiment with The Future.

The Future[TM]

  • Drummers that do crazy, combinatorial things. (Stunt Drumming, if you will.)

  • Drummers that systematically run through experimental beat patterns.

  • Evolutionary drummers. Duh.

  • Real-time interaction? That is, live jamming?

To do

  • Multi-track!

  • Comprehend time signature and keep a running clock to know where we are in time, at all times.

  • It don't mean a thing if it ain't got that swing. That is, make a MIDI::Simple::Drummer::Jazz package.

  • Add 32nd and 64th durations to the %MIDI::Simple::Length hash.

  • Import patterns via the read_score() method in MIDI::Simple?

  • Leverage the from_drum_tab() method in MIDI::Tab?

See also