NAME

MIDI::Util - MIDI Utilities

VERSION

version 0.0400

SYNOPSIS

use MIDI::Util;

my $score = MIDI::Util::setup_score( bpm => 120, etc => '...', );

MIDI::Util::set_chan_patch( $score, 0, 1 );

my $track = MIDI::Util::new_track( channel => 0, patch => 1, tempo => 450_000 );

my $dump = MIDI::Util::dump('volume');

DESCRIPTION

MIDI::Util comprises a couple handy MIDI utilities.

FUNCTIONS

setup_score()

$score = MIDI::Util::setup_score(
  lead_in => 4,
  volume  => 120,
  bpm     => 100,
  channel => 15,
  patch   => 42,
  octave  => 4,
);

Set basic MIDI parameters and return a MIDI::Simple object. If given a lead_in, play a hi-hat for that many beats.

Named parameters and defaults:

lead_in: 4
volume:  120
bpm:     100
channel: 0
patch:   0
octave:  4

new_track()

$track = MIDI::Util::new_track(%arguments);

Set the channel, patch, and tempo and return a MIDI::Track object.

Named parameters and defaults:

channel: 0
patch:   0
tempo:   500000

set_chan_patch()

MIDI::Util::set_chan_patch( $score, $channel, $patch );

Set the MIDI channel and patch.

Positional parameters and defaults:

score:   undef (required)
channel: 0
patch:   0

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

SEE ALSO

MIDI::Simple

Music::Tempo

AUTHOR

Gene Boggs <gene@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2019 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.