timidity.cfg - configuration file of TiMidity++
DESCRIPTION
The file timidity.cfg describes the runtime environments of
timidity(1), including the paths of sound patches,
instruments configurations etc. TiMidity looks for the
configuration file timidity.cfg at startup before processing
any options. If it can't be accessed, and the library path
is changed with a -L option on the command line, then the
default file will be sought again along the new library path
after processing all options, unless another configuration
file was specified with the -c option.
Configuration files define the mapping of MIDI programs to
instrument files. Multiple files may be specified, and
statements in later ones will override earlier ones.
FORMAT
The following statements can be used in a configuration file:
dir directory
Adds directory to the search path in the same manner as
the -L command line option. Archive files are also
allowed. For example:
dir /usr/local/lib/timidity/inst/foo.zip#
1 baz.pat
2 zoo.pat
0 bar.pat
Here, dir specifies the archive name (followed by '#')
for the path of patch files in the archive (in this
case, "/usr/local/lib/timidity/inst/foo.zip").
TiMidity recognize the path is an archive file if the
expression has '#' as the last character, and also
reads the files contained in the archive file. In the
example the patch files bar.pat, baz.pat and zoo.pat
contained in the foo.zip are installed.
source file
Reads another configuration file, then continues
processing the current one.
bank number
Selects the tone bank to modify. Patch mappings that
follow will affect this tone bank.
progbase number
Sets and displays the tone number from number to
number+128. If progbase 1 is specified, tone numbers
that follow are set and displayed as the numbers from 1
to 128.
drumset number
Selects the drum set to modify. Patch mappings that
follow will affect this drum set.
number file [options]
Specifies that the MIDI program number in the current
tone bank or drum set should be played using the patch
file. Options may be any of the following:
amp=amplification
Amplifies the instrument's volume by amplification
percent. If no value is specified, one will be
automatically determined whenever the instrument
is loaded.
note=note
Specifies a fixed MIDI note to use when playing
the instrument. If note is 0, the instrument will
be played at whatever note the Note On event
triggering it has. For percussion instruments, if
no value is specified in the configuration file,
the default in the patch file will be used.
pan=panning
Sets the instrument's default panning. panning
may be left, right, center, or an integer between
-100 and 100, designating full left and full right
respectively. If no value is specified, the
default in the patch file will be used. Note that
panning controls in MIDI files will override this
value.
keep={loop|env}
By default, percussion instruments have their loop
and envelope information stripped. Strangely
shaped envelopes are removed automatically from
melodic instruments as well. keep can be used to
prevent stripping envelope or loop data. For
example, the Short and Long Whistle percussion
instruments (General Midi numbers 71 and 72) need
to have `keep=loop keep=env' specified in the con-
figuration file.
strip={loop|env|tail}
Force removal of loop or envelope information from
all patches in the instrument, or strip the tail,
i.e. all data after the loop. Some third-party
instruments have garbage after the loop, as evi-
denced by a clicking noise whenever the instru-
ment is played, so adding the strip=tail option
will markedly improve sound quality.
The following statements are available only in the latest
version of TiMidity.
#extension altassign program1 program2 ...
Sets the alternate assign for drum set. For example,
if you want to play Hi-Hat cymbals (note number
42/44/46) in drumset 0 exclusively to each others,
specify:
drumset 0
altassign 42 44 46
#extension comm program second
Specifies the comment for the tone number program.
These comments are displayed in the indicater line when
TiMidity is invoked with options -iNt, -iTt.
#extension timeout program second
Specifies the time-out value of the program. If any
notes produced with the tone number program are
suspended more than second seconds, TiMidity kills the
notes.
#extension copydrumset drumset
Copies all settings of the drumset to the current drum-
set.
#extension copybank bank
Copies all settings of the bank to the current bank.
#extension HTTPproxy hostname:port
Specifies the proxy of the HTTP protocol. hostname and
port refer to the proxy host.
#extension FTPproxy hostname:port
Specifies the proxy of the FTP protocol. Same as HTTP.
#extension mailaddr your-email-address
Specifies user's email address. This address is sent to
the FTP server if TiMidity accesses any files via FTP.
#extension [-]{option} [optarg]
Sets the value of startup-time options.
#extension undef progno
Undefine the tone progno of current tone bank.
These "#extension" statements begin with the character '#'
which is the comment flag of the original TiMidity program
(versions 0.2i or earlier). So these statements are treated
like comment lines by those versions. The latest TiMidity
treats "#extension" as white-space, so you can omit it.
If any filename expression ends with character '|' (Ascii
0x7c), the filename is treated as a command and outputs of
the command are also examined as arguments of statements.