title
Japan | English
Top Page -> TiMidity bw Top -> timidity cfg
timidity cfg
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/foozip#
bank 0
0 barpat
1 bazpat
2 zoopat
At first, dir specifies the archive name (followed by `#') forthe path of patch files same as directory name (in this case,/usr/local/share/timidity/inst/foozip) TiMidity++ recognizethe path is an archive file if the expression has the last character`#', and also read the files contained in this archive file Inprevious example the patch files barpat, bazpat and zoopatcontained in the foozip are also installed
source file [...]
Reads another configuration file, then continues processing thecurrent one
progbase number
Sets and displays the tone number from number tonumber +128 If progbase 1 are specified, tone numbersthat follow are set and displayed as the numbers from 1 to128
bank [MapID1] number
Selects the tone bank to modify Patch mappings that follow willaffect this tone bank You can indicate specific map as a target, byspecifing any ofthe following to MapID1 : gm2 , sc55 ,sc88 , sc88pro , sc8850 , xg and xgsfx64
drumset [MapID2] number
Selects the drum set to modify Patch mappings that follow willaffect this drum set You can indicate specific map as a target, byspecifing 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 ordrum set should be played using the patch file If file isSoundFont, the specific instrument with bank , prog , andkey is taken out by the format of number %font Iffile is linear AIFF or WAV sample data, the MIDI program numberis specified by the format of number %sample Options may beany of the following:
amp=amplification
Amplifies the instrument's volume by amplification percent Ifno value is specified, one will be automatically determined wheneverthe instrument is loaded
note=note
Specifies a fixed MIDI note to use when playing the instrument Ifnote is 0 , the instrument will be played at whatever notethe Note On event triggering it has For percussion instruments, ifno value is specified in the configuration file, the default in thepatch file will be used
pan=panning
Sets the instrument's default panning panning may beleft , right , center , or an integer between-100 and 100 , designating full left and full rightrespectively If no value is specified, the default in the patch filewill be used Note that panning controls in MIDI files will overridethis value
tune=tuning[,...]
Adjust the instrument's root frequency tune=1 causes 1 half tone higher Since a fraction is available for tuning , itis possible to do fine tuning such as tune=-02 When two ormore sample data is contained, the arguments after the second canspecify different value respectively
rate=attack:decay:sustain:release1:release2:release3[,...]
Sets the instrument's ADSR rate Each value may be an integer between0 and 255 When you set only sustain rate,
6 GUS/hrpschrdpat rate=::60
is available When you set only attack time fasten,
6 GUS/hrpschrdpat rate=255
is available When two or more sample data is contained, thearguments 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 integerbetween 0 and 255 The format is same as rate=
keep={loop|env}
By default, percussion instruments have their loop and envelopeinformation stripped Strangely shaped envelopes are removedautomatically from melodic instruments as well keep= can beused to prevent stripping loop or envelope data For example, theShort and Long Whistle percussion instruments (General Midi numbers 71and 72) need to have `keep=loop keep=env ' specified in theconfiguration file
strip={loop|env|tail}
Force removal of loop or envelope information from all patches in theinstrument, or strip the tail, ie all data after the loop Somethird-party instruments have garbage after the loop, as evidenced bya clicking noise whenever the instrument is played, so adding thestrip=tail option will markedly improve sound quality
tremolo=sweep_increment:control_ratio:depth[,...]
Sets the instrument's tremolo Each value may be an integerbetween 0 and 255 The format is similar to rate= sweep_increment is the time until tremolo is startedcontrol_ratio is the rate changing amplificationdepth is the depth changing amplification
vibrato=sweep_increment:phase_increment:depth[,...]
Sets the instrument's vibrato Each value may be an integerbetween 0 and 255 The format is similar to rate= sweep_increment is the time until vibrato is startedphase_increment is the rate changing frequencydepth 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 forscale tuning When two or more sample data is contained, thearguments 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 Whentwo or more sample data is contained, the arguments after the secondcan 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 envelopeThe format and values are fundamentally same as volume envelopeExcept 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 onnote=60 , it changes envelope time according to note The unitis +-cent/key For example, envkeyf=100 means that the attacktime will double when it goes up by 1 octave The format is similarto rate= The parameter of decay and sustain may bepreset in some SoundFont
envvelf=attack:decay:sustain:release1:release2:release3[,...]
Sets the instrument's volume envelope velocity follow Based onvelocity=64 , it changes envelope time according to velocityThe unit is +-cent/velocity For example, envvelf=100 meansthat the attack time will 38 times at velocity=127 The formatis similar to rate= In the future, the specification of thisoption may be changed
modkeyf=attack:decay:sustain:release1:release2:release3[,...]
Sets the instrument's modulation envelope key follow Based onnote=60 , it changes envelope time according to note The unitis +-cent/key For example, modkeyf=100 means that the attacktime will double when it goes up by 1 octave The format is similarto rate= The parameter of decay and sustain may bepreset in some SoundFont
modvelf=attack:decay:sustain:release1:release2:release3[,...]
Sets the instrument's modulation envelope velocity follow Based onvelocity=64 , it changes envelope time according to velocityThe unit is +-cent/velocity For example, modvelf=100 meansthat the attack time will 38 times at velocity=127 The formatis similar to rate= In the future, the specification of thisoption may be changed
trempitch=num[,...]
Sets the instrument's depth of changing pitch according to tremoloThe effect itself is same as vibrato, it uses to operate in anothersystem The unit is +-cent The format is similar to rate=
tremfc=num[,...]
Sets the instrument's depth of changing cutoff frequency according totremolo It can express the so-called glowl effect The unit, etcare same as trempitch=
modpitch=num[,...]
Sets the instrument's depth of changing pitch according to modulationenvelope It can temporarily express raising pitch only for theattack stage The unit, etc are same as trempitch=
modfc=num[,...]
Sets the instrument's depth of changing cutoff frequency according tomodulation envelope The unit, etc are same as trempitch=
fc=num[,...]
Sets the instrument's standard of cutoff frequency The unit is HzThe format is similar to rate=
q=num[,...]
Sets the instrument's Q (resonance) The unit is cB The format issimilar to rate=
fckeyf=num
Sets the instrument's filter key follow Based on note=60 , itchange cutoff frequency according to note The unit is +-cent/keyFor example, fckeyf=100 means that it changes same as pitch
fcvelf=num
Sets the instrument's filter velocity follow Based onvelocity=127 , it changes cutoff frequency according to velocityThe unit is +-cent In SoundFont, -2400 is set up as acharacteristic value
qvelf=num
Sets the instrument's resonance velocity follow Based onvelocity=0 , it changes resonance according to velocity Theunit 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 andxgsfx64 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 mapgm2drum , sc55drum , sc88drum , sc88prodrum ,sc8850drum , xgdrum and xgsfx126 can be specified tobe 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 , firstread SoundFont, and then search for insufficient samples in GUS/patchWhen 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 beenable
reso=number
Specifies whether resonance in SoundFont is enable (1 ) or disable(0 ) If the value is not specified, it is considered to beenable
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 issame 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 topronounce Hi-Hat cymbals (note number 42 , 44 and46 ) 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 whenTiMidity++ is booted with option -int , -iTt
#extension timeout program second
Specifies the time-out value of the program If any notesplayed with the tone number program are suspended more thansecond 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 andport 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 FTPserver 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 ) onprogno
#extension level progno tva_level
Sets the standard value of changing amplification when processing DrumInstrument TVA Level of NRPN Unless Drum Instrument TVA Level isspecified at playing, the amplification is not influencedprogno can carry out package specification by `,' and/or[start ]-[end ] If start and end are omitted, they areassumed to be 0 and 127 respectively
#extension damper progno {0|1}
Specifies whether redamper and half-damper are enable (1 ) ordisable (0 ) on progno
#extension playnote progno note
Sets the frequency of pronounce to note If the frequency ofpronounce is specified by GS SysEx Play Note, the pitch is changedappropriately according to the value progno can carry outpackage specification by `,' and/or [start ]-[end ] Ifstart and end are omitted, they are assumed to be 0 and127 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 valueare 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 value0 progno can carry out package specification by `,'and/or [start ]-[end ] If start and end are omitted, theyare assumed to be 0 and 127 respectively
#extension rnddelay progno msec
For every pronunciation, it is random and less than a maximum ofmsec 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 02i or earlier)So these statements are treated as comment line
The latest TiMidity++ treats #extension as white-spaceSo 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 commandare also examined as arguments of statements
source command | causes the output of command becomesthe argument of source It is convenient to choose settings ofTiMidity++ according to environment In addition, if a spaceenters on the way like command |, it will be divided at the timeof setting file reading, and will no longer be regarded as a commandThis function is applicable to all the places that can specify a filename