MIDI-Drummer-Tiny

Glorified Metronome

Huh? What?

MIDI::Drummer::Tiny is a Perl module that implements MIDI drum methods.

Put some MIDI drums in your next perl composition!

GitHub Issues

Definitions

What is MIDI?

MIDI stands for "Musical Instrument Digital Interface."

MIDI is a protocol that allows electronic musical instruments and computers to exchange musical data with each other.

What are drums?

Drums are percussion instruments that produce sound by being struck, shaken, or rubbed.

Drums provide the rhythmic foundation of a song and can also add dynamic energy and intensity to a performance.

Features of the Module

Configuration settings

Filename, Beats per minute, Volume, Time signature, Reverb, etc.

The kit itself

Open, Closed, and Pedal hihats, Acoustic and Electric snares, Acoustic and Electric bass drums, etc.

Drum methods

Rolls, Flam, Metronomes in different meters, Bitstring patterns, Fills, etc.

Quick Examples

Alternate kick and snare in 4/4

use MIDI::Drummer::Tiny ();

my $d = MIDI::Drummer::Tiny->new;

$d->note(
    $d->quarter,
    $d->open_hh,
    $_ % 2 ? $d->kick : $d->snare
) for 1 .. $d->beats * $d->bars;

$d->write;

Same thing but with beat-strings

use MIDI::Drummer::Tiny ();

my $d = MIDI::Drummer::Tiny->new;

$d->sync_patterns(
    $d->open_hh => [ '1111' ],
    $d->snare   => [ '0101' ],
    $d->kick    => [ '1010' ],
) for 1 .. $d->bars;

$d->write;

MIDI-Drummer-Tiny is available for Mac, Windows, Linux, and BSD distributions through the CPAN.

Powered by Perl

What is Perl?

Perl is a high-level, general-purpose, interpreted, dynamic programming language and was developed by Larry Wall in 1987 as a Unix scripting language to make report processing easier. Since then, Perl has undergone many changes, revisions and is still in active development!

Built with Web::PerlDistSite