Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
timidity.cfg(5) 	       File Formats Manual		 timidity.cfg(5)

NAME
     timidity.cfg - configure file of TiMidity++

DESCRIPTION
     The  file	timidity.cfg  describes the runtime environments of timidity(1):
     that are the path of sound font, 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, un-
     less 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.

VARIABLE
     When alphanumeric and/or underscore `_' characters  continue  after  dollar
     sign `$', it is considered that the string is a variable and the configura-
     tion  file  is processed, it is transposed to another string.  The variable
     name can also be written with an inside parenthesis, in order  to	separate
     from a following character.

     For example:
     $variable
     ${variable} # same as $variable

     For  the moment, the command which newly defines variables is not prepared.
     The undefined variable is transposed to null string.
     The variable defined as a regular variable is the next only one.

     $basedir
	    Expresses the directory where the configuration file exists.  By the
	    command which mainly specifies a path, it uses in order  to  specify
	    the relative path from a setting file.
	    When  a blank may be included in $basedir, it is necessary to bundle
	    with "".

	    For example:
	    In /usr/local/share/timidity/timidity.cfg
	    dir $basedir/inst # source /usr/local/share/timidity/inst

SYNTAX
     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  com-
	    mand line option.
	    Archive file are also allowed.

	    For example:
	    dir /usr/local/share/timidity/inst/foo.zip#
	    bank 0
	    0 bar.pat
	    1 baz.pat
	    2 zoo.pat

	    At	first,	dir specifies the archive name (followed by `#') for the
	    path of patch files same as directory name (in this  case,	/usr/lo-
	    cal/share/timidity/inst/foo.zip).	TiMidity++ recognize the path is
	    an archive file if the expression has the last  character  `#',  and
	    also read the files contained in this archive file.  In previous ex-
	    ample  the patch files bar.pat, baz.pat and zoo.pat contained in the
	    foo.zip are also installed.

     source file [...]
	    Reads another configuration file, then continues processing the cur-
	    rent one.

     progbase number
	    Sets and displays the tone number from  number  to	number+128.   If
	    progbase  1 are specified, tone numbers that follow are set and dis-
	    played as the numbers from 1 to 128.

     bank [MapID1] number
	    Selects the tone bank to modify.  Patch mappings  that  follow  will
	    affect  this  tone bank.  You can indicate specific map as a target,
	    by specifying any of the  following  to  MapID1:  gm2,  sc55,  sc88,
	    sc88pro, sc8850, xg and xgsfx64.

     drumset [MapID2] number
	    Selects the drum set to modify.  Patch mappings that follow will af-
	    fect  this	drum set.  You can indicate specific map as a target, by
	    specifying any  of	the  following	to  MapID2:  gm2drum,  sc55drum,
	    sc88drum, sc88prodrum, sc8850drum, xgdrum and xgsfx126.

     number file [options]
     number %font file bank prog [key] [options]
     number %sample file [options]
	    Specifies  that  the MIDI program number in the current tone bank or
	    drum set should be played using the patch file.  If file  is  Sound-
	    Font,  the specific instrument with bank, prog, and key is taken out
	    by the format of number %font.  If file is linear AIFF or WAV sample
	    data, the MIDI program number is specified by the format  of  number
	    %sample.  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  deter-
		   mined whenever the instrument is loaded.

	    note=note
		   Specifies  a  fixed MIDI note to use when playing the instru-
		   ment.  If note is 0, the instrument will be played  at  what-
		   ever  note  the Note On event triggering it has.  For percus-
		   sion instruments, if no value is specified in the  configura-
		   tion 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,  designat-
		   ing	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.

	    tune=tuning[,...]
		   Adjust the instrument's root frequency.  tune=1 causes 1 half
		   tone higher.  Since a fraction is available for tuning, it is
		   possible  to  do  fine tuning such as tune=-0.2.  When two or
		   more sample data is contained, the arguments after the second
		   can specify different value respectively.

	    rate=attack:decay:sustain:release1:release2:release3[,...]
		   Sets the instrument's ADSR rate.  Each value may be an  inte-
		   ger between 0 and 255.  When you set only sustain rate,

		   6 GUS/hrpschrd.pat rate=::60

		   is available.  When you set only attack time fasten,

		   6 GUS/hrpschrd.pat rate=255

		   is available.  When two or more sample data is contained, the
		   arguments  after  the  second can specify different value re-
		   spectively.

	    offset=attack:decay:sustain:release1:release2:release3[,...]
		   Sets the instrument's ADSR offset.  Each value may be an  in-
		   teger between 0 and 255.  The format is same as rate=.

	    keep={loop|env}
		   By  default, percussion instruments have their loop and enve-
		   lope information stripped.  Strangely  shaped  envelopes  are
		   removed  automatically  from  melodic  instruments  as  well.
		   keep= can be used to prevent stripping loop or envelope data.
		   For example, the Short and Long  Whistle  percussion  instru-
		   ments   (General  Midi  numbers  71	and  72)  need	to  have
		   `keep=loop keep=env' specified in the configuration 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 evidenced by a clicking noise whenever the
		   instrument  is  played,  so adding the strip=tail option will
		   markedly improve sound quality.

	    tremolo=sweep_increment:control_ratio:depth[,...]
		   Sets the instrument's tremolo.  Each value may be an  integer
		   between   0	and  255.   The  format  is  similar  to  rate=.
		   sweep_increment is the time until tremolo is  started.   con-
		   trol_ratio  is the rate changing amplification.  depth is the
		   depth changing amplification.

	    vibrato=sweep_increment:phase_increment:depth[,...]
		   Sets the instrument's vibrato.  Each value may be an  integer
		   between   0	and  255.   The  format  is  similar  to  rate=.
		   sweep_increment  is	the  time  until  vibrato  is	started.
		   phase_increment is the rate changing frequency.  depth is the
		   depth changing frequency.

	    sclnote=note[,...]
		   Sets  the  instrument's  standard note for scale tuning.  For
		   example, sclnote=60 causes the center note C to  be	standard
		   note  for scale tuning.  When two or more sample data is con-
		   tained, the arguments after the second can specify  different
		   value respectively.

	    scltune=tune[,...]
		   Sets  the instrument's scale tuning factor in cents.  For ex-
		   ample, scltune=50 causes the half tone  steps  as  50  cents.
		   When  two or more sample data is contained, the arguments af-
		   ter the second can specify different value respectively.

	    comm=comment
		   Specifies the comment comment.

	    modrate=attack:decay:sustain:release1:release2:release3[,...]
	    modoffset=attack:decay:sustain:release1:release2:release3[,...]
		   Sets the instrument's behavior of change of modulation  enve-
		   lope.  The format and values are fundamentally same as volume
		   envelope.   Except  for some SoundFonts, even if it specifies
		   only the option, nothing happens.

	    envkeyf=attack:decay:sustain:release1:release2:release3[,...]
		   Sets the instrument's volume envelope key follow.   Based  on
		   note=60,  it  changes  envelope  time according to note.  The
		   unit is +-cent/key.	For example, envkeyf=100 means that  the
		   attack  time  will  double  when it goes up by 1 octave.  The
		   format is similar to rate=.	The parameter of decay and  sus-
		   tain may be preset in some SoundFont.

	    envvelf=attack:decay:sustain:release1:release2:release3[,...]
		   Sets the instrument's volume envelope velocity follow.  Based
		   on  velocity=64, it changes envelope time according to veloc-
		   ity.  The unit is +-cent/velocity.  For example,  envvelf=100
		   means  that	the  attack  time will 38 times at velocity=127.
		   The format is similar to rate=.  In the future, the	specifi-
		   cation of this option may be changed.

	    modkeyf=attack:decay:sustain:release1:release2:release3[,...]
		   Sets  the instrument's modulation envelope key follow.  Based
		   on note=60, it changes envelope time according to note.   The
		   unit  is +-cent/key.  For example, modkeyf=100 means that the
		   attack time will double when it goes up  by	1  octave.   The
		   format  is similar to rate=.  The parameter of decay and sus-
		   tain may be preset in some SoundFont.

	    modvelf=attack:decay:sustain:release1:release2:release3[,...]
		   Sets the instrument's modulation  envelope  velocity  follow.
		   Based  on  velocity=64, it changes envelope time according to
		   velocity.  The unit is +-cent/velocity.   For  example,  mod-
		   velf=100  means  that the attack time will 38 times at veloc-
		   ity=127.  The format is similar to rate=.  In the future, the
		   specification of this option may be changed.

	    trempitch=num[,...]
		   Sets the instrument's depth of changing  pitch  according  to
		   tremolo.   The  effect  itself is same as vibrato, it uses to
		   operate in another system.  The unit is +-cent.   The  format
		   is similar to rate=.

	    tremfc=num[,...]
		   Sets  the instrument's depth of changing cutoff frequency ac-
		   cording to tremolo.	It can express the so-called  glowl  ef-
		   fect.  The unit, etc.  are same as trempitch=.

	    modpitch=num[,...]
		   Sets  the  instrument's  depth of changing pitch according to
		   modulation envelope.   It  can  temporarily	express  raising
		   pitch  only for the attack stage.  The unit, etc. are same as
		   trempitch=.

	    modfc=num[,...]
		   Sets the instrument's depth of changing cutoff frequency  ac-
		   cording  to	modulation envelope.  The unit, etc. are same as
		   trempitch=.

	    fc=num[,...]
		   Sets the instrument's standard of cutoff frequency.	The unit
		   is Hz.  The format is similar to rate=.

	    q=num[,...]
		   Sets the instrument's Q (resonance).  The unit  is  cB.   The
		   format is similar to rate=.

	    fckeyf=num
		   Sets  the  instrument's filter key follow.  Based on note=60,
		   it change cutoff frequency according to note.   The	unit  is
		   +-cent/key.	 For  example,	fckeyf=100 means that it changes
		   same as pitch.

	    fcvelf=num
		   Sets the instrument's filter velocity follow.  Based  on  ve-
		   locity=127,	it  changes cutoff frequency according to veloc-
		   ity.  The unit is +-cent.  In SoundFont, -2400 is set up as a
		   characteristic value.

	    qvelf=num
		   Sets the instrument's resonance velocity  follow.   Based  on
		   velocity=0,	it changes resonance according to velocity.  The
		   unit is +-cB.

     default file
	    When MIDI program appears, which is not mapped to  instrument  file,
	    this file is pronounced as a substitute.

     map MapID1 from-bank from-prog to-bank to-prog
	    The  existing  tone  is  assigned as a tone of GS/XG each map.  gm2,
	    sc55, sc88, sc88pro, sc8850, xg and xgsfx64 can be specified  to  be
	    MapID1.

     map MapID2 from-drumset from-keynote to-drumset to-keynote
	    The existing drum is assigned as a drum of GS/XG each map.	gm2drum,
	    sc55drum, sc88drum, sc88prodrum, sc8850drum, xgdrum and xgsfx126 can
	    be specified to be MapID2.

     soundfont file [options]
	    Read the whole SoundFont.  options may be any of the following:

	    order=number
		   Sets  the  order  of searching for instrument.  When order=0,
		   first read SoundFont, and then search for  insufficient  sam-
		   ples  in  GUS/patch.   When order=1, after reading GUS/patch,
		   search for SoundFont.

	    amp=amplification
		   Sets the amplification of the whole SoundFont  as  amplifica-
		   tion%.  If the value is not specified, it is set by 100%.

	    cutoff=number
		   Specifies  whether  LPF in SoundFont is enable (1) or disable
		   (0).  If the value is not specified, it is considered  to  be
		   enable.

	    reso=number
		   Specifies  whether  resonance  in  SoundFont is enable (1) or
		   disable (0).  If the value is not specified, it is considered
		   to be enable.

	    remove
		   Cancels the target SoundFont from the memory.

     font exclude bank [prog [key]]
	    Suppresses searching for SoundFont of bank, prog.  If the sample  is
	    drumset, bank is 128, drumset is prog, keynum is key.

     font order number bank [prog [key]]
	    Sets the order of searching for instrument individually.  The format
	    is same as font exclude.

     The following statements are available only latest TiMidity++.

     #extension altassign program1 program2 ...
	    Sets the alternate assign for drum set.  For example, if you want to
	    pronounce  Hi-Hat cymbals (note number 42, 44 and 46) in the drumset
	    0 exclusively to each others, specify:

	    drumset 0
	    altassign 42 44 46

	    Note that alternate assign of drumset 0 is used by default.

     #extension comm program comment
	    Specifies the comment comment for the tone	number	program.   These
	    comments  are  displayed  in  the  indicator line when TiMidity++ is
	    booted with option -int, -iTt.

     #extension timeout program second
	    Specifies the time-out value of the program.  If  any  notes  played
	    with the tone number program are suspended for more than second sec-
	    onds, TiMidity++ kills the notes.

     #extension copydrumset drumset
	    Copies all settings of the drumset to the current drumset.

     #extension copybank bank
	    Copies all settings of the bank to the current bank.

     #extension copymap to-MapID from-MapID
	    Copies  all  settings of the banks defined for the map from-MapID to
	    the map to-MapID.

     #extension HTTPproxy hostname:port
	    Specifies the proxy of the HTTP protocol.  hostname and port are  of
	    the proxy host's.

     #extension FTPproxy hostname:port
	    Specifies the proxy of the FTP protocol.  Same as HTTP.

     #extension mailaddr your-mail-address
	    Specifies  user's  mail  address.	This  address is sent to the FTP
	    server if TiMidity++ access any file via FTP.

     #extension opt option
	    Sets the value of boot-time options.

     #extension undef progno
	    Undefines the tone progno of current tone bank.

     #extension legato progno {0|1}
	    Specifies whether legato is enable (1) or disable (0) on progno.

     #extension level progno tva_level
	    Sets the standard value of changing  amplification	when  processing
	    Drum Instrument TVA Level of NRPN.	Unless Drum Instrument TVA Level
	    is	specified  at  playing,  the  amplification  is  not influenced.
	    progno  can  carry	out  package   specification   by   `,'   and/or
	    [start]-[end].  If start and end are omitted, they are assumed to be
	    0 and 127 respectively.

     #extension damper progno {0|1}
	    Specifies whether redamper and half-damper are enable (1) or disable
	    (0) on progno.

     #extension playnote progno note
	    Sets  the  frequency of pronounce to note.	If the frequency of pro-
	    nounce is specified by GS SysEx Play Note, the pitch is changed  ap-
	    propriately  according  to	the value.  progno can carry out package
	    specification by `,' and/or [start]-[end].	If  start  and	end  are
	    omitted, they are assumed to be 0 and 127 respectively.

	    For example:
	    drumset 0
	    #extension playnote -37,39,44-46,55-60

     #extension delaysend progno level
     #extension chorussend progno level
     #extension reverbsend progno level
	    Sets  the  send  level when drum part effect is enable.  All initial
	    value are 127.  If one of delay, chorus and reverb is at  least  set
	    up,  the effect which is not set as the tone will become the initial
	    value 0.  progno can carry out package specification by  `,'  and/or
	    [start]-[end].  If start and end are omitted, they are assumed to be
	    0 and 127 respectively.

     #extension rnddelay progno msec
	    For  every	pronunciation,	it  is random and less than a maximum of
	    msec delay.  The distribution of random value  is  pink  noise  (1/f
	    fluctuation) rather than a white noise.

     These  #extension	statements  are beginning with character `#' that is the
     comment flag of old TiMidity (version 0.2i or earlier).   So  these  state-
     ments are treated as comment line.
     The  latest  TiMidity++  treats #extension as white-space.  So you can omit
     it.

     If any file-name expression ended with  character	`|'  (Ascii  0x7c),  the
     file-name	is  treated as command and outputs of the command are also exam-
     ined as arguments of statements.
     source command| causes the  output  of  command  becomes  the  argument  of
     source.  It is convenient to choose settings of TiMidity++ according to en-
     vironment.   In  addition,  if a space enters on the way like command |, it
     will be divided at the time of setting file reading, and will no longer  be
     regarded  as a command.  This function is applicable to all the places that
     can specify a file name.

	    timidity 'cat fild.mid|'

     will read from the output of cat fild.mid.

FILES
     /etc/timidity.cfg

     /usr/local/share/timidity/timidity.cfg

SEE ALSO
     timidity(1), lsmidiprog(1), mididump(1), patinfo(1), sf2text(1), wav2pat(1)

COPYRIGHT
     Copyright (C) 1999-2004 Masanao Izumo <iz@onicos.co.jp>
     Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>

     The original version was developed by Tuukka Toivonen <tt@cgs.fi> until the
     release of TiMidity-0.2i.	His development was discontinued because of  his
     being busy with work.

     This program is free software; you can redistribute it and/or modify it un-
     der  the  terms  of the GNU General Public License as published by the Free
     Software Foundation; either version 2 of the License, or (at  your  option)
     any later version.

     This program is distributed in the hope that it will be useful, but WITHOUT
     ANY  WARRANTY; without even the implied warranty of MERCHANTABILITY or FIT-
     NESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
     details.

     You should have received a copy of the GNU  General  Public  License  along
     with  this program; if not, write to the Free Software Foundation, Inc., 59
     Temple Place, Suite 330, Boston, MA 02111-1307 USA

AVAILABILITY
     The latest release is available on the TiMidity++ Page,

     URL https://sourceforge.net/projects/timidity/

2.13.0				  April 25 2004 		 timidity.cfg(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=timidity.cfg&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help