NAME
MIDI::Simple::Drummer::Rudiments
VERSION
version 0.06
SYNOPSIS
use MIDI::Simple::Drummer::Rudiments;
my $d = MIDI::Simple::Drummer::Rudiments->new;
$d->count_in;
$d->single_stroke_roll for 1 .. $d->phrases;
$d->write('single_stroke_roll.mid');
DESCRIPTION
This package contains rudiment patterns.
NAME
MIDI::Simple::Drummer::Rudiments - Drum rudiments
METHODS
new()
Sets pan_width to 1/4 distance from center. Sets the reverb effect to 1 and chorus to 0.
I. Roll Rudiments
single_stroke_roll()
tap tap tap tap tap tap tap tap
r l r l r l r l
1. Single Stroke Roll
single_stroke_four()
2. Single Stroke Four
[ 3 ] [ 3 ]
tap tap tap tap tap tap tap tap
r l r l r l r l
single_stroke_seven()
3. Single Stroke Seven
[ 6 ]
tap tap tap tap tap tap tap
r l r l r l r
B. Multiple Bounce Rudiments
multiple_bounce_roll()
Not yet implemented...
triple_stroke_roll()
5. Triple Stroke Roll
[ 3 ] [ 3 ]
tap tap tap tap tap tap
r r r l l l
double_stroke_open_roll()
6. Double Stroke Open Roll (Long Roll)
Alternating diddles
diddle diddle diddle diddle
r r l l r r l l
five_stroke_roll()
7. Five Stroke Roll
Two diddles, accent
[ 5 ]
diddle diddle Tap
r r l l R
six_stroke_roll()
8. Six Stroke Roll
Accent, 2 diddles, accent
[ 6 ]
Tap diddle diddle Tap
R l l r r L
seven_stroke_roll()
9. Seven Stroke Roll
3 diddles, accent
[ 7 ]
diddle diddle diddle Tap
r r l l r r L
nine_stroke_roll()
10. Nine Stroke Roll
4 diddles, accent
[ 9 ]
diddle diddle diddle diddle Tap
r r l l r r l l R
ten_stroke_roll()
11. Ten Stroke Roll
4 diddles, 2 accents
[ 10 ]
diddle diddle diddle diddle Tap Tap
r r l l r r l l R L
eleven_stroke_roll()
12. Eleven Stroke Roll
5 diddles, accent
[ 11 ]
diddle diddle diddle diddle diddle Tap
r r l l r r l l r r L
thirteen_stroke_roll()
13. Thirteen Stroke Roll
6 diddles, accent
[ 13 ]
diddle diddle diddle diddle diddle diddle Tap
r r l l r r l l r r l l R
fifteen_stroke_roll()
14. Fifteen Stroke Roll
7 diddles, accent
[ 15 ]
diddle diddle diddle diddle diddle diddle diddle Tap
r r l l r r l l r r l l r r L
seventeen_stroke_roll()
15. Seventeen Stroke Roll
8 diddles, accent
[ 17 ]
diddle diddle diddle diddle diddle diddle diddle diddle Tap
r r l l r r l l r r l l r r l l R
II. Diddle Rudiments
single_paradiddle()
16. Single Paradiddle
Accent, single stroke, diddle
Tap tap diddle
R l r r
double_paradiddle()
17. Double Paradiddle
Accent, 3 single strokes, diddle
Tap tap tap tap diddle
R l r l r r
triple_paradiddle()
18. Triple Paradiddle
6 single taps, diddle
Tap tap tap tap tap tap diddle
R l r l r l r r
paradiddle_diddle()
19. Paradiddle-Diddle
2 alternating taps, 2 alternating diddles
Tap tap tap tap diddle
R l r l r r
III. Flam Rudiments
flam()
20. Flam
grace tap = flam
r l r l
flam_accent()
21. Flam Accent
Flam tap tap
l R l r
flam_tap()
22. Flam Tap
Accented "flam-diddles"
grace Diddle grace Diddle
l R r r L l
flamacue()
23. Flamacue
Flam, accent, 2 taps, flam
flam_paradiddle()
24. Flam Paradiddle
Accented flam, tap, diddle
flammed_mill()
25. Single flammed Mill
Accented flam-diddle, 2 taps
flam_paradiddle_diddle()
26. Flam Paradiddle-Diddle
pataflafla()
27. Pataflafla
swiss_army_triplet()
28. Swiss Army Triplet
inverted_flam_tap()
29. Inverted Flam Tap
flam_drag()
30. Flam Drag
IV. Drag Rudiments
drag()
31. Drag (Half drag or ruff)
single_drag_tap()
32. Single Drag Tap
double_drag_tap()
33. Double Drag Tap
lesson_25_two_and_three()
34. Lesson 25 (Two and Three)
single_dragadiddle()
35. Single Dragadiddle
drag_paradiddle_1()
36. Drag Paradiddle #1
drag_paradiddle_2()
37. Drag Paradiddle #2
single_ratamacue()
38. Single Ratamacue
double_ratamacue()
39. Double Ratamacue
triple_ratamacue()
40. Triple Ratamacue
pan_left(), pan_center(), pan_right()
$d->pan_left($width);
$d->pan_center();
$d->pan_right($width);
Convenience methods to pan in different directions.
alternate_pan()
$d->alternate_pan();
$d->alternate_pan($direction);
$d->alternate_pan($direction, $width);
Pan the stereo balance by an amount.
The pan direction is 0 for left (the default) and 1 for right.
The width can be any integer between 1 and 64 (the default). A width of 64 means "stereo pan 100% left/right."
alternate_note()
Abstract method for alternating a note strike based on the beat and note value, given the following parameters.
Arguments & defaults:
critical : Beats 0 through 4
alternate_pan : Pan every other beat (group)
groups_of : Number of beats after which we pan
note : A 1/16th note
single_stroke_n()
Abstract method for multiple types of single stroke rolls of n maximum beats.
Arguments & defaults:
critical : The 4 & 8 beats
alternate_pan : Pan every other beat
accent : An 1/8th note
note : A triplet 1/16th note
TO DO
Tempo increase-decrease
With and without metronome
Straight or swing time
Duple or triple application (for 5 & 7 stroke rolls)
Touch velocity
SEE ALSO
MIDI::Simple::Drummer, the eg/* and t/* scripts.
http://en.wikipedia.org/wiki/Drum_rudiment
http://www.vicfirth.com/education/rudiments.php
AUTHOR
Gene Boggs <gene@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 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.