MIDI-Perl

MIDI-Perl is a suite of Perl modules which allows MIDI files to be read in and manipulated, or composed anew, and written out as MIDI files.

Its simplest uses include listing text events from MIDI files for archival purposes, making dumps of MIDI files for debugging purposes, and extracting, saving, or dumping sysexes. More complex applications include aleatoric/algorithmic composition, and modifying existing MIDI files (e.g., changing their timing, transposing their key, or performing some yet more complex transform on them).

The new MIDI::Simple module also provides a simple and concise functional/procedural interface to most MIDI functionality.

Availability

You can get MIDI-Perl from the MIDI directory in CPAN. You can also browse the MIDI-Perl docs there, too.

Discussion

Join the MIDI-Perl email list, whydoncha?
To find out more, send a message to: midi-subscribe@perl.org and you'll get an automated reply in just a few minutes, describing how to subscribe.
Or see the details (and a partial archive of the list traffic) at lists.perl.org

News

02005-01-30
Altho MIDI-Perl hasn't seen many new releases in the past few years, it has seen a lot of continued use. I get what I would call a steady trickle of messages from people using it for one or another surprising use; and I myself just used it to write the Clock of the Long Now chimes browser.

Moreover, there's now a lot of MIDI-related modules in CPAN. Just look!

02005-01-29
Maintenance release: 0.81. Just some doc tweaks and a few more dist-tests; no real changes in the actual code.
02000-08-21
Bugfix version: 0.78. Fixes a bug in MIDI::Score that prematurely ended notes in apparently rare circumstances. Thanks to Carl McTague for leading me to discover the bug.
02000-05-14
HEY! There's now an email list for discussing MIDI-Perl. To find out more, send a message to: midi-subscribe@perl.org and you'll get an automated reply in just a few minutes, describing how to subscribe.
02000-05-14
MIDI-Perl 0.76 is out. Just lists my new email address, and fixes an obscure bug in the dump routines.
02000-03-06
MIDI-Perl 0.75 is out -- just a bit more sanity checking in the MIDI/Opus.pm file-reading routines. Minor internal optimizations to MIDI/Event.pm.
01999-05-13
MIDI-Perl 0.74 is out -- no real functionality changes, just a few tweaks so that people using -w (warnings) will see fewer complaints.

A Few Examples

Look in the ever-expanding scripts directory here for useful or interesting MIDI-Perl scripts.

Barber
An $opus->draw representation of Barber's Adagio for Strings

Sean M. Burke

http://interglacial.com/rtf/