NAME
tse3play - play/convert music files (MIDI or TSE3MDL) using the TSE3
sequencer engine library
SYNOPSIS
tse3play [-h] [-ver] [-v] [-list] [-nv] [-np] [-l] [-omidi output-midi-
file ] [-omidi0] [-omidicomp] [-otse3mdl output-tse3mdl-file ] [-map
from-midi-channel to-midi-channel ] [-m] [-r] [-gmr] [-gsr] [-xgr]
[-unix] [-oss] [-alsa] [-arts] [-stream] [-s start-time ] [-solo track
] [-sl usecs ] [ -stop ] [ -e ] [ -mute channel ] [ -pd dir ] file ] [
-port port ] [ -fast ]
DESCRIPTION
tse3play plays TSE3MDL files and MIDI files using the TSE3 sequencer
engine. It was originally developed as a test application for the TSE3
engine, but is now a fully featured playback application.
tse3play can also convert files between the two supported formats.
Whilst playing it provides text based visual feedback, or can stream an
English representation of the contents of the file to standard output.
MIDI files are a standard file format for the storage of musical (song)
data that can be found in abundance on the internet. They don’t contain
the actual sounds played, but instructions on how to recreate the song
(i.e. start note/stop note commands). MIDI files are most often created
by a sequencer application (akin to a word processor for music). MIDI
files often have the extension .mid or .midi
TSE3MDL ( TSE3 Music Description Langauge ) files are a similar form of
music file. They are created by sequencer applications based on the
TSE3 sequencer engine library. The file format contains a great deal
more information and harnesses the full power of the TSE3 library.
TSE3MDL files often have the extension .tse3
The type of the input file is automatically detected by tse3play
tse3play can also load legacy TSE2MDL files from sequencers based on
the older TSE2 sequencer library.
OPTIONS
-h, --help
Provide help on the tse3play command line parameters.
-ver, --version
Print version number and exit.
-v, --verbose
Give verbose output on what tse3play is trying to do.
-list, --list-ports
Lists the port numbers available on your platform.
-nv, --novisual
Don’t produce visual feedback (text-based output-level
indicator).
-np, --noplay
Don’t play the input file (only perform a conversion - if one is
specified).
-l, --loop
Loop playback of the input file.
-omidi, --out-midi <filename>
Convert the loaded file to MIDI. File type will be MIDI type 1
unless -omidi0 is specified. The filename of the output follows
this option. You can specify ’-’ to output on stdandard out.
-omidi0, --out-midi-format-0
If performing a MIDI conversion, produce an output file in MIDI
type 0 format. For most cases the default (type 1) is
recommended.
-omidicomp, --out-midi-compact
Compact the converted MIDI file output. This removes any
redundant information in the MIDI file that could be removed by
using MIDI running status.
-otse3mdl, --out-tse3mdl FILENAME
Convert the file to tse3mdl format. The filename of the output
follows this option. You can specify ’-’ to output on stdandard
out.
-map, --map-channel F T
During playback, map MIDI channel F to MIDI channel T. Channel
numbers start at zero.
-m, --metronome
During playback, produce a metronome tick.
-r, --reset
Send a basic MIDI reset message at playback start and end. This
will send a reset message even if -np is specified.
-gmr, --gmreset
Send a General MIDI reset message at playback start and end.
This will send a reset message even if -np is specified.
-gsr, --gsreset
Send a GS reset message at playback start and end. This will
send a reset message even if -np is specified.
-xgr, --xgreset
Send an XG reset message at playback start and end. This will
send a reset message even if -np is specified.
-unix, --unix-scheduler
Selects the best Unix scheduler device (either OSS or ALSA) as
the MIDI output method. This is the default behaviour.
-oss, --oss-scheduler
Selects the Open Sound System interface as the MIDI output
method.
-alsa, --alsa-scheduler
Selects the ALSA interface as the MIDI output method. This will
only work if you have ALSA installed on your computer.
-arts, --arts-scheduler
Selects the aRts interface as the MIDI output method. This will
only work if you have aRts installed on your computer.
-stream, --stream-scheduler
Selects the standard output stream as the MIDI output method. An
English interpretation of each MIDI command generated will
appear on standard out.
-s, --start
Begin playback at the specified clock pulse. The pulses are
divisions of quarter notes. tse3play works to a resolution of
96 PPQN.
-solo, --solo-track
Play with the specified input track ’soloed’. This will mute all
the other tracks. Note that this option will mute the input
track from the file, not the specified MIDI channel. Track
numbers start at zero.
-sl, --sleep
Sets the time period that tse3play returns control back to the
operating system between updates. The parameter is a number of
u-seconds. The default value is 100. Specifying a shorter time
will make the real time vu bars update more responsively. A
value of 0 disables the sleep.
-stop, --no-stop
Prevents tse3play from exiting once playback has finished. This
can be used in conjunction with --echo and no specified filename
to make the computer act as a MIDI Thru box.
-e, --echo
Enable the MIDI echo facility, which is a soft MIDI Thru port.
Anything received on the MIDI in connection will be immediately
echoed on the MIDI out.
-mute, --mute-track
Mutes the specified track in the input file. The first track is
track zero.
-pd, --patches-dir
Specifies the path to the directory in which FM or GUS patch
files are to be found. This is used by the OSS driver to load
sounds into the soundcard.
-port, --force-port
Forces all output to the specified port.
-fast, --fast-midi
Tells tse3play to use a faster MIDI file import routine. This
will make the MIDI file playback start almost instantaneously
(especially noticeable for very large MIDI files). You can only
use this if you are not converting a file.
It has a number of possible side effects; (i) The MIDI file’s
last time stamp is trusted to be correct (it might not be) (ii)
Stopping playback half way through may produce ’hanging notes’
BUGS
Naturally, tse3play is completely bug free. The TSE3 library upon which
it is based is also completely bug free. However, if you do find
something goes wrong then contact the author. The program can only be
improved with your feedback.
COPYRIGHT
Copyright (c) 2000,2001 Pete Goodliffe. See the license file in the
TSE3 doc diirectory for a complete license statement.
AUTHOR
Pete Goodliffe <pete@cthree.org>
Trax Software 2001
SEE ALSO
playmidi(1), TSE3(3)