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 ]
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.
- -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'
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 (c) 2000,2001 Pete Goodliffe. See the license file in the TSE3 doc diirectory for a complete license statement.
Pete Goodliffe <email@example.com>
Trax Software 2001