The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

MIDI::Simple::Drummer::Rudiments

VERSION

version 0.0806

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.

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

http://www.drumrudiments.com/

AUTHOR

Gene Boggs <gene@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2020 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.