MIDI at pjb.com.au
Some Perl and Python
scripts I have written, using, or inspired by,
Sean Burke's
MIDI-Perl
module.
-
Use midiecho
to add echo to a MIDI-channel,
by issuing repeated note events with diminishing volume.
It can also vary the pitch of the echo
for an Automatic Double Tracking effect.
New !
Version 2.3 now works on real-time MIDI, as well as on MIDI-files.
-
Use midiedit
to edit a MIDI file in a human-readable text-format.
-
Use mididump
to dump a MIDI file contents in a human-readable text-format.
-
New !
Use midikbd
on ALSA systems as a simple monophonic ascii-midi-keyboard.
-
Use bassline
to generate a random jazz-bassline, for improvisation practice.
-
Use muscript
to generate a MIDI file from a musical score in human-readable text-format.
-
Use musicxml2mid
to convert MusicXML
to MIDI. It requires
the XML::Parser module
-
Use mei2mid
to convert MEI
to MIDI. It requires
the XML::Parser module
-
Use sequence
to output its arguments in one of a number of particular
sequences: Cycle, Leibnitz, Morse-Thue or Rabbit.
Although not specific to MIDI-files, it can be used on them
to generate more interesting patterns than the usual loops.
-
Use
midisox
to combine and process MIDI files,
with a calling interface inspired by the well-known
SoX which works on audio files.
Now in two versions:
-
Use MIDI.py
in Python3, to handle structures analogous to
Sean Burke's
"opus" and "score" structures, within a Python context.
-
Use TermClui.py
in Python3, to offer a Command-Line User Interface
modelled on the Perl
CPAN Term::Clui module
See also:
www.pjb.com.au,
en.wikipedia.org/wiki/MIDI,
jedi.ks.uiuc.edu/~johns/links/music/midispec.htm,
timidity.s11.xrea.com,
lame.sourceforge.net,
and
www.pjb.com.au/muscript/gm.html