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	timid-
       ity(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  li-
       brary  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 pro-
       cessing	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.

VARIABLE
       When alphanumeric and/or	underscore `_' characters continue after  dol-
       lar  sign  `$',	it is considered that the string is a variable and the
       configuration 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  pre-
       pared.  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
	      command 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/local/share/timidity/inst/foo.zip).	 TiMidity++  recognize
	      the path is an archive file if the expression has	the last char-
	      acter  `#',  and	also  read the files contained in this archive
	      file.  In	previous example 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
	      current 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
	      displayed	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
	      affect this drum set.  You can indicate specific map as  a  tar-
	      get,  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
	      SoundFont,  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  per-
		     cent.   If	 no  value is specified, one will be automati-
		     cally determined whenever the instrument is loaded.

	      note=note
		     Specifies a fixed MIDI note to use	when playing  the  in-
		     strument.	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.

	      tune=tuning[,...]
		     Adjust the	instrument's root frequency.  tune=1 causes  1
		     half tone higher.	Since a	fraction is available for tun-
		     ing, 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  respec-
		     tively.

	      rate=attack:decay:sustain:release1:release2:release3[,...]
		     Sets  the	instrument's  ADSR rate.  Each value may be an
		     integer 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 respectively.

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

	      keep={loop|env}
		     By	default, percussion instruments	have  their  loop  and
		     envelope  information  stripped.	Strangely  shaped  en-
		     velopes are removed automatically	from  melodic  instru-
		     ments  as	well.	keep= can be used to prevent stripping
		     loop or envelope 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 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  in-
		     teger between 0 and 255.  The format is similar to	rate=.
		     sweep_increment is	the time  until	 tremolo  is  started.
		     control_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  in-
		     teger 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  contained,  the	arguments after	the second can
		     specify different value respectively.

	      scltune=tune[,...]
		     Sets the instrument's scale tuning	factor in cents.   For
		     example,  scltune=50  causes  the	half  tone steps as 50
		     cents.  When two or more sample data  is  contained,  the
		     arguments	after  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
		     envelope.	 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 oc-
		     tave.   The format	is similar to rate=.  The parameter of
		     decay and sustain 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	velocity.  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 specification 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 sustain may be preset	in some	SoundFont.

	      modvelf=attack:decay:sustain:release1:release2:release3[,...]
		     Sets the instrument's modulation envelope	velocity  fol-
		     low.   Based on velocity=64, it changes envelope time ac-
		     cording to	velocity.  The unit is	+-cent/velocity.   For
		     example,  modvelf=100  means that the attack time will 38
		     times at velocity=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
		     according to tremolo.  It can express the so-called glowl
		     effect.  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 rais-
		     ing  pitch	only for the attack stage.  The	unit, etc. are
		     same as trempitch=.

	      modfc=num[,...]
		     Sets the instrument's depth of changing cutoff  frequency
		     according	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
		     velocity=127, it changes cutoff  frequency	 according  to
		     velocity.	 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	veloc-
		     ity.  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 or-
		     der=0, first read SoundFont, and then search for insuffi-
		     cient  samples in GUS/patch.  When	order=1, after reading
		     GUS/patch,	search for SoundFont.

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

	      cutoff=number
		     Specifies whether LPF in SoundFont	is enable (1) or  dis-
		     able  (0).	  If the value is not specified, it is consid-
		     ered to be	enable.

	      reso=number
		     Specifies whether resonance in SoundFont is enable	(1) or
		     disable  (0).   If	the value is not specified, it is con-
		     sidered 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	TiMid-
	      ity++ 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 seconds, 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 process-
	      ing Drum Instrument TVA Level of NRPN.  Unless  Drum  Instrument
	      TVA  Level is specified at playing, the amplification is not in-
	      fluenced.	 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
	      pronounce	is specified by	GS  SysEx  Play	 Note,	the  pitch  is
	      changed  appropriately 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 respec-
	      tively.

	      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  ini-
	      tial  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  be-
	      come the initial value 0.	 progno	can carry out package specifi-
	      cation by	`,' and/or [start]-[end].  If start and	end are	 omit-
	      ted, 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
       statements 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 ex-
       amined 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
       environment.  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
       under  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  MER-
       CHANTABILITY  or	FITNESS	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)

NAME | DESCRIPTION | VARIABLE | SYNTAX | FILES | SEE ALSO | COPYRIGHT | AVAILABILITY

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

home | help