NAME
MIDI::Drummer::Tiny::Tutorial::Quickstart
VERSION
version 0.6000
Import the Module
Object Instantiation
Use the defaults
my $d = MIDI::Drummer::Tiny->new;
|
Attribute configuration
my $d = MIDI::Drummer::Tiny->new(
file => 'drums.mid' ,
bpm => 120,
volume => 120,
signature => '5/4' ,
bars => 8,
reverb => 0,
kick => 36,
snare => 40,
soundfont => '/Users/you/Music/FluidR3_GM.sf2' ,
verbose => 1,
);
|
Drum Set Components
Kick and snare-like things
Bass drums ("kicks"):
acoustic_bass & electric_bass (Generic: kick)
|
Snare-like things:
acoustic_snare & electric_snare (Generic: snare), side_stick, clap
|
Cymbals
open_hh, closed_hh, pedal_hh
crash1, crash2, splash, china
ride1, ride2, ride_bell
|
Toms
hi_tom, hi_mid_tom, low_mid_tom, low_tom, hi_floor_tom, low_floor_tom
|
Miscellaneous
click & bell (i.e. the metronome sounds), tambourine, cowbell, vibraslap, etc.
|
Handy Duration Aliases
whole, triplet_whole, dotted_whole, double_dotted_whole
half, triplet_half, dotted_half, double_dotted_half
quarter, triplet_quarter, dotted_quarter, double_dotted_quarter
eighth, triplet_eighth, dotted_eighth, double_dotted_eighth, ...
|
etc. down to double-dotted 128th notes!
Basic Beats
Rock
$d ->metronome3;
$d ->metronome4;
$d ->metronome5;
$d ->metronome6;
$d ->metronome7;
$d ->metronome44( $d ->bars, 1);
|
Swing
$d ->metronome4( $d ->bars, $d ->ride2, $d ->eighth, 67);
|
Viennese Waltz
for my $n (1 .. $d ->bars) {
$d ->note( $d ->quarter, $d ->ride1, $d ->kick);
$d ->note( $d ->quarter, $d ->ride1, $d ->snare);
$d ->note( $d ->quarter, $d ->ride1, $d ->snare);
}
|
Disco
for my $n ( 0 .. $d ->bars - 1 ) {
$d ->note( $d ->sixteenth, $d ->closed_hh, $d ->kick );
$d ->note( $d ->sixteenth, $d ->closed_hh );
$d ->note( $d ->sixteenth, $d ->closed_hh );
$d ->note( $d ->sixteenth, $d ->open_hh );
$d ->note( $d ->sixteenth, $d ->pedal_hh, $d ->kick, $d ->snare );
$d ->note( $d ->sixteenth, $d ->closed_hh );
$d ->note( $d ->sixteenth, $d ->closed_hh );
$d ->note( $d ->sixteenth, $d ->closed_hh );
}
|
This beat is extra-cheesy.
And Finally...
Either play the score with the built-in timidity++ functionality, plus a defined soundfont
:
my $d = MIDI::Drummer::Tiny->new(
soundfont => '/you/soundfonts/TR808.sf2' ,
);
$d ->play_with_timidity;
|
Or write-out the score to a MIDI file:
my $d = MIDI::Drummer::Tiny->new(
file => 'drums.mid' ,
);
$d -> write ;
|
And then play the score with timidity (where the cfg
file specifies the soundfont to be used):
> timidity -c ~/timidity.cfg -Od drums.mid
|
You can also use the excellent, cross platform program, VLC.
You can also convert the MIDI file into MP3, or whatever format you like.
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.