################################################################ # 26-sep-2004/FK For version 0.4.1 ################################################################ # Configuration file. # The settings in this file are generally applied during the initialization # phase of the program. They then remain in force. Run-time parameter # changes are defined in programme files, defined in the *.pgm files. # # This file contains only comments that document the configuration # parameters. Example values (should) reflect compile-time defaults. # To introduce your own defaults, add your own lines anywhere in this # file, or in a copy of it, or in a fresh file. Experimental changes # are most easily performed directly on the commandline; see the # next section on configuration control. # # If you use this file as your default, make sure that it resides in your # current directory when setBfree is started. # ################################################################ ## ## Configuration control ## ################################################################ ## ## Sourcing another configuration file. ## This reads parameters from another configuration file at the point ## where it is encountered. Since the application of configuration ## parameters is strictly sequential the position may be important. ## There is no checking for recursion loops, so be careful. ## This particular option is useful on the commandline, in conjunction ## with the -c switch (to suppress the default configuration file). ## #config.read=alternate.cfg ## ## ################################################################ # # MIDI parameters # ################################################################ ## ## The MIDI device to receive events from. ## ## possible values for midi.driver: alsa, jack - case insensitive ## defaults to "jack" #midi.driver=jack ## ## midi port to auto-connect to. Default: none ## with ALSA-MIDI-Sequencer this is usually a numeric value ## JACK-midi accepts regular expressions. #midi.port= ## ## ################################################################ # # JACK Audio Ports # ################################################################ ## ## JACK audio ports to auto-connect to. ## ## you can either specify exact port names for left/right channels ## e.g. "system:playback_6" ## or if both jack.out.left and jack.out.right are unset, ## a regular expression to autoconnect to #jack.out.left= #jack.out.right= ## ## this is only used of jack.out.* are unset: ## by default the organ connects to the first two physical outputs: #jack.connect=system:playback_ ## ## ################################################################ ## ## Transpose. ## These values are used to transpose played notes. ## This is useful to map your MIDI controller onto a useful playing range. ## ## The allowed values are -127 to 127. ## ## ********************************************************************* ## The transpose parameters are also available as programme parameters, ## available for runtime change. The values provided here will be their ## initial defaults. Read default.pgm for more information. ## ********************************************************************* ## ## The midi.transpose parameter transposes all keys and regions. ## (An earlier name for this parameter was midi.noteshift) ## #midi.transpose=0 ## ## ## The midi.upper.transpose parameter is applied to the upper manual ## when it is not in split mode. ## #midi.upper.transpose=0 ## ## ## The midi.upper.transpose.split parameter is applied to the upper manual ## region of a split upper keyboard. ## #midi.upper.transpose.split=0 ## ## ## The midi.lower.transpose parameter is applied to the lower manual. ## #midi.lower.transpose=0 ## ## ## The midi.lower.transpose.split parameter is applied to the lower manual ## region of a split upper keyboard. ## #midi.lower.transpose.split=0 ## ## ## The midi.pedals.transpose parameter is applied to pedals. ## #midi.pedals.transpose=0 ## ## ## The midi.pedals.transpose.split parameter is applied to the pedal region ## of a split upper keyboard. ## #midi.pedals.transpose.split=0 ## ## ################################################################ ## ## MIDI receive channels. ## The allowed range is 1 to 16. ## ## The upper manual #midi.upper.channel=1 ## ## ## The lower manual #midi.lower.channel=2 ## ## ## The pedals #midi.pedals.channel=3 ## ################################################################ ## ## MIDI controllers ## ## This parameter allows you to define how MIDI controllers are mapped ## to controllable functions in setBfree. The syntax is: ## #midi.controller..= ## ## ## Where is one of 'upper', 'lower' or 'pedals', ## is the numerical controller number, and ## is the name of the controllable function. ## ## Example 1, to assign the 16' drawbar on the lower manual to controller ## number 70 on the channel assigned to the upper manual, enter: ## #midi.controller.upper.70=lower.drawbar16 ## ## ## Example 2, assign the sustain pedal (controller 64) to control the ## rotary effect on all three manuals: ## #midi.controller.upper.64=rotary.speed-toggle #midi.controller.lower.64=rotary.speed-toggle #midi.controller.pedals.64=rotary.speed-toggle ## ## ## What you cannot do (with one exception), is to assign a to ## multiple controllers on the same manual (MIDI channel). The reason for ## this is that in this mapping mechanism each only has one slot on ## each manual. ## ## As for the names; although they are very similar to the configuration ## options, they are from a different namespace. I will not repeat all of ## them here (see the file midi.c if you have the source), only the most ## important ones: ## ## Channel Name Controller ## ------- ---- ---------- ## upper swellpedal1 1 ## upper swellpedal2 11 ## lower swellpedal1 1 ## lower swellpedal2 11 ## pedal swellpedal1 1 ## pedal swellpedal2 11 ## ## upper upper.drawbar16 70 ## upper upper.drawbar513 71 ## upper upper.drawbar8 72 ## upper upper.drawbar4 73 ## upper upper.drawbar223 74 ## upper upper.drawbar2 75 ## upper upper.drawbar135 76 ## upper upper.drawbar113 77 ## upper upper.drawbar1 78 ## ## upper rotary.speed-toggle 64 ## upper rotary.speed-preset 91 ## ## upper percussion.enable 80 ## upper percussion.decay 81 ## upper percussion.harmonic 82 ## ## upper vibrato.knob 83 ## upper vibrato.routing 92 ## ## upper overdrive.character 93 ## ## lower lower.drawbar16 70 ## lower lower.drawbar513 71 ## lower lower.drawbar8 72 ## lower lower.drawbar4 73 ## lower lower.drawbar223 74 ## lower lower.drawbar2 75 ## lower lower.drawbar135 76 ## lower lower.drawbar113 77 ## lower lower.drawbar1 78 ## ## pedals pedal.drawbar16 70 ## pedals pedal.drawbar513 71 ## pedals pedal.drawbar8 72 ## pedals pedal.drawbar4 73 ## pedals pedal.drawbar223 74 ## pedals pedal.drawbar2 75 ## pedals pedal.drawbar135 76 ## pedals pedal.drawbar113 77 ## pedals pedal.drawbar1 78 ## ## ################################################################ ## ## Programme parameters ## ## See the file default.pgm for an explanation of programmes and how ## to define them. ## ################################################################ ## ## MIDI controller program number offset ## The value of this parameter should be equal to the number of the ## lowest program number on your MIDI controller. Some use 0 others 1. ## #pgm.controller.offset=1 ## ## ################################################################ ## ## Main parameters ## ################################################################ ## ## Audio device ## The audio device file that is opened for output. ## #main.audiodevice=/dev/dsp ## ## ################################################################ ## ## Oscillator array ## ################################################################ ## ## Master tuning ## The reference frequency, in Hertz. ## #osc.tuning=440.0 ## ## ## Tuning temperament. ## The original instrument uses a mechanical tone generator where pitches ## approximate equal temperament through integer gear ratios. The gear ## ratios in setBfree are based on the 60 Hz/1200 rpm motor. The 50 Hz/1500 rpm ## tone generator has different ratios and can be selected, but the rations are ## my own guesstimates. ## As an alternative, equal temperament based on 2**(n/12) can be choosen. ## gear60 is the default value. ## #osc.temperament=gear60 #osc.temperament=gear50 #osc.temperament=equal ## ## ## Loop precision ## The amount of accepted difference between the fractional and integer ## number of samples needed to fill exactly n cycles of an oscillator wave. ## Greater values means that a match is found with fewer cycles and less ## memory, but also increases the risk for audible looping clicks. Values ## beneath the audibility threshold is just a waste of memory. ## (This is an experimental parameter that may not be supported in the future.) ## #osc.x-precision=0.01 ## ## ## Tonegenerator PostScript dump file. Graphs the output levels of ## the tone generators. ## #osc.psdump=osc.ps ## ## ## --- PERCUSSION --- ## ## Fast percussion decay time in seconds. ## #osc.perc.fast=1.0 ## ## ## Slow percussion decay time in seconds. ## #osc.perc.slow=4.0 ## ## ## Basic volume of the percussion signal, applies to both normal and soft. ## #osc.perc.gain=3.0 ## ## ## Normal percussion amplification ## #osc.perc.normal=1.0 ## ## ## Soft percussion amplification ## #osc.perc.soft=0.5012 ## ## ## Percussion signal bus select. Selects the signal buses used for ## second (a) and third (b) percussion sounds. Accepted values 0-8. ## #osc.perc.bus.a=3 #osc.perc.bus.b=4 ## ## ## Percussion trigger bus select. Selects the bus to be muted when ## percussion is enabled. Accepted values 0-8 and -1 to disable (no ## bus is muted by percussion). ## #osc.perc.bus.trig=8 ## ## ## --- TONEGENERATOR EQUALISATION --- ## ## Tonegenerator equalisation macro. Used to apply a curve across the ## output levels of the oscillators. ## Accepted values are chspline, peak24 and peak46. The latter two are ## deprecated and will probably disappear in future versions. ## #osc.eq.macro=chspline ## ## ## For equalisation macro chspline, constrained Hermite spline: ## There are two points, P1 and P4 (never mind P2 and P3, they are not ## here at the moment). P1x (the x coordinate of point 1) is fixed at ## x=0, while P4x is fixed at x=1. The tonegenerators are mapped into ## this range as well, the lowest frequency generator at 0 and the highest ## at 1. ## P1y and P4y (the y coordinates) also range from 0 to 1, mapping from ## minimum to maximum output. ## R1 and R4 are vectors that determine the shape of the curve as it runs ## from P1 to P4. The x components of R1 and R4 are fixed to 1 (towards ## right, east, increasing x), but the y components can be controlled, ## deflecting the vector up- or downwards. ## ## The default is flat amplification: # #osc.eq.p1y=1.0 #osc.eq.r1y=0.0 #osc.eq.p4y=1.0 #osc.eq.r4y=0.0 # ## ## As an alternative or complement to the spline-based equalisation, you ## can specify the level of each oscillator. ## ## The value representing unity gain in the set of values ## provided in subsequent osc.eqv.= assignments. ## This may be handy if you are reproducing measurements in non-normalised ## values. Enter your maximum value in the parameter below. ## #osc.eqv.ceiling=1.0 ## ## ## Sets the attenuation level of the number oscillator to the specified ## value. The given value is divided with the value of osc.eqv.ceiling ## so that almost any (positive) range can be mapped. Unspecified oscillators ## will have their value from the eq macro (default or configured). ## #osc.eqv.1=0.9 #osc.eqv.2=0.88 #osc.eqv.3=0.879 # ... #osc.eqv.91=0.22 ## ## ## --- TONEWHEEL HARMONICS --- ## ## Out of sheer obsession I guess, I decided that it should be possible to ## add some harmonics directly on the oscillators. In the original tone- ## generator the output are not pure sines, but lacking a reliable source of ## information I had to use my ears and in my opinion they add nothing ## beneficial to the sound. So the default is to have no harmonics on. ## ## The global default is applied to all oscillators: ## #osc.harmonic.1= fundamental (f1) #osc.harmonic.2= first even harmonic (f2, +1 octave) #osc.harmonic.3= first odd harmonic (f3, +2 octaves) #osc.harmonic.4= second even harmonic (f4, +3 octaves) #osc.harmonic.5= second odd harmonic (f5, +4 octaves) # ... #osc.harmonic.12= sixth even harmonic (f12, +11 octaves) ## ## ## The level can be any number; they are normalised so that they sum ## to 1.0 before they are applied. Only non-zero harmonics need to ## be specified. The specified setting is applied to all oscillators. ## Harmonics that exceed the Nyquist frequency are muted. ## ## Do not confuse these harmonics with the drawbar system used to create the ## tone of the organ. This configuration option is intended to model a flaw ## in the analogue equipment. It can of course be used to create special ## effects and mimick the sound of instruments based on triangle and square ## oscillator waveforms. ## ## Square wave oscillators: ## #osc.harmonic.1=1.0 #osc.harmonic.3=0.333333333333 #osc.harmonic.5=0.2 #osc.harmonic.7=0.142857142857 #osc.harmonic.9=0.111111111111 #osc.harmonic.11=0.090909090909 ## ## ## Triangle wave oscillators: ## #osc.harmonic.1=1.0 #osc.harmonic.3=0.111111111111 #osc.harmonic.5=0.04 #osc.harmonic.7=0.02040816326530612 #osc.harmonic.9=0.012345679012345678 #osc.harmonic.11=0.008264462809917356 ## ## ## It is also possible to specify the harmonics uniquely for any tonewheel. ## The syntax is: ## #osc.harmonic.w.f= ## ## where is the the oscillar number (1-91), is the harmonic ## (1, 2, 3, ...) and is the level of the harmonic. For example, to set ## the third harmonic on wheel 1 to 0.3332: ## #osc.harmonic.w1.f3=0.3332 ## ## ## If both global and specific harmonics are used, the specifics replaces ## the default where specified. Unspecified wheels and harmonics will remain ## set by the default. You may want to consider a shell-script to generate ## the configuration text file. ## ## ## Harmonics that exceed the Nyquist limit (half the sampling rate) are ## not applied. The highest harmonic is 12. ## ## ## --- TONEGENERATOR TERMINAL CROSSTALK --- ## ## Due to the way the electromechanical tonegenerator is assembled in the ## original instrument, the output of one oscillator may contain traces of ## signals from other oscillators. There is a default model for this, based ## on how the wheels are paired in compartments, but other the effects of ## other models can be substituted using these parameters. ## ## The default model can be modified with this parameter which specifies ## the level of compartment crosstalk at the tonegenerator terminal: ## #osc.compartment-crosstalk=0.01 ## ## ## The default model also contains a mixture of signals based on how ## filter transformers are arranged on top of the tonegenerator housing. ## The level specifies how much a transformer's picks up the signal of its ## left and right neighbours. This mix is independent of the compartment mix. ## #osc.transformer-crosstalk=0.0 ## ## ## The default model also contains a crosstalk mix based on how signals ## are distributed from the tonegenerator. A strip of 91 soldering points ## arrange the oscillator signals. The level specifies the level of left ## and right neighbours that are picked up in each point. This mix is ## independent of the compartment and transformer mix. ## #osc.terminalstrip-crosstalk=0.01 ## ## ## The detailed parameter specifies that on terminal z of the tonegenerator, ## wheel (oscillator, tone) number n can be heard with a gain of g. ## #osc.terminal.t.w= ## ## and should be oscillator numbers (1-91) and (gain) should be ## real (0.0 - 1.0). For example, the following four configuration parameters ## would create mixes for terminals 36 and 96. On 36 will be signals from ## wheel 36 at level 0.95 and wheel 84 at level 0.05. On terminal 96 will ## be heard wheel 36 at level 0.05 and wheel 84 at level 0.95: ## #osc.terminal.t36.w36=0.95 #osc.terminal.t36.w84=0.05 # #osc.terminal.t96.w36=0.05 #osc.terminal.t96.w84=0.95 ## ## The oscillator numbers are: ## c c# d d# e f f# g g# a a# b ## 1 2 3 4 5 6 7 8 9 10 11 12 lowest octave ## 13 14 15 16 17 ... 24 next octave ## 25 ... 36 ## 37 ... 48 ## 49 ... 60 ## 61 ... 72 ## 73 ... 84 highest octave ## 85 86 87 88 89 90 91 highest tones ## ## ## --- WIRING, FOLDBACK AND TAPER --- ## ## In the original instrument, thin wires run from the tonegenerator's ## terminals to each of the (mostly) nine contacts under each manual key. ## When a key is played, the contacts delivers the signals onto nine ## metal rods (buses) which are mixed by the drawbars. ## In addition, some models used resistance wires to taper the signal ## levels across the octaves. Finally, there are not enough tonegenerators ## to support the ranges implied by the drawbar system, so the popular ## instrument models employed a combination of signal reuse (foldback) and ## tapering to prevent the end ranges from falling completely silent. ## ## Again, there is a default model for this, but the following configuration ## parameter (you need many) can be used to supply another one: ## #osc.taper.k.b.t= ## ## Where is a key number, is a bus number, is a terminal number ## and is the gain level. The parameter specifies the strength of the ## signal taken from tonegenerator terminal that reaches manual key ## and there is delivered onto bus (the combination of key and bus number ## identifies the contact, rather than enumerating the contacts). ## ## This can be used to completely rewire the organ, so be informed of the ## following numbering scheme: ## ## Key numbers: ## 0 -- 60 Upper manual, low C -- high C ## 64 -- 124 Lower manual, low C -- high C ## 128 -- 159 Pedals, low C -- high G ## ## Bus numbers: ## 0 -- 8 Upper manual, 16' -- 1' ## 9 -- 17 Lower manual, 16' -- 1' ## 18 -- 26 Pedals, ## ## ## --- CROSSTALK --- ## ## The signal wires are many and they are not shielded, so crosstalk between ## them is inevitable. The default model assumes that the wires that run ## to the same key probably takes a similar route and therefore are subject ## to crosstalk. ## ## There is a global level parameter for wiring crosstalk: ## #osc.wiring-crosstalk=0.01 ## ## The configuration parameter for detailed control over crosstalk is ## made in terms of keys. Here is the syntax: ## #osc.crosstalk.k=:: [,::] ... ## ## For key number , extra signals are specified as a comma-separated list ## of triplets, where each triplet consists of the bus number (where the ## extra signal is heard), the tonegenerator terminal number (which is the ## extra signal) and the gain . The fields in each triplet are separated ## by colon a ':'. For example: ## #osc.crosstalk.k32=2:64:0.034,3:69:0.009,4:72:0.004 ## ## This really is not human-readable, so I would strongly suggest to anyone ## who is tempted by this to consider writing a small program which can ## generate it all from some convenient set of parameters. ## ## ## When all the terminal, taper, wiring and crosstalk information has been ## collected, setBfree makes a final pass over the data and a compiles ## a runtime data structure called the contribution table. This table ## describes for each key, how each of its nine contacts contributes a ## mix of oscillators to each bus. The number of entries for each key ## can be 150 or more, depening on crosstalk parameters. However, many ## of the signals have signal levels that are close to -96 dB or less. ## This means that for practical purposes they are probably inaudible, ## although you can never be certain in a complex mix of many signals. ## In any event, there exists a pruning parameter which can be set to ## a value of your choice to remove weak contributions. The net effect ## is that setBfree will use slightly less memory and have a somewhat ## easier job each time a key is played or released (which are very rare ## events compared to the DSP that is going on). ## ## Signals in the crosstalk mix weaker than the contribution floor are ## eliminated. When set to zero, the parameter is not applied. ## #osc.contribution-floor=0.0000158 ## ## Here are some suggestions for non-zero values: ## ## 1.584893192461114e-05 -96dB (16-bit CD record) ## 0.001 -60 dB (common cutoff point for reverb tails) ## 0.01 -40 dB (good cassette deck) ## 0.1 -20 dB (poor cassette player?) ## ## By the way, if you have the emacs editor around, here is a function ## to convert from dB to gain: ## ## (defun f (db) (expt 10.0 (/ db 20.0))) ## ## Another way of dealing with weak contributions is to force their ## level up to a minumum. This parameter (when non-zero) does that ## to contributions that passed the contribution floor (above): ## #osc.contribution-min=0.0 ## ## ## --- KEY CONTACT ARTIFACTS (KEY CLICK) --- ## ## These parameters selects the models applied during attack and release. ## The recognized values are: ## click several random contact bounces ## shelf debounced on/off transition, randomized in time ## cosine sine-based fade in/out envelope ## linear linear fade in/out envelope ## #osc.attack.model=click #osc.release.model=linear ## ## ## The amount of random attenuation applied to a closing bus-oscillator ## connection. Applies to click, range (0 ... 1), larger values gives ## more noise. ## #osc.attack.click.level=0.5 ## ## ## The minimum length of a key-click noise burst, in terms of the available ## unit. 1.0 corresponds roughly to 5.87 ms. ## #osc.attack.click.minlength=0.1; ## ## ## The maximum length of a key-click noise burst, in terms of the available ## unit. 1.0 corresponds roughly to 5.87 ms. ## #osc.attack.click.maxlength=0.5; ## ## ## The amount of random attenuation applied to an opening bus-oscillator ## connection (release). ## #osc.release.click.level=0.25 ## ## ################################################################ ## ## Vibrato scanner ## ################################################################ ## ## Sets the frequency of the vibrato scanner. ## #scanner.hz=7 ## ## The amount of modulation for each the vibrato/chorus settings. ## (These settings may be a bit on the conservative side.) ## #scanner.modulation.v1=1.0 #scanner.modulation.v2=2.5 #scanner.modulation.v3=5.0 ## ## ################################################################ ## ## Amplifier simulator ## ## NOTE: The amp.* parameters are not available in this version. ## ################################################################ ## ## ## --- OVERDRIVE --- ## ## This is how much the input signal is scaled as it enters the overdrive ## effect. The default value (3.56) is quite hot, but you can of course ## try it in anyway you like. [This parameter is also available on the ## MIDI controller function name 'overdrive.inputgain', default 21 on upper.] ## #overdrive.inputgain=3.5675 ## ## ## This is how much the signal is scaled as it leaves the overdrive effect. ## Essentially this value should be as high as possible without clipping ## (and you *will* notice when it does). Test with a bass-chord on 88 8888 000 ## with percussion enabled and full swell (mod controller), but do turn down ## the amplifier/headphone volume first! [MIDI controller function name ## 'overdrive.outputgain', default 22 on upper.] ## #overdrive.outputgain=0.8795 ## ## ## The following parameters are experimental and are therefore likely to be ## removed/renamed/replaced in future versions: ## ## fb1: This parameter behaves somewhat like an analogue tone control for ## bass mounted before the overdrive stage. Unity is somewhere around ## the value 0.6, lesser values takes away bass and lowers the volume ## while higher values gives more bass and more signal into the over- ## drive. Must be less than 1.0. [MIDI controller function name ## 'xov.ctl_biased_fb', default 9 on upper.] ## #xov.ctl_biased_fb=0.5821 ## ## ## fb2: The fb2 parameter has the same function as fb1 but ## controls the signal after the overdrive stage. Together the two ## parameters are useful in that they can reduce the amount of bass ## going into the overdrive and then recover it on the other side. ## Must be less than 1.0. [MIDI controller function name ## 'xov.ctl_biased_fb2', default 14 on upper.] ## #xov.ctl_biased_fb2=0.999 ## ## ## sagfb: This parameter is part of an attempt to recreate an artefact ## called 'power sag'. When a power amplifier is under heavy load the ## voltage drops and alters the operating parameters of the ## unit, usually towards more and other kinds of distortion. The ## sagfb parameter controls the rate of recovery from the sag effect ## when the load is lifted. Must be less than 1.0. ## #xov.ctl_sagtobias=0.991 ## ## ################################################################ ## ## Rotary speaker simulator ## ################################################################ ## ## The slow rotation speed of the horn in revolutions per minute. ## #whirl.horn.slowrpm=40.32 ## ## ## The fast rotation speed of the horn in revolutions per minute. ## #whirl.horn.fastrpm=423.36 ## ## ## The spool-up rate of the horn; time constant - seconds ## Time required to accelerate reduced by a factor exp(1) = 2.718.. ## #whirl.horn.acceleration=0.161 ## ## ## The spool-down rate of the horn; time constant - seconds ## Time required to decelerate reduced by a factor exp(1) = 2.718.. ## #whirl.horn.deceleration=0.321 ## ## ## The slow rotation speed of the drum in revolutions per minute. ## #whirl.drum.slowrpm=36.0 ## ## ## The fast rotation speed of the drum in revolutions per minute. ## #whirl.drum.fastrpm=357.3 ## ## ## The spool-up rate of the drum; time constant - seconds ## Time required to accelerate reduced by a factor exp(1) = 2.718.. ## #whirl.drum.acceleration=4.127 ## ## ## The spool-down rate of the drum; time constant - seconds ## Time required to decelerate reduced by a factor exp(1) = 2.718.. ## #whirl.drum.deceleration=1.371 ## ## ## The radius of the horn in centimeters (1 cm = 2.54 inches). ## #whirl.horn.radius=17.0 ## ## ## The radius of the drum in centimeters. ## #whirl.drum.radius=22.0 ## ## ## The volume at which the horn is mixed in with the drum sound. ## #whirl.horn.level=0.7 ## ## ## The fraction of the horn level that leaks off the base of the horn. ## It is band-pass filtered, but not subjected to Doppler effect or delay. ## The value is multiplied by whirl.horn.level before it is applied. ## #whirl.horn.leak=0.15 ## ## ## The drum low-pass IIR filter specification (see eqcomp.h). ## This is a actually a high-shelf filter with negative gain in the ## passband. ## #whirl.drum.filter.type=8 #whirl.drum.filter.hz=811.9695 #whirl.drum.filter.q=1.6016 #whirl.drum.filter.gain=-38.9291 ## ## ## The horn filter is implemented with two IIR filters followed by ## two comb filters with feedback. The IIR filters give the basic band-pass ## shape of the driver and horn, while the comb filters break up the ## frequency response and gives some characteristic resonance of the ## physical system. The IIR filters are not in band-pass configuration, ## but consists of a low-pass stage followed by a low-shelf with negative ## gain. The band-pass response is created where the two filters overlap. ## ## The a horn IIR filter specification (see eqcomp.h). Note that the gain ## parameter does not apply to type 0. ## #whirl.horn.filter.a.type=0 #whirl.horn.filter.a.hz=4500.0 #whirl.horn.filter.a.q=2.7456 #whirl.horn.filter.a.gain=-30.0 ## ## ## The b horn IIR filter specification (see eqcomp.h). ## #whirl.horn.filter.b.type=7 #whirl.horn.filter.b.hz=300.0 #whirl.horn.filter.b.q=1.0 #whirl.horn.filter.b.gain=-30.0 ## ## ## The a horn comb filter. The delay unit is integer nof samples. ## #whirl.horn.comb.a.feedback=-0.55 #whirl.horn.comb.a.delay=38 ## ## ## The b horn comb filter. ## #whirl.horn.comb.b.feedback=-0.3508 #whirl.horn.comb.b.delay=120 ## ## ################################################################## ## ## Reverb ## ################################################################## ## ## Sets the amount of dry (non-reverberated) output from the reverb. ## #reverb.dry=0.7 ## ## ## Sets the amount of wet (reverberated) output from the reverb. ## #reverb.wet=0.3 ##