131
131
16 track mixer (unfinished: \-libtest only)
133
The connection between the engine and GUI is a TCP socket using a SYSEX format
134
message taken from MIDI. The GUI and engine do not need to be resident on the
135
same system if suitable parameters are given. The engine can also accept
133
The default connection between the engine and GUI is a TCP socket using a SYSEX format
134
message taken from MIDI. Optionally the code will use a unix domain socket for
135
improved security. The GUI and engine do not need to be resident on the
136
same system if suitable parameters are given, this feature requires the TCP
137
domain sockets be used. The engine can also accept
136
138
requests from multiple brighton interfaces and run all the emulators at the
137
139
same time, multitimbraly, sharing voices between them and pre-empting where
138
140
necessary. If an emulator is started in monophonic mode then it is preallocated
139
a voice that will never be pre-empted and which runs continuously, ie, it will
141
a voice that will never be pre-empted and which runs continuously, ie, by
140
143
continue to run even when no piano keys are pressed. The polyphonic code will
141
144
only run the voice algorithms whilst the key gate is open, the gate being
142
145
derived from the voice envelope state. The engine supports minimally 32 voices
143
146
per default, if an emulator requests less then its emulation is configured with
144
a soft limit. If more are requested then more voices are created. A voice is
147
a soft limit. If more are requested then more voices are created however the
148
upper limit is imposed at 128 voices. A voice is
145
149
an engine structure that allows for allocation and executing, the actual code
146
150
run by a voice can be any of the emulator algorithms which is how multitimbral
147
151
operation is supported. The voice allocation process is 'last note precedence'
316
320
Velocity curve for the emulator. Default is 520, an exponential curve for a
317
321
hard playing style. Value '0' is flat (no touch sensitivity). Values up to 100
318
are linear scaled maps. Below 200 are then exponential maps, below 500 a
319
quadratic maps from linear and from 500 to 525 are soft through hard touch
322
are linear scaled maps.
323
The velocity map is table of points that is interpolated linearly: you
324
may only have to define the inflexion points, however if you want smooth
325
curves you will have to define each of the 128 velocity values that are used
326
in noteon/noteoff events. The emulation only has a single table of gain
327
levels for each key.velocity index, the engine by contrast has two tables,
328
one for each on/off event however that is an integer map, not a gain map.
330
There are several default tables if you do not want to specify your own
331
interpolated curve. Each table is the gain for the Midi velocity value given
332
in the note event, it has 128 entries. The following are implmented:
334
100-199 Convex curves for a soft touch keyboard player
335
200-499 Concave curves for a hard touch, linear up to quadratic function.
337
The next set up to 525 are repeats of the above but with less granularity. In
338
the above range the value of 200 is linear, as is 510 below:
340
500-509 Convex curves for a soft touch keyboard player
342
511-25 Concave curves for a hard touched player.
344
Then there are a couple of specific curves
349
The values up to 100 consists of two digit numbers. The first digit defines
350
how late the line starts (it is linear) to ramp up, and the second digit is
351
how late it reaches 1.0. The value of 09 is almost the linear mapping above
352
as it starts from 0 and ends almost at the end. A value of 49 would be for
353
a heavy player, it is zero for a large part of the velocity table, and then
354
ramps up to max gain (1.0) close the end of the table. Note that these table
355
could also have been defined with velocityMap definitions as they are linear
356
interpolations. A present release will include curves to smooth things out
359
Option 520 is a squared powercurve and feels quite natural although that is
360
very subjective. Perhaps its natural for a hard player and it could be a
361
better default than the linear curve.
363
The value 1000 will invert the mapping, so:
365
1510 - linear from 1.0 down to 0.0 as velocity increases
366
1520 - exponential, from 1.0 down to 0.0 as velocity increases
368
The engine mapping is applied before the emulation mapping given here. There
369
are reasonable arguments to make this table logarithmic - you are welcome to
370
do so. There are no limits to the values here other than negative values are
371
not mapped, so this table can also be used to compensate for volume levels.
323
375
Duration of nogte glide in seconds, default 5.
425
477
Prevent the GUI piano keyboard image from tracking MIDI events, small reduction
481
The default GUI behaviour for tuning keys on with the mouse is to latch them,
482
this allows for playing chords on the polyphonics. This option will disable the
483
latch to that keys are played only whilst held with the mousebutton.
486
Initial the emulator with a null patch, all parameters will have the value of
487
zero to allow for a patch to be built from the bottom up, completely from
488
scratch. This is equivalent to '-load -1', negative memory locations will not
489
be saved, ie, you cannot save to the null patch.
429
492
Initial memory number to load at startup. Default is 0 for most emulators.
433
496
can then be saved to another location and allows for interexchange of memories.
436
The master band index allows for access to extra memory ID. This value is added
437
to the memory ID saved from the GUI.
499
The master bank index allows for access to extra memory ID. This value times
500
1000 is added to the memory ID saved/loaded by the GUI so the GUI can access for
501
example 8 banks of 8 memories but using -mbi you can actually save multiple
439
504
\-activesense <ms>
440
505
The rate at which hello messages are sent from GUI to engine to ensure it is
527
592
Do not start a new engine. The GUI will attempt to connect to an existing
528
593
engine on the host and port configuration (cq). If the connection is built
529
then the engine will operate both emjulators and voice allocations will be
594
then the engine will operate both emulators and voice allocations will be
530
595
shared amongst them. All of the emulator outputs are folded back onto the
531
596
same stereo output, excepting where extra Jack control inputs are used.
544
609
not imply the -server option, nor does it imply the -log option for logging to
545
610
the file system, nor -syslog which might also be applicable to a daemon.
613
Timeout for the audio thread initialisation. If the thread does not activate
614
within this period then the engine will gracefully exit rather than wait around
615
for connections indefinitely. Default period is 30 seconds. This is not active
616
in -server or -daemon mode. In normal operation the audio thread will be
617
launched within a couple of seconds but if the engine and GUI are started
618
separately then this timeout demands that a GUI be started before the timer
548
622
Redirect logging output to a file. The default file is /var/log/bristol.log and
549
623
/var/log/brighton.log and if they are not available then $HOME/.bristol/log
550
directory is used. The selection is to prevent logging to root in the event
551
that the engine is invoked by this user.
624
directory is used. The selection of /var/log is to prevent logging to root in
625
the event that the engine is invoked by this user.
554
628
Redirect logging output to syslog.
558
632
timestampes for readability purposes. This can also be configured with the
559
633
environment variable BRISTOL_LOG_CONSOLE=true.
636
Do not load any bristolrc parameter file.
562
639
The final process to be requested by the startBristol script will be called as
563
640
an exec such that it maintains amongst other things the PID of the parent. This
564
641
option will override the exec and leave the script waiting for the processes to
642
exit. There implications of not using this parameter, some of the cleanup code
643
is part of the wrapping shellscript, per default this is not called due to the
644
exec request. This flag is default but should only really be required for
568
648
Stop all the running bristol engines. This will indirectly result in termination
586
666
/usr/local/share/bristol when emulators are started and memories are loaded. If
587
667
the pathname does not exist then it is created if possible.
669
\-memdump <pathname> [-emulate <synth>]
670
Create the target directory <pathname>/memory/<synth> and copy first the
671
factory default memories for the synth, then the user private memories. This
672
can be used with session management to make a copy of all synth memories in a
673
session. If the target directory already exists then no copy operation takes
674
place but the directory does replace the -cache default to make this the new
675
location for saved memories for that session. The -emulate option is required,
676
if it is not provided then the default hammondB3 is taken.
590
679
Debug level, values above 12 can be very verbose and only the value 0 is
591
680
arguably realtime safe as it avoids printf() in the engine compute thread.
600
689
\-host <hostname>
601
690
Connect to the engine on the hostname, default is localhost. This is used in
602
conjuction with -engine to distribute the GUI. The hostname should accept
603
syntax such as hostname:port as per the next option.
691
conjuction with -engine to distribute the GUI. The hostname accepts syntax such
692
as hostname:port to fix both the host and port for a remote connection to the
693
engine. If the host portion is the token 'unix' then a local named socket is
694
created rather than a TCP connection. In this instance a specific port number
695
can be given to create the named socket /tmp/br.<port> and if the port is not
696
specified then a random numeric index is chosen.
606
699
Connect to the given TCP port for GUI/engine messaging, default 5028. If the
607
700
port is alreeady in use then the startup with fail. For starting multiple
608
701
bristols with GUI then this option should be discarded and the script will look
609
for a free port number for each invocation.
702
for a free port number for each invocation. It is incorrect to mix this option
703
with -host parameters that take a value host:port or unix:port as the results
704
will be indeterminate depending on the order the parameters are submitted.
612
707
Redirect debug and diagnostic output to /dev/null.
658
753
a bridging daemon to operate. The options '-jack -midi seq' would be a more
659
754
typical configuration.
757
Do not request audio parameters from the jack server, take the bristol system
758
defaults or the configured parameters. The bristol defaults will invariably
759
fail however the call to bristoljackstats is sometimes superfluous and this can
760
speed up the initial startup times. Using this parameter will typically require
761
that the options -rate and -count are also provided.
662
764
This is for sole use of the Jack Session Manager
665
767
This is for sole use of the Jack Session Manager
668
Jack session event execution are delayed in the GUI by a default of 5000ms.
770
Jack session manager delay before session events are distributed internally.
771
Event execution is delayed in the GUI by a default of 5000ms.
671
774
Disable all session management including JSM and LADI.
777
Stall the initialisation process for 'n' seconds. This is to work around what
778
appears to be race a condition when using a session manager to initialise
779
multiple bristol clients as they all vie for the same TCP port identifier.
674
782
Jack Dual Open: let the audio and midi threads register as independent clients
675
783
with Jack. Per default the audio thread will open as a jack client and the MIDI
830
938
startBristol \-juno -jack -register juno -voices 32 &
832
startBristol \-prophet -jack -register prophet -channel 2 -voices 32 &
940
startBristol \-prophet -jack -register prophet -channel 2 -voices 32
833
941
Start two synthesisers, a juno and a prophet5. Each synth is totally independent
834
942
with its own GUI and own engine. Each engine will register separately with the
835
943
jack daemon. They will respectively register the names 'juno' and 'prophet' with
839
947
use up to 32 voices and there will only be CPU contention - these are separate
840
948
engine process with 32 voices each.
951
The \fBbristolrc\fP file can be created in the BRISTOL_CACHE directory (default
952
value ${HOME}/.bristol/bristolrc) and the users prefered options placed as the
953
content. The file will be read as a single line and incorporated onto the
954
command lines for both bristol and brighton.
955
There is an additional variable BRISTOL_RC which can point to another location
957
This can be used to simply the command line for all parameters that a user
958
provides with each invocation. The parameters can be all on a single line of
959
the file or one per line. The parameters from this file will preceed the user
960
specified ones such that the RC defaults may be overridden on the comand line.
962
.SH ENVIRONMENT VARIABLES
965
This indicates the location of the bristol installation for the binaries,
966
bitmaps and related data reside. The default depends on the prefix used for
967
the system build, /usr/local/share/bristol and /usr/share/bristol are typical.
970
The cache is where memories and emulator profiles (keyboard maps and
971
MIDI Continuous Controller maps) are saved. The default is ${HOME}/.bristol
974
Location of the bristol runcom file.
977
Force debuging output to be sent to console without timestamping, log file or
981
Attempt to automatically connect the bristol audio inputs and outputs when using
985
If BRISTOL_AUTOCON is set to anything other than '0' this will be the default
986
Jack port for the bristol left channel output. There is no default, if AUTOCONN
987
has been requested this will be the first jack playback channel.
990
If BRISTOL_AUTOCON is set to anything other than '0' this will be the default
991
Jack port for the bristol right channel output. There is no default, if AUTOCONN
992
has been requested this will be the second jack playback channel.
995
If BRISTOL_AUTOCON is set to anything other than '0' this will be the default
996
Jack port for the bristol (mono) input channel. There is no default, if
997
AUTOCONN is set this will be the first jack capture channel.
843
1000
Written by Nicholas Copeland <nickycopeland@hotmail.com>