Man Linux: Main Page and Category List

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, 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
       dollar 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
       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
              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
              character ‘#’, 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
              target,  by  specifying  any ofthe 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
                     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.

              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
                     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
                     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  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
                     integer  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
                     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 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
                     octave.   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
                     follow.  Based on velocity=64, it changes  envelope  time
                     according 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
                     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
                     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
                     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 samples in GUS/patch.  When  order=1,  after
                     reading GUS/patch, search for SoundFont.

              amp=amplification
                     Sets   the   amplification  of  the  whole  SoundFont  as
                     amplification%.  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 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 hosts.

       #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
              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
              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
       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
       examined 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/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
       MERCHANTABILITY  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 http://www.timidity.jp/