Hello I'm Gene. ~ This talk is about the mission critical topic of combining two music modules: MIDI::Drummer::Tiny and Music::Duration::Partition to create random drum fills. The first is a wrapper around the MIDI::Simple module with pre-set things for making drum tracks, like automatically setting the channel to 9. It also has method names for common musical concepts like the quarter-note or the kick and snare drums, etc. The second module takes a size in quarter-notes and a pool of MIDI::Simple durations and produces rhythmic phrases or "motifs" that you can use with any instrument. ~ Ok first: How many drummers does it take to change a lightbulb? ... FIVE. One to screw the bulb in, and 4 to discuss how Neil Peart would have done it better. That's this guy: He's in there somewhere. ~ Ok. Here is the program to run: * First is the standard perl5 preamble. * Next is the usage of the 2 libraries (local for my development purposes). * Next, we need 2 program parameters, max, a loop boundary and bpm, the beats per minute. * We instantiate a drummer, named after the program with an ".mid" extension. * Then the execution part of the program is just two lines: - One, synch the score parts so they are played simultaneously. - And then write the MIDI file. * The meat of the program is the synch line. This plays two parts at the same time, "pulse" and "beat." * The pulse part is a steady quarter-note pedal hi-hat. It is not played with a stick, but with the foot. "Ch, Ch, Ch, Ch" * The beat part is where the backbeat and fills happen. The backbeat is "boom, chuck, boom, chuck." The fills come in two alternating flavors, each descending the kit - high to low - by durations of the current motif. I chose a series of if statements to decide what drum pad to play. This is known as a "patch" in the digital world. This bit might make you cringe, because this is not the most elegant way to "make up" a fill. But creative drum programming is hard! Crafting drum parts, and especially fills, is a tricky business. Drummers are not robots, for one. Also, they can pull off the unexpected, which in programming terms, means added complexity. Anyway, this is intended to be a simple example. ~ Here is a transcription of the beats. I could play the 40 second audio output of the program, but unfortunately in my Zoom tests it's garbled or can't be heard. Fortunately both the MIDI file and an MP3 rendering are on my site for your amusement! And to listen to MIDI files, use Timidity on the command line or the excellent program, VLC. ~ Lastly: What do you call a drummer that breaks up with his girlfriend? ... That is of course, "Homeless." ~ And that's my lightning talk! Insert applause track!