bionic (1) setBfree.1.gz

Provided by: setbfree_0.8.5-1_amd64 bug

NAME

       setBfree - DSP tonewheel organ

SYNOPSIS

       setBfree [ OPTIONS ] [ property=value ... ]

DESCRIPTION

       setBfree - DSP tonewheel organ

       setBfree  is  a MIDI-controlled, software synthesizer designed to imitate the sound and properties of the
       electromechanical organs and sound modification devices that brought world-wide fame  to  the  names  and
       products of Laurens Hammond and Don Leslie.

OPTIONS

       -c <filename>, --config <filename>
              Load alternate config file over default

       -C, --noconfig
              Do not read the default configuration file the equivalent built-in defaults are still set

       -d, --dumpcc
              Print a list of MIDI-CC mappings on startup

       -D, --noCC
              do not load default CC map on startup

       -h     Print short help text

       -H, --help
              Print complete help text with parameter list

       -l <pgm>
              Load a MIDI program-preset at startup (may override previous settings given with -r, -U,..)

       -M <filename>, --midnam <filename>
              export current controller mapping to .midnam file

       -p <filename>, --program <filename>
              Load alternate program file over default

       -P, --noprogram
              Do not read the default program file the built-in programs are cleared as well

       -r, --randomize
              Randomize initial preset (whacky but true)

       -U, --upper <drawbar settings>
              Specify initial drawbar settings, for the upper manual as 9 digits. e.g. 808000000

       -V, --version
              Print version information

   General Information:
              The configuration consists of two parts: program (pgm) and config (cfg).

              The  static  configuration of the properties of the instrument is defined in a .cfg file. There is
              no need to specify a config-file, as all configurable parameters  have  built-in  default  values.
              They can be overridden on startup using 'property=value' pairs or by loading a specific .cfg file.
              As the name /static/ implies, the properties can only be set on application start. Yet many of the
              properties  merely  define  the  initial  value  of  settings  which  can later be modified during
              playback. The ones which can be dynamically modified are marked with an asterisk (*)

              Properties are modified by sending MIDI Control-Commands (CC) to the synth.  The mapping of CCs to
              function  can  be  modified  by  setting the "midi.controller.{upper|lower|pedal}.<CC>=<function>"
              property.       Function-names      are      equivalent       to       property-names.        e.g.
              "midi.controller.upper.22=overdrive.outputgain"  assigns  the  overdrive-gain  to  MIDI-CC  22  on
              MIDI-channel 1 (upper) (Note: each function can assigned only once, however MIDI-CC can be re-used
              and trigger multiple function at the same time.)

              The  program  basically  defines 'shortcuts'. Loading a program is usually equivalent to sending a
              series of CC. Programs are commonly used to define instruments (e.g. draw-bar settings to mimic  a
              flute)  or  provide scalepoints (e.g. reverb=64).  There are a few special commands which are only
              available by recalling a program (randomize settings, split-manuals, enable overdrive).

              Programs are defined in a .pgm file and  are  fixed  after  starting  the  application.  They  are
              activated  by  sending  MIDI-program-change  messages  (also  known  as  'presets') MIDI-banks are
              ignored. So at most 127 programs can be specified.

              At   startup   'default.cfg'   and   'default.pgm'   in    $XDG_CONFIG_HOME/setBfree/    (default:
              $HOME/.config/setBfree/)   are   are   evaluated  if  the  files  exist,  unless  '--noconfig'  or
              '--noprogram' options are given.  An additional config or program file can  be  loaded  using  the
              '-c' and '-p' option respectively.

              Example config: "/usr/share/setBfree/cfg/default.cfg"

              Example program: "/usr/share/setBfree/pgm/default.pgm"

   Instrument Properties:
              Below  is  a list of available property-value pairs and their default values. The default value is
              omitted "(-)" for properties which contain an array of values.

              The type identifiers are: 'S': text-string, 'I': integer, 'F': float, 'D': double-precision float.

              Properties marked with an asterisk (*), are available as MIDI CC functions. When used as  CC,  the
              values  0-127  (MIDI  data)  is  mapped  to  a  range  of  values appropriate to the function.  In
              config-files  or   on   the   command-line   you   must   you   the   type   as   specified   e.g.
              "osc.temperament=gear60 osc.wiring-crosstalk=0.2"

   Parameters for 'Main':
       midi.driver
              S  ("jack")

              The midi driver to use, 'jack' or 'alsa'

       midi.port
              S  ("")

              The  midi  port(s)  to  auto-connect to. With alsa it's a single port-name or number, jack accepts
              regular expressions.

       jack.connect
              S  ("system:playback_")

              Auto connect both audio-ports to a given regular-expression. This setting is ignored if either  of
              jack.out.{left|right} is specified.

       jack.out.left
              S  ("")

              Connect left-output to this jack-port (exact name)

       jack.out.right
              S  ("")

              Connect right-output to this jack-port (exact name)

   Parameters for 'MIDI Parser':
       midi.upper.channel
              I  (1)

              The MIDI channel to use for the upper-manual. range: [1..16]

       midi.lower.channel
              I  (2)

              The MIDI channel to use for the lower manual. range: [1..16]

       midi.pedals.channel
              I  (3)

              The MIDI channel to use for the pedals. range: [1..16]

       midi.controller.reset
              I  ("-")

              Clear existing CC mapping for all controllers (if non-zero argument is given). See also -D option.

       midi.controller.upper.<cc>
              S  ("-")

              Speficy  a  function-name  to  bind  to the given MIDI control-command. <cc> is an integer 0..127.
              Defaults are in midiPrimeControllerMapping() and can be listed using the '-d' commandline  option.
              See general information.

       midi.controller.lower.<cc>
              S  ("-")

              see midi.controller.upper

       midi.controller.pedals.<cc>
              S  ("-")

              see midi.controller.upper

       midi.transpose
              I  (0)

              Global transpose (noteshift) in semitones.

       midi.upper.transpose
              I  (0)

              Shift/transpose MIDI-notes on upper-manual

       midi.lower.transpose
              I  (0)

              Shift/transpose MIDI-notes on lower-manual

       midi.pedals.transpose
              I  (0)

              Shift/transpose MIDI-notes on pedals

       midi.upper.transpose.split
              I  (0)

              Noteshift for upper manual in split mode

       midi.lower.transpose.split
              I  (0)

              Noteshift for lower manual in split mode

       midi.pedals.transpose.split
              I  (0)

              Noteshift for lower manual in split mode

   Parameters for 'MIDI Program Parser':
       pgm.controller.offset
              I  (1)

              Compensate  for  MIDI controllers that number the programs from 1 to 128. Internally we use 0-127,
              as does MIDI. range: [0,1]

   Parameters for 'Tone Generator':
       osc.tuning
              D  (440.0)

              Base tuning of the organ.

       osc.temperament
              S  ("gear60")

              Tuning temperament, gear-ratios/motor-speed. One of: "equal", "gear60", "gear50"

       osc.x-precision
              D  (0.001)

              Wave precision. Maximum allowed error when calculating wave buffer-length for  a  given  frequency
              (ideal #of samples - discrete #of samples)

       osc.perc.fast
              D  (1.0)

              Fast percussion decay time

       osc.perc.slow
              D  (4.0)

              Slow percussion decay time

       osc.perc.normal
              D  (1.0)

              Percussion starting gain of the envelope for normal volume.

       osc.perc.soft
              D  (0.5012)

              Percussion starting gain of the envelope for soft volume.

       osc.perc.gain
              D  (11.0)

              Basic volume of the percussion signal, applies to both normal and soft

       osc.perc.bus.a
              I  (3)

              range [0..8]

       osc.perc.bus.b
              I  (4)

              range [0..8]

       osc.perc.bus.trig
              I  (8)

              range [-1..8]

       osc.eq.macro
              S  ("chspline")

              one of "chspline", "peak24", "peak46"

       osc.eq.p1y
              D  (1.0)

              EQ spline parameter

       osc.eq.r1y
              D  (0.0)

              EQ spline parameter

       osc.eq.p4y
              D  (1.0)

              EQ spline parameter

       osc.eq.r4y
              D  (0.0)

              EQ spline parameter

       osc.eqv.ceiling
              D  (1.0)

              Normalize EQ parameters.

       osc.eqv.<oscnum>
              D  (-)

              oscnum=[0..127],  value: [0..osc.eqv.ceiling]; default values are calculated depending on selected
              osc.eq.macro and tone-generator-model.

       osc.harmonic.<h>
              D  (-)

              speficy level of given harmonic number.

       osc.harmonic.w<w>.f<h>
              D  (-)

              w: number of wheel [0..91], h: harmonic number

       osc.terminal.t<t>.w<w>
              D  (-)

              t,w: wheel-number [0..91]

       osc.taper.k<key>.b<bus>.t<wheel>
              D  (-)

              customize tapering model. Specify level of [key, drawbar, tonewheel].

       osc.crosstalk.k<key>
              S  (-)

              value colon-separated: "<int:bus>:<int:wheel>:<double:level>"

       osc.compartment-crosstalk
              D  (0.01)

              Crosstalk between tonewheels in the same compartment. The value refers  to  the  amount  of  rogue
              signal picked up.

       osc.transformer-crosstalk
              D  (0)

              Crosstalk between transformers on the top of the tg.

       osc.terminalstrip-crosstalk
              D  (0.01)

              Crosstalk between connection on the terminal strip.

       osc.wiring-crosstalk
              D  (0.01)

              Throttle on the crosstalk distribution model for wiring

       osc.contribution-floor
              D  (0.0000158)

              Signals weaker than this are not put on the contribution list

       osc.contribution-min
              D  (0)

              If non-zero, contributing signals have at least this level

       osc.attack.click.level
              D  (0.5)

              Amount of random attenuation applied to a closing bus-oscillator connection.

       osc.attack.click.maxlength
              D  (0.6250)

              The maximum length of a key-click noise burst, 100% corresponds to 128 audio-samples

       osc.attack.click.minlength
              D  (0.1250)

              The minimum length of a key-click noise burst, 100% corresponds to 128 audio-samples

       osc.release.click.level
              D  (0.25)

              Amount of random attenuation applied to an opening bus-oscillator

       osc.release.model
              S  ("linear")

              Model applied during key-release, one of "click", "cosine", "linear", "shelf"

       osc.attack.model
              S  ("click")

              Model applied during key-attack; one of "click", "cosine", "linear", "shelf"

   Parameters for 'Vibrato Effect':
       scanner.hz
              D  (7.25)

              Frequency of the vibrato scanner

       scanner.modulation.v1
              D  (3.0)

              Amount of modulation for vibrato/chorus 1 setting

       scanner.modulation.v2
              D  (6.0)

              Amount of modulation for vibrato/chorus 2 setting

       scanner.modulation.v3
              D  (9.0)

              Amount of modulation for vibrato/chorus 3 setting

   Parameters for 'Preamp/Overdrive Effect':
       overdrive.inputgain
              F* (0.3567)

              This  is  how much the input signal is scaled as it enters the overdrive effect. The default value
              is quite hot, but you can of course try it in anyway you like; range [0..1]

       overdrive.outputgain
              F* (0.07873)

              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,  but  do  turn  down  the
              amplifier/headphone volume first!); range [0..1]

       xov.ctl_biased
              F* (0.5347)

              bias base; range [0..1]

       xov.ctl_biased_gfb
              F* (0.6214)

              Global [negative] feedback control; range [0..1]

       overdrive.character
              F* (-)

              Abstraction to set xov.ctl_biased_fb and xov.ctl_biased_fb2

       xov.ctl_biased_fb
              F* (0.5821)

              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 overdrive. Must be less
              than 1.0.

       xov.ctl_biased_fb2
              F* (0.999)

              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.

       xov.ctl_sagtobias
              F* (0.1880)

              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.

   Parameters for 'Leslie Cabinet Effect':
       whirl.bypass
              I  (0)

              If set to 1, completely bypass the leslie emulation

       whirl.speed-preset
              I  (0)

              Initial horn and drum speed. 0:stopped, 1:slow, 2:fast

       whirl.horn.slowrpm
              D  (40.32)

              Target RPM for slow (aka choral) horn speed

       whirl.horn.fastrpm
              D  (423.36)

              Target RPM for fast (aka tremolo) horn speed

       whirl.horn.acceleration
              D* (0.161)

              Time required to accelerate the horn (exponential time constant)

       whirl.horn.deceleration
              D* (0.321)

              Time required to decelerate the horn (exponential time constant)

       whirl.horn.brakepos
              D* (0)

              Horn stop position. Clockwise position where to stop. (0: free-stop, 1.0:front-center)

       whirl.drum.slowrpm
              D  (36.0)

              Target RPM for slow (aka choral) drum speed.

       whirl.drum.fastrpm
              D  (357.3)

              Target RPM for fast (aka tremolo) drum speed.

       whirl.drum.acceleration
              D* (4.127)

              Time required to accelerate the drum (exponential time constant)

       whirl.drum.deceleration
              D* (1.371)

              Time required to decelerate the drum (exponential time constant)

       whirl.drum.brakepos
              D* (0)

              Drum stop position. Clockwise position where to stop. (0: free-stop, 1.0:front-center)

       whirl.drum.width
              D  (0)

              Drum stereo width (LV2 only) (-1: left mic, 0: stereo, 1: right mic)

       whirl.horn.width
              D  (0)

              Horn stereo width (LV2 only) (-1: left mic, 0: stereo, 1: right mic)

       whirl.horn.radius
              D  (19.2)

              Horn radius in centimeter

       whirl.drum.radius
              D  (22.0)

              Drum radius in centimeter

       whirl.mic.distance
              D  (42.0)

              Distance from mic to origin in centimeters

       whirl.horn.mic.angle
              D  (180.0)

              Horn Stereo Mic angle

       whirl.horn.offset.z
              D  (0.0)

              Offset of horn perpendicular to mic to front, in centimeters

       whirl.horn.offset.x
              D  (0.0)

              Offset of horn towards left mic, in centimeters

       whirl.horn.level
              D  (0.7)

              Horn wet-signal volume

       whirl.horn.leak
              D  (0.15)

              Horn dry-signal signal leakage

       whirl.drum.filter.type
              I* (8)

              This  filter separates the signal to be sent to the drum-speaker. It should be a high-shelf filter
              with negative gain. Filter type: 0-8. see "Filter types" below.

       whirl.drum.filter.q
              D* (1.6016)

              Filter Quality, bandwidth

       whirl.drum.filter.hz
              D* (811.9695)

              Filter frequency.

       whirl.drum.filter.gain
              D* (-38.9291)

              Filter gain

       whirl.horn.filter.a.type
              I* (0)

              This is the first of two filters to shape the signal to be sent to the horn-speaker; by default  a
              low-pass  filter  with  negative  gain  to cut off high frequencies. Filter type: 0-8. see "Filter
              types" below.

       whirl.horn.filter.a.hz
              D* (4500)

              Filter frequency

       whirl.horn.filter.a.q
              D* (2.7456)

              Filter quality, bandwidth

       whirl.horn.filter.a.gain
              D* (-30.0)

              Filter gain

       whirl.horn.filter.b.type
              I* (7)

              This is the second of two filters to shape the signal to be sent to the horn-speaker; by default a
              low-shelf filter with negative gain to remove frequencies which are sent to the drum. Filter type:
              0-8. see "Filter types" below.

       whirl.horn.filter.b.hz
              D* (300.0)

              Filter frequency

       whirl.horn.filter.b.q
              D* (1.0)

              Filter Quality, bandwidth

       whirl.horn.filter.b.gain
              D* (-30.0)

              Filter gain

   Parameters for 'Reverb Effect':
       reverb.wet
              D  (0.1)

              Reverb Wet signal level; range [0..1]

       reverb.dry
              D  (0.9)

              Reverb Dry signal level; range [0..1]

       reverb.inputgain
              D  (0.1)

              Reverb Input Gain

       reverb.outputgain
              D  (1.0)

              Reverb Output Gain (modifies dry/wet)

       reverb.mix
              D* (0.1)

              Reverb Mix (modifies dry/wet).

   Filter Types (for Leslie):
       0      LPF low-pass

       1      HPF high-pass

       2      BF0 band-pass 0

       3      BF1 band-pass 1

       4      NOT notch

       5      APF all-pass

       6      PEQ peaking eq

       7      LSH low shelf

       8      HSH high shelf

       Note that the gain parameter does not apply to type 0 Low-Pass-Filters.

   Additional MIDI Control-Command Functions:
              These properties can not be modified directly, but are meant to be mapped to MIDI-controllers (see
              "General Information" above) e.g. "midi.controller.upper.70=upper.drawbar16".

       {upper|lower|pedal}.drawbar<NUM>
              I* (-)

              where  <NUM>  is  one of [16, 513, 8, 4, 223, 2, 135 , 113, 1].  Set MIDI-Controller IDs to adjust
              given drawbar. -- The range is inversely mapped to the position of the drawbar, so that fader-like
              controllers  work  in  reverse,  like  real  drawbars.  Note  that  the MIDI controller values are
              quantized into 0 ... 8 to correspond to the  nine  discrete  positions  of  the  original  drawbar
              system:   0:8   (loudest),   1-15:7,  16-31:6,   32-47:5,  48-63:4,  64-79:3,  80-92:2,  96-110:1,
              111-127:0(off)

       rotary.speed-preset
              I* (-)

              set horn and drum speed; 0-stop, 1:slow, 2:fast

       rotary.speed-toggle
              I* (-)

              toggle rotary.speed-preset between 1/2

       rotary.speed-select
              I* (-)

              low-level access function 0..8 (3^2 combinations) [stop/slow/fast]^[horn|drum]

       swellpedal1
              D* (0.7)

              set swell pedal gain

       swellpedal2
              D* (0.7)

              identical to swellpedal1

       vibrato.knob
              I* (0)

              <22:vibrato1, <44:chorus1, <66:vibrato2, <88:chorus2, <110vibrato3, >=110:chorus3

       vibrato.routing
              I* (0)

              <32:off, <64:lower, <96:upper, >=96:both

       vibrato.upper
              I* (0)

              <64:off, >=64 on

       vibrato.lower
              I* (0)

              <64:off, >=64 on

       percussion.enable
              I* (0)

              <16:off, <63:normal, <112:soft, >=112:off

       percussion.decay
              I* (0)

              <64: fast-decay, >=64 slow decay

       percussion.harmonic
              I* (0)

              <64: third harmonic, >=64 second harmonic

       overdrive.enable
              I* (0)

              <64: disable overdrive, >=64 enable overdrive

EXAMPLES

       setBfree  setBfree  -p  pgm/default.pgm  midi.port="a2j:[AV]"  midi.driver=jack  setBfree   midi.port=129
       midi.driver=alsa        jack.connect=jack_rack:in_        setBfree        jack.out.left=system:playback_7
       jack.out.right=system:playback_8 setBfree -U 868000000

REPORTING BUGS

       Report bugs at <http://github.com/pantherb/setBfree/issues>.
       Website and manual: <http://setbfree.org>

       Copyright © 2003-2004 Fredrik Kilander <fk@dsv.su.se>
       Copyright © 2008-2014 Robin Gareus <robin@gareus.org>
       Copyright © 2010 Ken Restivo <ken@restivo.org>
       Copyright © 2012 Will Panther <pantherb@setbfree.org>

       This is free software; see the source for copying  conditions.   There  is  NO  warranty;  not  even  for
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.