NAME
MIDI::Simple::Drummer::Rudiments
VERSION
version 0.05
SYNOPSIS
use MIDI::Simple::Drummer::Rudiments;
my $d = MIDI::Simple::Drummer::Rudiments->new;
$d->count_in;
$d->beat(-name => 1) for 1 .. $d->phrases;
$d->write('single_stroke_roll.mid');
DESCRIPTION
This package contains rudiment patterns.
Defaults are to pan full left and right for each hand, and to have no MIDI effects.
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()
1. Single Stroke Roll
single_stroke_four()
2. Single Stroke Four
single_stroke_seven()
3. Single Stroke Seven
B. Multiple Bounce Rudiments
multiple_bounce_roll()
TODO: Not yet implemented...
triple_stroke_roll()
5. Triple Stroke Roll
double_stroke_open_roll()
6. Double Stroke Open Roll (Long Roll)
five_stroke_roll()
7. Five Stroke Roll
six_stroke_roll()
8. Six Stroke Roll
seven_stroke_roll()
9. Seven Stroke Roll
nine_stroke_roll()
10. Nine Stroke Roll
ten_stroke_roll()
11. Ten Stroke Roll
eleven_stroke_roll()
12. Eleven Stroke Roll
thirteen_stroke_roll()
13. Thirteen Stroke Roll
fifteen_stroke_roll()
14. Fifteen Stroke Roll
seventeen_stroke_roll()
15. Seventeen Stroke Roll
II. Diddle Rudiments
single_paradiddle()
16. Single Paradiddle
double_paradiddle()
17. Double Paradiddle
triple_paradiddle()
18. Triple Paradiddle
paradiddle_diddle()
19. Paradiddle-Diddle
III. Flam Rudiments
flam()
20. Flam
flam_accent()
21. Flam Accent
flam_tap()
22. Flam Tap
flamacue()
23. Flamacue
flam_paradiddle()
24. Flam Paradiddle
flammed_mill()
25. Flammed Mill
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."
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) 2013 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.