MIDI is a Perl module that can read, compose, modify, and write MIDI files.
SYNOPSIS
use MIDI;
use strict;
use warnings;
my @events = (
['text_event',0, 'MORE COWBELL'],
['set_tempo', 0, 450_000], # 1qn = .45 seconds
);
for (1 .. 20) {
push @events,
['note_on' , 90, 9, 56, 127],
['note_off', 6, 9, 56, 127],
;
}
foreach my $delay (reverse(1..96)) {
push @events,
['note_on' , 0, 9, 56, 127],
['note_off', $delay, 9, 56, 127],
;
}
my $cowbell_track = MIDI::Track->new({ 'events' => @events });
my $opus = MIDI::Opus->new(
{ 'format' => 0, 'ticks' => 96, 'tracks' => [ $cowbell_track ] } );
$opus->write_to_file( 'cowbell.mid' );
Product's homepage
Requirements:
· Perl