1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
|
.Dd 1 August 1994 (Modified 22 February 1996)
.Dd (Modified 24 November 2002)
.Dt PLAYMIDI 1
.Os "Linux 1.3.60+"
.Sh NAME
.Nm playmidi, xplaymidi, splaymidi
.Nd MIDI file player
.Sh SYNOPSIS
.Nm [s|x]playmidi
.Op Fl a8cCdeEfF4gGiImoprRtvVz
.Op Ar
.Sh DESCRIPTION
.Nm playmidi
is a full-featured MIDI file player for Linux systems or
others using the Voxware 3.5 sound driver or newer.
It can play back MIDI files on general MIDI devices or
FM or Gravis Ultrasound. If no files are specified,
.Nm playmidi
will give a summary of all command line options.
If more than one file is specified, you can use xplaymidi or
splaymidi or \-r mode for interactive control, allowing
you to skip to the previous song, next song, speed up
or slow down the MIDI file, or repeat a MIDI file while viewing
a real-time display of data in the MIDI file.
.sp
The Debian playmidi package does not include splaymidi.
.Sh OPTIONS
Command line options are described below.
(make sure to precede them with a dash (``\-''))
.Bl -hang -width 8
.It Fl H
.It Fl \-help
.sp
display the help text then exit.
.It Fl v
.sp
verbosity (additive).
.It Fl 8
.sp
force the use of 8-bit patches with the Gravis Ultrasound
to conserve memory. Patches are automatically reloaded as
8-bit when memory runs out, but if you know in advance, you can
save a step and speed up the loading process.
.It Fl c#
.sp
set the channel mask (in hexadecimal) of which channels to
play from the MIDI file. This is useful if you have a MIDI file
with some channels that don't sound very good on your hardware.
.It Fl d
.sp
ignore any drum (percussion) tracks in a MIDI file.
This is useful for FM or any other hardware where percussion
sounds especially bad. Also useful for MIDI files where the
percussion is poorly written.
.It Fl e
.sp
send output to external MIDI. This is what you'll want to do
if you have any MIDI hardware connected to your system. This
option is the default for playmidi as distributed by upstream.
.It Fl f
.sp
send output to FM synth using FM patches. You'll need to use
this option to playback on any non-MIDI soundcard with the
exception of the Gravis Ultrasound.
This option is the default for playmidi in Debian.
.It Fl 4
.sp
send output to FM synth using 4-op OPL/3 patches (BROKEN!)
Don't use this option since it doesn't work yet.
.It Fl g
.sp
send output to Gravis Ultrasound. If you have one of these
without anything connected to the MIDI port, this option is for you.
.It Fl a
.sp
send output to various SoundBlaster cards, including AWE and Live.
If you have one of these without anything connected to the MIDI port,
this option is for you.
.It Fl E#
.sp
set mask of channels to always output to external MIDI. If you want
to use more than one playback device, this option allows you to specify
what channels to send to the external MIDI port. For example,
00FF would send channels 1 \- 8 to external MIDI.
.It Fl F#
.sp
set mask of channels to always output to FM. Used as above.
.It Fl G#
.sp
set mask of channels to always output to gus. Used as above.
.It Fl i#
.sp
set the channel mask (in hexadecimal) of which channels to
ignore from the MIDI file. This option is good for MIDI files
with a few channels you don't want to listen to.
.It Fl p[chan,]prog[,chan,prog...]
.sp
forces a given program number (1\-128) to be used for all output
on given channel, or if no channel is specified, program will
be used for all channels. For example:
.Fl p33
sets all channels to program 33,
.Fl p5,124
sets just channel 5 to program 124, and
.Fl p1,33,2,55,9,22,10,17
sets channel 1 to program 33, channel 2 to program 55, channel 9
to program 22, and channel 10 (percussive) to use the Power Drum Set.
If you're using a Waveblaster, you'll want to use
.Fl p10,129
to set channel 10 to playback percussion. You should quote arguments to
.Fl p
if you want to include whitespace between them.
.It Fl I
.sp
shows a list general MIDI programs and numbers. This is intended to
make it easier to use the above option.
.It Fl t#
.sp
skews tempo by a factor (float). This is good for files you think
the author wrote too slow or two fast. Also good if you want to listen
to lots of files at high speeds, or play a file at slow speeds in order
to learn to play a song on some instrument (like piano).
.It Fl r
.sp
real time ansi (25-line) playback graphics tracking of all
notes on each channel and the current playback clock.
This flag is assumed when using xplaymidi or splaymidi.
.It Fl P#
.sp
remap all percussion channels to play on given channel. This
is useful if you have a file with percussion on multiple MIDI
channels and your MIDI hardware only supports percussion on
one channel. For example
.Fl P10
would send all percussion channels to channel 10.
.It Fl R#
.sp
set initial reverb level. Valid range is 0 \- 127.
For FM, the setting is either "on" (nonzero), or "off" (zero).
.It Fl C#
.sp
set initial chorus level. Valid range is 0 \- 127.
.It Fl Vchn,vel[,chn,vel...]
.sp
set velocity for all notes in a channel. All velocity information
for the given channel will be replaced by the given velocity. One
day I'll change this option to allow all channels to be modified
as with the
.Fl p
option.
.It Fl x#
.sp
excludes the given channel number from the mask of channels to
load from the MIDI file.
.It Fl z
.sp
zero channel data in output stream \(em for special applications.
.El
.Sh AUTHOR
Nathan Laredo (laredo@gnu.ai.mit.edu)
.Sh HISTORY
.Nm playmidi
was originally designed out of impatience with other MIDI
players. The startup time is negligible on all devices
except Gravis Ultrasound (must wait for patches to load).
The meaning of the various real-time displays is yet to be documented.
.sp
Playmidi 2.x is nearly a total re-write compared with the original 1.1
release.
.Sh BUGS
splaymidi doesn't properly restore terminal mode on exit; you may
want to use ";stty sane" at the end of any splaymidi command.
GUS playback quality will improve as kernel driver improves.
A lot of new features of playmidi are as of yet undocumented.
4-op FM playback doesn't work. Some incomplete or corrupted
MIDI files may cause unpredictable results or seg faults.
No other known bugs. If you want new features or find undocumented
ones (bugs), please email laredo@gnu.ai.mit.edu.
|