OSDN Git Service

Merge patch from hmh@debian.org
[timidity41/timidity41.git] / doc / C / timidity.cfg.5
1 .TH timidity.cfg 5 "February 18 2004" "2.13.0"
2 .SH NAME
3 timidity.cfg \- configure file of TiMidity++
4 .SH DESCRIPTION
5 The file \fItimidity.cfg\fP describes the runtime environments of
6 timidity(1): that are the path of sound font, instruments
7 configurations or else.
8 .br
9 \fBTiMidity++\fP looks for the configuration file \fBtimidity.cfg\fP
10 at startup, before processing any options.  If it can't be accessed,
11 and the library path is changed with a \fB\-L\fP option on the command
12 line, then the default file will be sought again along the new library
13 path after processing all options, unless another configuration file
14 was specified with the \fB\-c\fP option.
15 .br
16 Configuration files define the mapping of MIDI programs to instrument
17 files.  Multiple files may be specified, and statements in later ones
18 will override earlier ones.
19 .SH SYNTAX
20 The following statements can be used in a configuration file:
21 .TP
22 .BI "dir " directory
23 Adds \fIdirectory\fP to the search path in the same manner as the
24 \fB\-L\fP command line option.
25 .br
26 Archive file are also allowed.
27 .sp
28 For example:
29 .br
30 dir /usr/local/share/timidity/inst/foo.zip#
31 .br
32 bank 0
33 .br
34 0 bar.pat
35 .br
36 1 baz.pat
37 .br
38 2 zoo.pat
39 .sp
40 At first, \fBdir\fP specifies the archive name (followed by `#') for
41 the path of patch files same as directory name (in this case,
42 /usr/local/share/timidity/inst/foo.zip).  \fBTiMidity++\fP recognize
43 the path is an archive file if the expression has the last character
44 `#', and also read the files contained in this archive file.  In
45 previous example the patch files bar.pat, baz.pat and zoo.pat
46 contained in the foo.zip are also installed.
47 .TP
48 .BI "source " file
49 Reads another configuration file, then continues processing the
50 current one.
51 .TP
52 .BI "progbase " number
53 Sets and displays the tone number from \fInumber\fP to
54 \fInumber\fP+128.  If \fBprogbase 1\fP are specified, tone numbers
55 that follow are set and displayed as the numbers from \fB1\fP to
56 \fB128\fP.
57 .TP
58 .BI "bank " "[MapID1] number"
59 Selects the tone bank to modify.  Patch mappings that follow will
60 affect this tone bank.  You can indicate specific map as a target, by
61 specifing any ofthe following to \fIMapID1\fP: \fBgm2\fP, \fBsc55\fP,
62 \fBsc88\fP, \fBsc88pro\fP, \fBsc8850\fP, \fBxg\fP and \fBxgsfx64\fP.
63 .TP
64 .BI "drumset " "[MapID2] number"
65 Selects the drum set to modify.  Patch mappings that follow will
66 affect this drum set.  You can indicate specific map as a target, by
67 specifing any ofthe following to \fIMapID2\fP: \fBgm2drum\fP,
68 \fBsc55drum\fP, \fBsc88drum\fP, \fBsc88prodrum\fP, \fBsc8850drum\fP,
69 \fBxgdrum\fP and \fBxgsfx126\fP.
70 .TP
71 .BI "number " "file [options]"
72 .br
73 .ns
74 .TP
75 .BI "number %font " "file bank prog [key] [options]"
76 .br
77 .ns
78 .TP
79 .BI "number %sample " "file [options]"
80 Specifies that the MIDI program number in the current tone bank or
81 drum set should be played using the patch file.  If \fIfile\fP is
82 SoundFont, the specific instrument with \fIbank\fP, \fIprog\fP, and
83 \fIkey\fP is taken out by the format of \fBnumber %font\fP.  If
84 \fIfile\fP is linear AIFF or WAV sample data, the MIDI program number
85 is specified by the format of \fBnumber %sample\fP.  Options may be
86 any of the following:
87 .RS
88 .TP
89 .BI amp= amplification
90 Amplifies the instrument's volume by \fIamplification\fP percent.  If
91 no value is specified, one will be automatically determined whenever
92 the instrument is loaded.
93 .TP
94 .BI note= note
95 Specifies a fixed MIDI note to use when playing the instrument.  If
96 \fInote\fP is \fB0\fP, the instrument will be played at whatever note
97 the Note On event triggering it has.  For percussion instruments, if
98 no value is specified in the configuration file, the default in the
99 patch file will be used.
100 .TP
101 .BI pan= panning
102 Sets the instrument's default panning.  \fIpanning\fP may be
103 \fBleft\fP, \fBright\fP, \fBcenter\fP, or an integer between
104 \fB\-100\fP and \fB100\fP, designating full left and full right
105 respectively.  If no value is specified, the default in the patch file
106 will be used.  Note that panning controls in MIDI files will override
107 this value.
108 .TP
109 .BI tune= tuning[,...]
110 Adjust the instrument's root frequency.  \fBtune=1\fP causes \fB1\fP
111 half tone higher.  Since a fraction is available for \fItuning\fP, it
112 is possible to do fine tuning such as \fBtune=\-0.2\fP.  When two or
113 more sample data is contained, the arguments after the second can
114 specify different value respectively.
115 .TP
116 .BI rate= attack:decay:sustain:release1:release2:release3[,...]
117 Set the instrument's ADSR rate.  Each value may be an integer between
118 \fB0\fP and \fB255\fP.  When you set only sustain rate,
119 .sp
120 6 GUS/hrpschrd.pat rate=::60
121 .sp
122 is available.  When you set only attack time fasten,
123 .sp
124 6 GUS/hrpschrd.pat rate=255
125 .sp
126 is available.  When two or more sample data is contained, the
127 arguments after the second can specify different value respectively.
128 .TP
129 .BI offset= attack:decay:sustain:release1:release2:release3[,...]
130 Set the instrument's ADSR offset.  Each value may be an integer
131 between \fB0\fP and \fB255\fP.  The format is same as \fBrate=\fP.
132 .TP
133 .B keep={loop|env}
134 By default, percussion instruments have their loop and envelope
135 information stripped.  Strangely shaped envelopes are removed
136 automatically from melodic instruments as well.  \fBkeep=\fP can be
137 used to prevent stripping loop or envelope data.  For example, the
138 Short and Long Whistle percussion instruments (General Midi numbers 71
139 and 72) need to have `\fBkeep=loop keep=env\fP' specified in the
140 configuration file.
141 .TP
142 .B strip={loop|env|tail}
143 Force removal of loop or envelope information from all patches in the
144 instrument, or strip the tail, i.e. all data after the loop.  Some
145 third\-party instruments have garbage after the loop, as evidenced by
146 a clicking noise whenever the instrument is played, so adding the
147 \fBstrip=tail\fP option will markedly improve sound quality.
148 .TP
149 .BI tremolo= sweep_increment:control_ratio:depth[,...]
150 Set the instrument's tremolo.  Each value may be an integer
151 between \fB0\fP and \fB255\fP.  The format is similar to \fBrate=\fP.
152 \fIsweep_increment\fP is the time until tremolo is started.
153 \fIcontrol_ratio\fP is the rate changing amplification.
154 \fIdepth\fP is the depth changing amplification.
155 .TP
156 .BI vibrato= sweep_increment:phase_increment:depth[,...]
157 Set the instrument's vibrato.  Each value may be an integer
158 between \fB0\fP and \fB255\fP.  The format is similar to \fBrate=\fP.
159 \fIsweep_increment\fP is the time until vibrato is started.
160 \fIphase_increment\fP is the rate changing frequency.
161 \fIdepth\fP is the depth changing frequency.
162 .TP
163 .BI sclnote= note[,...]
164 Set the instrument's standard note for scale tuning.  For example,
165 \fBsclnote=60\fP causes the center note C to be standard note for
166 scale tuning.  When two or more sample data is contained, the
167 arguments after the second can specify different value respectively.
168 .TP
169 .BI scltune= tune[,...]
170 Set the instrument's scale tuning factor in cents.  For example,
171 \fBscltune=50\fP causes the half tone steps as \fB50\fP cents.  When
172 two or more sample data is contained, the arguments after the second
173 can specify different value respectively.
174 .TP
175 .BI comm= comment
176 Specifies the comment \fIcomment\fP.
177 .TP
178 .BI modrate= attack:decay:sustain:release1:release2:release3[,...]
179 .br
180 .ns
181 .TP
182 .BI modoffset= attack:decay:sustain:release1:release2:release3[,...]
183 Set the instrument's behavior of change of modulation envelope.
184 The format and values are fundamentally same as volume envelope.
185 Except for some SoundFonts, even if it specifies only the option,
186 nothing happens.
187 .TP
188 .BI trempitch= num[,...]
189 Set the instrument's depth of changing pitch according to tremolo.
190 The effect itself is same as vibrato, it uses to operate in another
191 system.  The unit is +\-cent.  The format is similar to \fBrate=\fP.
192 .TP
193 .BI tremfc= num[,...]
194 Set the instrument's depth of changing cutoff frequency according to
195 tremolo.  It can express the so\-called glowl effect.  The unit, etc.
196 are same as \fBtrempitch=\fP.
197 .TP
198 .BI modpitch= num[,...]
199 Set the instrument's depth of changing pitch according to modulation
200 envelope.  It can temporarily express raising pitch only for the
201 attack stage.  The unit, etc. are same as \fBtrempitch=\fP.
202 .TP
203 .BI modfc= num[,...]
204 Set the instrument's depth of changing cutoff frequency according to
205 modulation envelope.  The unit, etc. are same as \fBtrempitch=\fP.
206 .TP
207 .BI fc= num[,...]
208 Set the instrument's standard of cutoff frequency.  The unit is Hz.
209 The format is similar to \fBrate=\fP.
210 .TP
211 .BI q= num[,...]
212 Set the instrument's Q (resonance).  The unit is cB.  The format is
213 similar to \fBrate=\fP.
214 .TP
215 .BI fckeyf= num
216 Set the instrument's filter key follow.  Based on \fBnote=60\fP, it
217 change cutoff frequency according to note.  The unit is +\-cent/key.
218  For example, \fBfckeyf=100\fP means that it change same as pitch.
219 .TP
220 .BI fcvelf= num
221 Set the instrument's filter velocity follow.  Based on
222 \fBvelocity=127\fP, it change cutoff frequency according to velocity.
223 The unit is +\-cent.  In SoundFont, \fB\-2400\fP is set up as a
224 characteristic value.
225 .TP
226 .BI qvelf= num
227 Set the instrument's resonance velocity follow.  Based on
228 \fBvelocity=0\fP, it change resonance according to velocity.  The unit
229 is +\-cB.
230 .RE
231 .TP
232 .BI "default " file
233 When MIDI program appears, which is not mapped to instrument file,
234 this file is pronounced as a substitute.
235 .TP
236 .BI "map " "MapID1 from\-bank from\-prog to\-bank to\-prog"
237 The existing tone is assigned as a tone of GS/XG each map.  \fBgm2\fP,
238 \fBsc55\fP, \fBsc88\fP, \fBsc88pro\fP, \fBsc8850, \fP\fBxg\fP and
239 \fBxgsfx64\fP can be specified to be \fIMapID1\fP.
240 .TP
241 .BI "map " "MapID2 from\-drumset from\-keynote to\-drumset to\-keynote"
242 The existing drum is assigned as a drum of GS/XG each map.
243 \fBgm2drum\fP, \fBsc55drum\fP, \fBsc88drum\fP, \fBsc88prodrum\fP,
244 \fBsc8850drum\fP, \fBxgdrum\fP and \fBxgsfx126\fP can be specified to
245 be \fIMapID2\fP.
246 .TP
247 .BI "soundfont " "file [options]"
248 Read the whole SoundFont.  \fIoptions\fP may be any of the following:
249 .RS
250 .TP
251 .BI order= number
252 Set the order of searching for instrument.  When \fBorder=0\fP, first
253 read SoundFont, and then search for insufficient samples in GUS/patch.
254 When \fBorder=1\fP, after reading GUS/patch, search for SoundFont.
255 .TP
256 .BI amp= amplification
257 Set the amplification of the whole SoundFont as \fIamplification\fP%.
258 If the value is not specified, it is set by \fB100\fP%.
259 .TP
260 .BI cutoff= number
261 Specify whether LPF in SoundFont is enable (\fB1\fP) or disable
262 (\fB0\fP).  If the value is not specified, it is considered to be
263 enable.
264 .TP
265 .BI reso= number
266 Specify whether resonance in SoundFont is enable (\fB1\fP) or disable
267 (\fB0\fP).  If the value is not specified, it is considered to be
268 enable.
269 .TP
270 .B remove
271 Cancel the target SoundFont from the memory.
272 .RE
273 .TP
274 .BI "font exclude " "bank [prog [key]]"
275 Suppress searching for SoundFont of \fIbank\fP, \fIprog\fP.
276 If the sample is drumset, bank is \fB128\fP, drumset is \fIprog\fP,
277 keynum is \fIkey\fP.
278 .TP
279 .BI "font order " "number bank [prog [key]]"
280 Set the order of searching for instrument individually.  The format is
281 same as \fBfont exclude\fP.
282 .LP
283 The following statements are available only latest \fBTiMidity++\fP.
284 .TP
285 .BI "#extension altassign " "program1 program2 ..."
286 Sets the alternate assign for drum set.  For example, if you want to
287 pronounce Hi\-Hat cymbals (note number \fB42\fP, \fB44\fP and
288 \fB46\fP) in the \fBdrumset 0\fP exclusively to each others, specify:
289 .sp
290 drumset 0
291 .br
292 altassign 42 44 46
293 .sp
294 Note that alternate assign of \fBdrumset 0\fP is used by default.
295 .TP
296 .BI "#extension comm " "program comment"
297 Specifies the comment \fIcomment\fP for the tone number \fIprogram\fP.
298 These comments are displayed in the indicator line when
299 \fBTiMidity++\fP is booted with option \fB\-int\fP, \fB\-iTt\fP.
300 .TP
301 .BI "#extension timeout " "program second"
302 Specifies the time\-out value of the \fIprogram\fP.  If any notes
303 played with the tone number \fIprogram\fP are suspended more than
304 \fIsecond\fP seconds, \fBTiMidity++\fP kills the notes.
305 .TP
306 .BI "#extension copydrumset " drumset
307 Copies all settings of the \fIdrumset\fP to the current drumset.
308 .TP
309 .BI "#extension copybank " bank
310 Copies all settings of the \fIbank\fP to the current bank.
311 .TP
312 .BI "#extension copymap " "to\-MapID from\-MapID"
313 Copies all settings of the banks defined for the map \fIfrom\-MapID\fP
314 to the map \fIto\-MapID\fP.
315 .TP
316 .BI "#extension HTTPproxy " hostname:port
317 Specifies the proxy of the HTTP protocol.  \fIhostname\fP and
318 \fIport\fB are of the proxy host's.
319 .TP
320 .BI "#extension FTPproxy " hostname:port
321 Specifies the proxy of the FTP protocol.  Same as HTTP.
322 .TP
323 .BI "#extension mailaddr " your\-mail\-address
324 Specifies user's mail address.  This address is sent to the FTP
325 server if \fBTiMidity++\fP access any file via FTP.
326 .TP
327 .BI "#extension opt " option
328 Sets the value of boot\-time options.
329 .TP
330 .BI "#extension undef " progno
331 Undefine the tone \fIprogno\fP of current tone bank.
332 .TP
333 .BI "#extension legato " "progno " {0|1}
334 Specifies whether legato is enable (\fB1\fP) or disable (\fB0\fP) on
335 \fIprogno\fP.
336 .TP
337 .BI "#extension level " "progno tva_level"
338 Set the standard value of changing amplification when processing Drum
339 Instrument TVA Level of NRPN.  Unless Drum Instrument TVA Level is
340 specified at playing, the amplification is no influenced.
341 .TP
342 .BI "#extension redamper " "progno " {0|1}
343 Specifies whether redamper is enable (\fB1\fP) or disable (\fB0\fP) on
344 \fIprogno\fP.
345 .TP
346 .BI "#extension playnote " "progno note"
347 Set the frequency of pronounce to \fBnote\fP.  If the frequency of
348 pronounce is specified by GS SysEx Play Note, the pitch is changed
349 appropriately according to the value.  \fIprogno\fP can carry out
350 package specification by `,' and/or [\fIstart\fP]\-[\fIend\fP].  An
351 abbreviation of start and end considers that they are \fB0\fP and
352 \fB127\fP respectively.
353 .sp
354 For example:
355 .br
356 drumset 0
357 .br
358 #extension playnote \-37,39,44\-46,55\-60
359 .TP
360 .BI "#extension delaysend " "progno level"
361 .br
362 .ns
363 .TP
364 .BI "#extension chorussend " "progno level"
365 .br
366 .ns
367 .TP
368 .BI "#extension reverbsend " "progno level"
369 Set the send level when drum part effect is enable.  All initial value
370 are \fB127\fP.  If one of delay, chorus and reverb is at least set up,
371 the effect which is not set as the tone will become the initial value
372 \fB0\fP.
373 .TP
374 .BI "#extension rnddelay " "progno msec"
375 For every pronunciation, it is random and less than a maximum of
376 \fImsec\fP delay.  The distribution of random value is pink noise
377 (1/f fluctuation) rather than a white noise.
378 .LP
379 These \fB#extension\fP statements are beginning with character `#'
380 that is the comment flag of old TiMidity (version 0.2i or earlier).
381 So these statements are treated as comment line.
382 .br
383 The latest \fBTiMidity++\fP treats \fB#extension\fP as white\-space.
384 So you can omit it.
385 .LP
386 If any file\-name expression ended with character `|' (Ascii 0x7c),
387 the file\-name is treated as command and outputs of the command
388 are also examined as arguments of statements.
389 .br
390 \fBsource\fP \fIcommand\fP| causes the output of \fIcommand\fP becomes
391 the argument of \fBsource\fP.  It is convenient to choose settings of
392 \fBTiMidity++\fP according to environment.  In addition, if a space
393 enters on the way like \fIcommand\fP |, it will be divided at the time
394 of setting file reading, and will no longer be regarded as a command.
395 This function is applicable to all the places that can specify a file
396 name.
397 .sp
398 .RS
399 timidity 'cat fild.mid|'
400 .RE
401 .sp
402 will read from the output of cat fild.mid.
403 .SH FILES
404 .TP
405 .B /etc/timidity.cfg
406 .TP
407 .B /usr/local/share/timidity/timidity.cfg
408 .SH SEE ALSO
409 timidity(1), lsmidiprog(1), mididump(1), patinfo(1), sf2text(1), wav2pat(1)
410 .SH COPYRIGHT
411 Copyright (C) 1999\-2004 Masanao Izumo <iz@onicos.co.jp>
412 .br
413 Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
414 .LP
415 The original version was developed by Tuukka Toivonen <tt@cgs.fi>
416 until the release of TiMidity\-0.2i.  His development was discontinued
417 because of his being busy with work.
418 .LP
419 This program is free software; you can redistribute it and/or modify
420 it under the terms of the \fIGNU General Public License\fP as
421 published by the Free Software Foundation; either version 2 of the
422 License, or (at your option) any later version.
423 .LP
424 This program is distributed in the hope that it will be useful, but
425 WITHOUT ANY WARRANTY; without even the implied warranty of
426 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the \fIGNU
427 General Public License\fP for more details.
428 .LP
429 You should have received a copy of the GNU General Public License
430 along with this program; if not, write to the Free Software
431 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111\-1307
432 USA
433 .SH AVAILABILITY
434 The latest release is available on the \fBTiMidity++\fP Page,
435 .LP
436 URL http://www.timidity.jp/