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, 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 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
          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 <[email protected]>
   Copyright (C) 1995 Tuukka Toivonen <[email protected]>

   The original version was developed by Tuukka Toivonen <[email protected]> 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/



Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.


Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.


Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.