.\" .\" Copyright (c) 2003-2010 Alexandre Ratchov .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .Dd August 22, 2005 .Dt SMFPLAY 1 .Os .Sh NAME .Nm smfplay .Nd play a standard MIDI file .Sh SYNOPSIS .Nm smfplay .Op Fl mxy .Op Fl g Ar measure .Op Fl d Ar devname .Op Fl i Ar devname midifile .Sh DESCRIPTION The .Nm utility plays a MIDI file. While playing, it can route events from one .Xr midi 4 device to another. To stop performance, send an interrupt signal to .Nm (for instance by pressing control ^C on the terminal). The options are as follows: .Bl -tag -width "-i devname " .It Fl m Use metronome. The metronome will follow tempo changes and time signature changes in the midi file. .It Fl x Synchronise to an external .Xr midi 4 device. If the .Fl i flag is used then playback will be synchronised to the input device else it will be synchronised to the default device. .It Fl y Send midi timing information to the default device. Useful if the output device is a slave MIDI sequencer. .It Fl g Ar measure Start playback at the given measure number. .It Fl d Ar filename Default .Xr midi 4 device on which to play the midi file. If not specified, the content of the .Ev MIDIDEV environment variable will be used instead. .It Fl i Ar filename Alternate input .Xr midi 4 device. Voice events (notes, controllers, etc) received on the input device will be sent as-is to the default device. Without this flag, the default device will be used for input. .El .Pp The .Nm utility is an interface to .Xr midish 1 . If more specific features are needed, the user may consider using .Xr midish 1 . .Sh EXAMPLES The following will play .Pa mysong.mid on device .Pa /dev/rmidi4 and will use metronome. .Pp .Dl $ smfplay -m -d /dev/rmidi4 mysong.mid .Sh SEE ALSO .Xr midiplay 1 , .Xr midish 1 , .Xr smfrec 1 , .Xr midi 4