1timidity.cfg(5)               File Formats Manual              timidity.cfg(5)
2
3
4

NAME

6       timidity.cfg - configure file of TiMidity++
7

DESCRIPTION

9       The  file  timidity.cfg  describes  the  runtime environments of timid‐
10       ity(1): that are the path of sound  font,  instruments  configurations,
11       etc.
12       TiMidity++  looks  for  the configuration file timidity.cfg at startup,
13       before processing any options.   If  it  can't  be  accessed,  and  the
14       library  path is changed with a -L option on the command line, then the
15       default file will be sought again along the new library path after pro‐
16       cessing  all  options,  unless another configuration file was specified
17       with the -c option.
18       Configuration files define the mapping of MIDI programs  to  instrument
19       files.   Multiple  files may be specified, and statements in later ones
20       will override earlier ones.
21

VARIABLE

23       When alphanumeric and/or underscore `_' characters continue after  dol‐
24       lar  sign  `$',  it is considered that the string is a variable and the
25       configuration file is processed, it is transposed  to  another  string.
26       The  variable  name  can also be written with an inside parenthesis, in
27       order to separate from a following character.
28
29       For example:
30       $variable
31       ${variable} # same as $variable
32
33       For the moment, the command which newly defines variables is  not  pre‐
34       pared.  The undefined variable is transposed to null string.
35       The variable defined as a regular variable is the next only one.
36
37       $basedir
38              Expresses the directory where the configuration file exists.  By
39              the command which mainly specifies a path, it uses in  order  to
40              specify the relative path from a setting file.
41              When  a  blank  may  be included in $basedir, it is necessary to
42              bundle with "".
43
44              For example:
45              In /usr/local/share/timidity/timidity.cfg
46              dir $basedir/inst # source /usr/local/share/timidity/inst
47

SYNTAX

