use 5.36.0;
use MIDI;
sub CHAN () { 9 }
sub NOW () { 0 }
sub VELO () { 100 }
sub BASS () { 36 } # try instead 35?
sub CLAP () { 39 }
sub HHAT () { 42 } # was 44
my $file = shift // 'standard.midi';
sub note ( $pitch, $velocity = VELO, $dur = 48, $chan = CHAN ) {
[ note_on => NOW, $chan, $pitch, $velocity ],
[ note_off => $dur, $chan, $pitch, 0 ];
}
my @Events;
for ( 1 .. 16 ) {
# this is half a measure, so double the loops
push @Events, note(BASS), note(HHAT), note(CLAP), note(HHAT);
}
MIDI::Opus->new(
{ tracks => [ MIDI::Track->new( { events => \@Events } ) ] } )
->write_to_file($file);
text/plain
This content has been proxied by September (3851b).