NAME

MIDI::Simple::Drummer::Rudiments

VERSION

version 0.04

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()

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 * Not yet implemented

flam_accent()

21. Flam Accent * Not yet implemented

flam_tap()

22. Flam Tap * Not yet implemented

flamacue()

23. Flamacue * Not yet implemented

flam_paradiddle()

24. Flam Paradiddle * Not yet implemented

flammed_mill()

25. Flammed Mill * Not yet implemented

flam_paradiddle_diddle()

26. Flam Paradiddle-Diddle * Not yet implemented

pataflafla()

27. Pataflafla * Not yet implemented

swiss_army_triplet()

28. Swiss Army Triplet * Not yet implemented

inverted_flam_tap()

29. Inverted Flam Tap * Not yet implemented

flam_drag()

30. Flam Drag * Not yet implemented

IV. Drag Rudiments

drag()

31. Drag (Half Drag or Ruff) * Not yet implemented

single_drag_tap()

32. Single Drag Tap * Not yet implemented

double_drag_tap()

33. Double Drag Tap * Not yet implemented

lesson_25_two_and_three()

34. Lesson 25 (Two and Three) * Not yet implemented

single_dragadiddle()

35. Single Dragadiddle * Not yet implemented

drag_paradiddle_1()

36. Drag Paradiddle #1 * Not yet implemented

drag_paradiddle_2()

37. Drag Paradiddle #2 * Not yet implemented

single_ratamacue()

38. Single Ratamacue * Not yet implemented

double_ratamacue()

39. Double Ratamacue * Not yet implemented

triple_ratamacue()

40. Triple Ratamacue * Not yet implemented

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/ test scripts.

http://en.wikipedia.org/wiki/Drum_rudiment

http://www.vicfirth.com/education/rudiments.php

http://www.drumrudiments.com/

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.