NAME
MIDI::Drummer::Tiny::Tutorial::Basics
VERSION
version 0.6000
Methods and Techniques
Counting-in
Four beats in 4/4:
$d
->count_in(1);
# Closed hi-hat for 1 bar
A steady, traditional metronome pulse:
$d
->count_in({
bars
=> 32,
patch
=>
$d
->bell });
Of Rests, Notes, and Accents
Rest for a whole note:
$d
->rest(
$d
->whole);
Add a single quarter-note with both the closed hihat and the bass drum, to the score:
$d
->note(
$d
->quarter,
$d
->closed_hh,
$d
->kick);
Add an accented snare to the score:
my
$accent_value
= 127;
$d
->accent_note(
$accent_value
,
$d
->sixteenth,
$d
->snare);
Do the opposite and add a "ghost note" that is less than the average volume (usually 100), to the score:
my
$accent_value
= 50;
$d
->accent_note(
$accent_value
,
$d
->sixteenth,
$d
->snare);
A Flam
A "flam" is a stroke preceded by a grace note. Often this is done with the snare alone, but any part of the kit is fair game.
$d
->flam(
$d
->quarter);
# play the snare by default
Play the the hi-tom for the grace-note, then the snare:
$d
->flam(
$d
->eighth,
$d
->hi_tom);
Again, play the the hi-tom for the grace-note, followed by the low-tom:
$d
->flam(
$d
->sixteenth,
$d
->hi_tom,
$d
->low_tom);
Rolls
A drum roll is a rapid succession of beats, usually on the same drum.
This module does two types: "straight" and "curved" - i.e. flat or with a crescendo.
Straight
Roll the snare in 32nd notes for an eighth-note duration, with equal volume for each stroke:
$d
->roll(
$d
->eighth,
$d
->thirtysecond);
Roll the hi-tom in 32nd notes for an quarter-note duration:
$d
->roll(
$d
->quarter,
$d
->thirtysecond,
$d
->hi_tom);
Crescendo
Roll the snare from a volume of 50 up to 127 in a linear fashion:
$d
->crescendo_roll([50, 127],
$d
->eighth,
$d
->thirtysecond);
Roll the snare from a volume of 50 up to 127 with a curve (as illustrated in the main module's documentation):
$d
->crescendo_roll([50, 127, 1],
$d
->eighth,
$d
->thirtysecond);
Roll the hi-tom from a volume of 127 down to 50:
$d
->crescendo_roll([127, 50],
$d
->eighth,
$d
->thirtysecond,
$d
->hi_tom);
Changing Attribute Values
A few of the attributes may be reset in the middle of a piece (after object construction).
These are the time signature, beats per minute, MIDI channel, and the volume.
$d
->set_time_sig(
'5/4'
);
$d
->set_bpm(
$d
->bpm / 3);
$d
->set_channel;
# reset to channel 9 (the drum channel)
$d
->set_channel(0);
# set the channel to something else
$d
->set_volume;
# set to 0 - mute
$d
->set_volume(127);
# or any number up to 127
AUTHOR
Gene Boggs <gene.boggs@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014-2025 by Gene Boggs.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.