The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

MIDI::Util - MIDI Utilities

VERSION

version 0.0401

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 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,
  );

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

new_track

  $track = MIDI::Util::new_track;  # Use defaults

  $track = MIDI::Util::new_track(  # Override defaults
    channel => $channel,
    patch   => $patch,
    tempo   => $tempo,
  );

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);  # Use defaults

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

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

MIDI::Event

MIDI::Simple

MIDI::Track

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.