NAME
MIDI::Util - MIDI Utilities
VERSION
version 0.0602
SYNOPSIS
use MIDI::Util;
my $score = MIDI::Util::setup_score( bpm => 120, etc => '...', );
MIDI::Util::set_chan_patch( $score, 0, 1 );
MIDI::Util::set_time_sig( $score, '5/4' );
my $dump = MIDI::Util::dump('volume'); # length, etc.
my @notes = MIDI::Util::midi_format('C','C#','Db','D'); # C, Cs, Df, D
DESCRIPTION
MIDI::Util
comprises handy MIDI utilities.
FUNCTIONS
setup_score
$score = MIDI::Util::setup_score; # Use defaults
$score = MIDI::Util::setup_score( # Override defaults
lead_in => $beats,
volume => $volume,
bpm => $bpm,
channel => $channel,
patch => $patch,
octave => $octave,
signature => $signature,
);
Set basic MIDI parameters and return a MIDI::Simple object. If given a lead_in, play a hi-hat for that many beats. Do not include a lead_in by passing 0
as its value.
Named parameters and defaults:
lead_in: 4
volume: 120
bpm: 100
channel: 0
patch: 0
octave: 4
signature: 4/4
set_chan_patch
MIDI::Util::set_chan_patch( $score, $channel ); # Just set the channel
MIDI::Util::set_chan_patch( $score, $channel, $patch );
Set the MIDI channel and patch.
Positional parameters and defaults:
score: undef (required)
channel: 0
patch: undef
dump
$dump = MIDI::Util::dump($list_name);
Return sorted array references of the following MIDI, MIDI::Simple, and MIDI::Event internal lists:
Volume
Length
Note
note2number
number2note
patch2number
number2patch
notenum2percussion
percussion2notenum
All_events
MIDI_events
Meta_events
Text_events
Nontext_meta_events
midi_format
@formatted = MIDI::Util::midi_format(@notes);
Change sharp #
and flat b
, in the list of named notes, to the MIDI::Simple s
and f
respectively.
set_time_sig
MIDI::Util::set_time_sig( $score, $signature );
Set the score time_signature
based on the given string.
SEE ALSO
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.