49       The following statements can be used in a configuration file:
50
51       dir directory [...]
52              Adds directory to the search path in the same manner as  the  -L
53              command line option.
54              Archive file are also allowed.
55
56              For example:
57              dir /usr/local/share/timidity/inst/foo.zip#
58              bank 0
59              0 bar.pat
60              1 baz.pat
61              2 zoo.pat
62
63              At  first,  dir specifies the archive name (followed by `#') for
64              the path of patch files same as directory name  (in  this  case,
65              /usr/local/share/timidity/inst/foo.zip).   TiMidity++  recognize
66              the path is an archive file if the expression has the last char‐
67              acter  `#',  and  also  read the files contained in this archive
68              file.  In previous example the patch files bar.pat, baz.pat  and
69              zoo.pat contained in the foo.zip are also installed.
70
71       source file [...]
72              Reads  another configuration file, then continues processing the
73              current one.
74
75       progbase number
76              Sets and displays the tone number from number to number+128.  If
77              progbase  1  are specified, tone numbers that follow are set and
78              displayed as the numbers from 1 to 128.
79
80       bank [MapID1] number
81              Selects the tone bank to modify.   Patch  mappings  that  follow
82              will  affect this tone bank.  You can indicate specific map as a
83              target, by specifying any of the following to MapID1: gm2, sc55,
84              sc88, sc88pro, sc8850, xg and xgsfx64.
85
86       drumset [MapID2] number
87              Selects the drum set to modify.  Patch mappings that follow will
88              affect this drum set.  You can indicate specific map as  a  tar‐
89              get,  by  specifying  any  ofthe  following  to MapID2: gm2drum,
90              sc55drum,  sc88drum,   sc88prodrum,   sc8850drum,   xgdrum   and
91              xgsfx126.
92
93       number file [options]
94       number %font file bank prog [key] [options]
95       number %sample file [options]
96              Specifies  that the MIDI program number in the current tone bank
97              or drum set should be played using the patch file.  If  file  is
98              SoundFont,  the  specific instrument with bank, prog, and key is
99              taken out by the format of number %font.  If file is linear AIFF
100              or  WAV sample data, the MIDI program number is specified by the
101              format of number %sample.  Options may be any of the following:
102
103              amp=amplification
104                     Amplifies the instrument's volume by  amplification  per‐
105                     cent.   If  no  value is specified, one will be automati‐
106                     cally determined whenever the instrument is loaded.
107
108              note=note
109                     Specifies a fixed MIDI  note  to  use  when  playing  the
110                     instrument.   If note is 0, the instrument will be played
111                     at whatever note the Note On  event  triggering  it  has.
112                     For  percussion  instruments, if no value is specified in
113                     the configuration file, the default  in  the  patch  file
114                     will be used.
115
116              pan=panning
117                     Sets  the  instrument's  default panning.  panning may be
118                     left, right, center, or an integer between -100 and  100,
119                     designating full left and full right respectively.  If no
120                     value is specified, the default in the patch file will be
121                     used.   Note  that  panning  controls  in MIDI files will
122                     override this value.
123
124              tune=tuning[,...]
125                     Adjust the instrument's root frequency.  tune=1 causes  1
126                     half tone higher.  Since a fraction is available for tun‐
127                     ing, it is possible to do fine tuning such as  tune=-0.2.
128                     When  two or more sample data is contained, the arguments
129                     after the second  can  specify  different  value  respec‐
130                     tively.
131
132              rate=attack:decay:sustain:release1:release2:release3[,...]
133                     Sets  the  instrument's  ADSR rate.  Each value may be an
134                     integer between 0 and 255.  When  you  set  only  sustain
135                     rate,
136
137                     6 GUS/hrpschrd.pat rate=::60
138
139                     is available.  When you set only attack time fasten,
140
141                     6 GUS/hrpschrd.pat rate=255
142
143                     is available.  When two or more sample data is contained,
144                     the arguments after  the  second  can  specify  different
145                     value respectively.
146
147              offset=attack:decay:sustain:release1:release2:release3[,...]
148                     Sets  the instrument's ADSR offset.  Each value may be an
149                     integer between 0 and 255.  The format is same as rate=.
150
151              keep={loop|env}
152                     By default, percussion instruments have  their  loop  and
153                     envelope    information   stripped.    Strangely   shaped
154                     envelopes are removed automatically from melodic  instru‐
155                     ments  as  well.   keep= can be used to prevent stripping
156                     loop or envelope data.  For example, the Short  and  Long
157                     Whistle  percussion  instruments (General Midi numbers 71
158                     and 72) need to have `keep=loop  keep=env'  specified  in
159                     the configuration file.
160
161              strip={loop|env|tail}
162                     Force  removal  of  loop or envelope information from all
163                     patches in the instrument, or strip the  tail,  i.e.  all
164                     data  after  the loop.  Some third-party instruments have
165                     garbage after the loop, as evidenced by a clicking  noise
166                     whenever   the   instrument  is  played,  so  adding  the
167                     strip=tail option will markedly improve sound quality.
168
169              tremolo=sweep_increment:control_ratio:depth[,...]
170                     Sets the instrument's tremolo.   Each  value  may  be  an
171                     integer  between  0  and  255.   The format is similar to
172                     rate=.  sweep_increment is  the  time  until  tremolo  is
173                     started.   control_ratio  is the rate changing amplifica‐
174                     tion.  depth is the depth changing amplification.
175
176              vibrato=sweep_increment:phase_increment:depth[,...]
177                     Sets the instrument's vibrato.   Each  value  may  be  an
178                     integer  between  0  and  255.   The format is similar to
179                     rate=.  sweep_increment is  the  time  until  vibrato  is
180                     started.  phase_increment is the rate changing frequency.
181                     depth is the depth changing frequency.
182
183              sclnote=note[,...]
184                     Sets the instrument's standard  note  for  scale  tuning.
185                     For  example,  sclnote=60  causes the center note C to be
186                     standard note for scale tuning.  When two or more  sample
187                     data  is  contained,  the  arguments after the second can
188                     specify different value respectively.
189
190              scltune=tune[,...]
191                     Sets the instrument's scale tuning factor in cents.   For
192                     example,  scltune=50  causes  the  half  tone steps as 50
193                     cents.  When two or more sample data  is  contained,  the
194                     arguments  after  the  second can specify different value
195                     respectively.
196
197              comm=comment
198                     Specifies the comment comment.
199
200              modrate=attack:decay:sustain:release1:release2:release3[,...]
201              modoffset=attack:decay:sustain:release1:release2:release3[,...]
202                     Sets the instrument's behavior of  change  of  modulation
203                     envelope.   The  format and values are fundamentally same
204                     as volume envelope.  Except for some SoundFonts, even  if
205                     it specifies only the option, nothing happens.
206
207              envkeyf=attack:decay:sustain:release1:release2:release3[,...]
208                     Sets  the instrument's volume envelope key follow.  Based
209                     on note=60, it changes envelope time according  to  note.
210                     The  unit  is +-cent/key.  For example, envkeyf=100 means
211                     that the attack time will double when it  goes  up  by  1
212                     octave.   The  format is similar to rate=.  The parameter
213                     of decay and sustain may be preset in some SoundFont.
214
215              envvelf=attack:decay:sustain:release1:release2:release3[,...]
216                     Sets the instrument's volume  envelope  velocity  follow.
217                     Based  on velocity=64, it changes envelope time according
218                     to velocity.  The unit is +-cent/velocity.  For  example,
219                     envvelf=100  means  that the attack time will 38 times at
220                     velocity=127.  The format is similar to  rate=.   In  the
221                     future, the specification of this option may be changed.
222
223              modkeyf=attack:decay:sustain:release1:release2:release3[,...]
224                     Sets  the  instrument's  modulation  envelope key follow.
225                     Based on note=60, it changes envelope time  according  to
226                     note.   The unit is +-cent/key.  For example, modkeyf=100
227                     means that the attack time will double when it goes up by
228                     1 octave.  The format is similar to rate=.  The parameter
229                     of decay and sustain may be preset in some SoundFont.
230
231              modvelf=attack:decay:sustain:release1:release2:release3[,...]
232                     Sets the instrument's modulation envelope  velocity  fol‐
233                     low.   Based  on  velocity=64,  it  changes envelope time
234                     according to velocity.  The unit is +-cent/velocity.  For
235                     example,  modvelf=100  means that the attack time will 38
236                     times at velocity=127.  The format is similar  to  rate=.
237                     In  the  future,  the specification of this option may be
238                     changed.
239
240              trempitch=num[,...]
241                     Sets the instrument's depth of changing  pitch  according
242                     to  tremolo.   The  effect  itself is same as vibrato, it
243                     uses to operate in another system.  The unit  is  +-cent.
244                     The format is similar to rate=.
245
246              tremfc=num[,...]
247                     Sets  the instrument's depth of changing cutoff frequency
248                     according to tremolo.  It can express the so-called glowl
249                     effect.  The unit, etc.  are same as trempitch=.
250
251              modpitch=num[,...]
252                     Sets  the  instrument's depth of changing pitch according
253                     to modulation envelope.  It can temporarily express rais‐
254                     ing  pitch only for the attack stage.  The unit, etc. are
255                     same as trempitch=.
256
257              modfc=num[,...]
258                     Sets the instrument's depth of changing cutoff  frequency
259                     according  to  modulation  envelope.   The unit, etc. are
260                     same as trempitch=.
261
262              fc=num[,...]
263                     Sets the instrument's standard of cutoff frequency.   The
264                     unit is Hz.  The format is similar to rate=.
265
266              q=num[,...]
267                     Sets  the  instrument's  Q  (resonance).  The unit is cB.
268                     The format is similar to rate=.
269
270              fckeyf=num
271                     Sets  the  instrument's  filter  key  follow.   Based  on
272                     note=60,  it  change  cutoff frequency according to note.
273                     The unit is +-cent/key.  For  example,  fckeyf=100  means
274                     that it changes same as pitch.
275
276              fcvelf=num
277                     Sets  the  instrument's filter velocity follow.  Based on
278                     velocity=127, it changes cutoff  frequency  according  to
279                     velocity.   The  unit  is +-cent.  In SoundFont, -2400 is
280                     set up as a characteristic value.
281
282              qvelf=num
283                     Sets the instrument's resonance velocity  follow.   Based
284                     on  velocity=0,  it changes resonance according to veloc‐
285                     ity.  The unit is +-cB.
286
287       default file
288              When MIDI program appears, which is  not  mapped  to  instrument
289              file, this file is pronounced as a substitute.
290
291       map MapID1 from-bank from-prog to-bank to-prog
292              The existing tone is assigned as a tone of GS/XG each map.  gm2,
293              sc55, sc88, sc88pro, sc8850, xg and xgsfx64 can be specified  to
294              be MapID1.
295
296       map MapID2 from-drumset from-keynote to-drumset to-keynote
297              The  existing  drum  is  assigned  as  a drum of GS/XG each map.
298              gm2drum, sc55drum, sc88drum, sc88prodrum, sc8850drum, xgdrum and
299              xgsfx126 can be specified to be MapID2.
300
301       soundfont file [options]
302              Read the whole SoundFont.  options may be any of the following:
303
304              order=number
305                     Sets   the  order  of  searching  for  instrument.   When
306                     order=0, first read SoundFont, and then search for insuf‐
307                     ficient  samples in GUS/patch.  When order=1, after read‐
308                     ing GUS/patch, search for SoundFont.
309
310              amp=amplification
311                     Sets the amplification of the whole SoundFont as amplifi‐
312                     cation%.   If  the  value  is not specified, it is set by
313                     100%.
314
315              cutoff=number
316                     Specifies whether LPF in SoundFont is enable (1) or  dis‐
317                     able  (0).   If the value is not specified, it is consid‐
318                     ered to be enable.
319
320              reso=number
321                     Specifies whether resonance in SoundFont is enable (1) or
322                     disable  (0).   If the value is not specified, it is con‐
323                     sidered to be enable.
324
325              remove Cancels the target SoundFont from the memory.
326
327       font exclude bank [prog [key]]
328              Suppresses searching for SoundFont of bank, prog.  If the sample
329              is drumset, bank is 128, drumset is prog, keynum is key.
330
331       font order number bank [prog [key]]
332              Sets  the  order  of searching for instrument individually.  The
333              format is same as font exclude.
334
335       The following statements are available only latest TiMidity++.
336
337       #extension altassign program1 program2 ...
338              Sets the alternate assign for drum set.   For  example,  if  you
339              want  to pronounce Hi-Hat cymbals (note number 42, 44 and 46) in
340              the drumset 0 exclusively to each others, specify:
341
342              drumset 0
343              altassign 42 44 46
344
345              Note that alternate assign of drumset 0 is used by default.
346
347       #extension comm program comment
348              Specifies the comment  comment  for  the  tone  number  program.
349              These  comments  are displayed in the indicator line when TiMid‐
350              ity++ is booted with option -int, -iTt.
351
352       #extension timeout program second
353              Specifies the time-out value  of  the  program.   If  any  notes
354              played  with the tone number program are suspended for more than
355              second seconds, TiMidity++ kills the notes.
356
357       #extension copydrumset drumset
358              Copies all settings of the drumset to the current drumset.
359
360       #extension copybank bank
361              Copies all settings of the bank to the current bank.
362
363       #extension copymap to-MapID from-MapID
364              Copies all settings of the banks defined for the map  from-MapID
365              to the map to-MapID.
366
367       #extension HTTPproxy hostname:port
368              Specifies the proxy of the HTTP protocol.  hostname and port are
369              of the proxy host's.
370
371       #extension FTPproxy hostname:port
372              Specifies the proxy of the FTP protocol.  Same as HTTP.
373
374       #extension mailaddr your-mail-address
375              Specifies user's mail address.  This address is sent to the  FTP
376              server if TiMidity++ access any file via FTP.
377
378       #extension opt option
379              Sets the value of boot-time options.
380
381       #extension undef progno
382              Undefines the tone progno of current tone bank.
383
384       #extension legato progno {0|1}
385              Specifies whether legato is enable (1) or disable (0) on progno.
386
387       #extension level progno tva_level
388              Sets  the standard value of changing amplification when process‐
389              ing Drum Instrument TVA Level of NRPN.  Unless  Drum  Instrument
390              TVA  Level  is  specified  at  playing, the amplification is not
391              influenced.  progno can carry out package specification  by  `,'
392              and/or  [start]-[end].   If  start and end are omitted, they are
393              assumed to be 0 and 127 respectively.
394
395       #extension damper progno {0|1}
396              Specifies whether redamper and half-damper  are  enable  (1)  or
397              disable (0) on progno.
398
399       #extension playnote progno note
400              Sets  the  frequency  of pronounce to note.  If the frequency of
401              pronounce is specified by GS  SysEx  Play  Note,  the  pitch  is
402              changed  appropriately according to the value.  progno can carry
403              out package specification by `,' and/or [start]-[end].  If start
404              and  end  are  omitted, they are assumed to be 0 and 127 respec‐
405              tively.
406
407              For example:
408              drumset 0
409              #extension playnote -37,39,44-46,55-60
410
411       #extension delaysend progno level
412       #extension chorussend progno level
413       #extension reverbsend progno level
414              Sets the send level when drum part effect is enable.   All  ini‐
415              tial  value  are  127.  If one of delay, chorus and reverb is at
416              least set up, the effect which is  not  set  as  the  tone  will
417              become the initial value 0.  progno can carry out package speci‐
418              fication by `,' and/or [start]-[end].   If  start  and  end  are
419              omitted, they are assumed to be 0 and 127 respectively.
420
421       #extension rnddelay progno msec
422              For every pronunciation, it is random and less than a maximum of
423              msec delay.  The distribution of random value is pink noise (1/f
424              fluctuation) rather than a white noise.
425
426       These  #extension  statements  are beginning with character `#' that is
427       the comment flag of old TiMidity (version 0.2i or earlier).   So  these
428       statements are treated as comment line.
429       The  latest  TiMidity++  treats  #extension as white-space.  So you can
430       omit it.
431
432       If any file-name expression ended with character `|' (Ascii 0x7c),  the
433       file-name  is  treated  as  command and outputs of the command are also
434       examined as arguments of statements.
435       source command| causes the output of command becomes  the  argument  of
436       source.  It is convenient to choose settings of TiMidity++ according to
437       environment.  In addition, if a space enters on the way like command |,
438       it  will  be  divided  at the time of setting file reading, and will no
439       longer be regarded as a command.  This function is  applicable  to  all
440       the places that can specify a file name.
441
442              timidity 'cat fild.mid|'
443
444       will read from the output of cat fild.mid.
445

FILES

447       /etc/timidity.cfg
448
449       /usr/local/share/timidity/timidity.cfg
450

SEE ALSO

452       timidity(1),   lsmidiprog(1),   mididump(1),   patinfo(1),  sf2text(1),
453       wav2pat(1)
454
456       Copyright (C) 1999-2004 Masanao Izumo <iz@onicos.co.jp>
457       Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>
458
459       The original version was developed by Tuukka Toivonen <tt@cgs.fi> until
460       the release of TiMidity-0.2i.  His development was discontinued because
461       of his being busy with work.
462
463       This program is free software; you can redistribute it and/or modify it
464       under  the  terms of the GNU General Public License as published by the
465       Free Software Foundation; either version 2 of the License, or (at  your
466       option) any later version.
467
468       This  program  is  distributed  in the hope that it will be useful, but
469       WITHOUT ANY  WARRANTY;  without  even  the  implied  warranty  of  MER‐
470       CHANTABILITY  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
471       Public License for more details.
472
473       You should have received a copy of the GNU General Public License along
474       with this program; if not, write to the Free Software Foundation, Inc.,
475       59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
476

AVAILABILITY

478       The latest release is available on the TiMidity++ Page,
479
480       URL http://www.timidity.jp/
481
482
483
4842.13.0                           April 25 2004                 timidity.cfg(5)
Impressum