~ubuntu-branches/debian/sid/bristol/sid

« back to all changes in this revision

Viewing changes to bristol.1

  • Committer: Bazaar Package Importer
  • Author(s): Alessio Treglia
  • Date: 2011-02-15 02:54:23 UTC
  • mfrom: (13.1.6 experimental)
  • Revision ID: james.westby@ubuntu.com-20110215025423-g8hcla5gyl08mae3
Tags: 0.60.8-2
* Upload to unstable.
* Relax JACK's build-deps to let this build in sid.

Show diffs side-by-side

added added

removed removed

Lines of Context:
130
130
.br
131
131
16 track mixer (unfinished: \-libtest only)
132
132
.PP
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
 
142
default it will
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'
315
319
\-velocity <v>
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
320
 
exponential maps.
 
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.
 
329
 
 
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:
 
333
 
 
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.
 
336
 
 
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:
 
339
 
 
340
  500-509 Convex curves for a soft touch keyboard player
 
341
  510 linear
 
342
  511-25 Concave curves for a hard touched player.
 
343
 
 
344
Then there are a couple of specific curves
 
345
 
 
346
  550 logarithmic
 
347
  560 parabolic
 
348
 
 
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
 
357
a little.
 
358
 
 
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.
 
362
 
 
363
The value 1000 will invert the mapping, so:
 
364
 
 
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
 
367
 
 
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.
 
372
 
321
373
.TP
322
374
\-glide <s>
323
375
Duration of nogte glide in seconds, default 5.
425
477
Prevent the GUI piano keyboard image from tracking MIDI events, small reduction
426
478
in CPU overhead.
427
479
.TP
 
480
\-keytoggle
 
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.
 
484
.TP
 
485
\-neutral
 
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.
 
490
.TP
428
491
\-load <m>
429
492
Initial memory number to load at startup. Default is 0 for most emulators.
430
493
.TP
433
496
can then be saved to another location and allows for interexchange of memories.
434
497
.TP
435
498
\-mbi <m>
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
 
502
sets of 64 memories.
438
503
.TP
439
504
\-activesense <ms>
440
505
The rate at which hello messages are sent from GUI to engine to ensure it is
526
591
\-engine
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.
532
597
.TP
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.
546
611
.TP
 
612
\-watchdog <s>
 
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
 
619
expires.
 
620
.TP
547
621
\-log
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.
552
626
.TP
553
627
\-syslog
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.
560
634
.TP
 
635
\-rc
 
636
Do not load any bristolrc parameter file.
 
637
.TP
561
638
\-exec
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
565
 
exit.
 
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 
 
645
LADI compatibility.
566
646
.TP
567
647
\-stop
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.
588
668
.TP
 
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.
 
677
.TP
589
678
\-debug <1\-16>
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.
599
688
.TP
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.
604
697
.TP
605
698
\-port <p>
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.
610
705
.TP
611
706
\-quiet
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.
660
755
.TP
 
756
\-jackstats
 
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.
 
762
TP
661
763
\-jsmuuid <UUID>
662
764
This is for sole use of the Jack Session Manager
663
765
.TP
665
767
This is for sole use of the Jack Session Manager
666
768
.TP
667
769
\-jsmd <ms>
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.
669
772
.TP
670
773
\-session
671
774
Disable all session management including JSM and LADI.
672
775
.TP
 
776
\-sleep <n>
 
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.
 
780
.TP
673
781
\-jdo
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
829
937
.TP
830
938
startBristol \-juno -jack -register juno -voices 32 &
831
939
.TP
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.
841
949
 
 
950
.SH FILES
 
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
 
956
if necessary.
 
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.
 
961
 
 
962
.SH ENVIRONMENT VARIABLES
 
963
.TP
 
964
BRISTOL
 
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.
 
968
.TP
 
969
BRISTOL_CACHE
 
970
The cache is where memories and emulator profiles (keyboard maps and
 
971
MIDI Continuous Controller maps) are saved. The default is ${HOME}/.bristol
 
972
.TP
 
973
BRISTOL_RC
 
974
Location of the bristol runcom file.
 
975
.TP
 
976
BRISTOL_LOG_CONSOLE
 
977
Force debuging output to be sent to console without timestamping, log file or
 
978
syslog.
 
979
.TP
 
980
BRISTOL_AUTOCONN
 
981
Attempt to automatically connect the bristol audio inputs and outputs when using
 
982
Jack.
 
983
.TP
 
984
BRISTOL_AUTO_LEFT
 
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.
 
988
.TP
 
989
BRISTOL_AUTO_RIGHT
 
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.
 
993
.TP
 
994
BRISTOL_AUTO_IN
 
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.
 
998
 
842
999
.SH AUTHOR
843
1000
Written by Nicholas Copeland <nickycopeland@hotmail.com>
844
1001