1BRISTOL(1) General Commands Manual BRISTOL(1)
2
3
4
6 bristol - a synthesiser emulation package.
7
9 startBristol -mini -jack -midi seq [options]
10
12 bristol is a vintage synthesiser software emulator suite. The applica‐
13 tion consists of an engine itself called bristol and a graphical user
14 interface called brighton. The graphical interface is a bitmap manipu‐
15 lation library to present the diverse synth devices such as potentiome‐
16 ters, buttons, sliders, patch cables and which generates the messages
17 to configure the synth emulator. The engine is an infrastructure that
18 hosts the emulator code that couples together the different audio oper‐
19 ators required to generate the audio. The engine and GUI are started
20 together with the startBristol script which sets up the required envi‐
21 ronment for the two to connect together. It is not generally envisaged
22 that bristol and brighton be started outside of the script however
23 there are options to the script to only start one or the other. Bristol
24 also has a command line interface that can be used rather than the GUI.
25
26 Currently following synthesizers are emulated:
27
28 Emulations
29
30 moog mini
31 moog explorer (voyager)
32 moog voyager electric blue
33 moog memory
34 moog sonic 6
35 moog/realistic mg-1 concertmate
36 hammond module (deprecated, use -b3)
37 hammond B3 (default)$
38 sequential circuits prophet-5
39 sequential circuits prophet-5/fx
40 sequential circuits prophet-10
41 sequential circuits pro-one
42 fender rhodes mark-I stage 73
43 fender rhodes bass piano
44 crumar roadrunner electric piano
45 crumar bit 01
46 crumar bit 99
47 crumar bit + mods
48 crumar stratus synth/organ combo
49 crumar trilogy synth/organ/string combo
50 oberheim OB-X
51 oberheim OB-Xa
52 arp axxe
53 arp odyssey
54 arp 2600
55 arp/solina string ensemble
56 korg polysix
57 korg poly-800
58 korg mono/poly
59 korg ms20 (unfinished: -libtest only)
60 vox continental
61 vox continental super/300/II
62 roland juno-60
63 roland jupiter-8
64 baumann bme-700
65 bristol bassmaker sequencer
66 yamaha dx-7
67 yamaha cs-80 (unfinished)
68 commodore-64 SID chip synth
69 commodore-64 SID polyphonic synth (unfinished)
70 granular synthesiser (unfinished)
71 ems synthi-a (unfinished)
72 16 track mixer (unfinished: -libtest only)
73
74 The default connection between the engine and GUI is a TCP socket using
75 a SYSEX format message taken from MIDI. Optionally the code will use a
76 unix domain socket for improved security. The GUI and engine do not
77 need to be resident on the same system if suitable parameters are
78 given, this feature requires the TCP domain sockets be used. The engine
79 can also accept requests from multiple brighton interfaces and run all
80 the emulators at the same time, multitimbraly, sharing voices between
81 them and pre-empting where necessary. If an emulator is started in
82 monophonic mode then it is preallocated a voice that will never be pre-
83 empted and which runs continuously, ie, by default it will continue to
84 run even when no piano keys are pressed. The polyphonic code will only
85 run the voice algorithms whilst the key gate is open, the gate being
86 derived from the voice envelope state. The engine supports minimally 32
87 voices per default, if an emulator requests less then its emulation is
88 configured with a soft limit. If more are requested then more voices
89 are created however the upper limit is imposed at 128 voices. A voice
90 is an engine structure that allows for allocation and executing, the
91 actual code run by a voice can be any of the emulator algorithms which
92 is how multitimbral operation is supported. The voice allocation
93 process is 'last note precedence' and whilst others are available for
94 the monophonic instruments, this is the only polyphonic assignment
95 algorithm.
96
97 This package should be started with the startBristol script. The script
98 will start up the bristol synthesiser binaries, evaluating the correct
99 library paths and executable paths. There are emulation, synthesiser
100 and operational parameters:
101
103 Emulation:
104
105 -mini - moog mini
106 -explorer - moog voyager
107 -voyager - moog voyager electric blue
108 -memory - moog memory
109 -sonic6 - moog sonic 6
110 -mg1 - moog/realistic mg-1 concertmate
111 -hammond - hammond module (deprecated, use -b3)
112 -b3 - hammond B3 (default)
113 -prophet - sequential circuits prophet-5
114 -pro52 - sequential circuits prophet-5/fx
115 -pro10 - sequential circuits prophet-10
116 -pro1 - sequential circuits pro-one
117 -rhodes - fender rhodes mark-I stage 73
118 -rhodesbass - fender rhodes bass piano
119 -roadrunner - crumar roadrunner electric piano
120 -bitone - crumar bit 01
121 -bit99 - crumar bit 99
122 -bit100 - crumar bit + mods
123 -stratus - crumar stratus synth/organ combo
124 -trilogy - crumar trilogy synth/organ/string combo
125 -obx - oberheim OB-X
126 -obxa - oberheim OB-Xa
127 -axxe - arp axxe
128 -odyssey - arp odyssey
129 -arp2600 - arp 2600
130 -solina - arp/solina string ensemble
131 -polysix - korg polysix
132 -poly800 - korg poly-800
133 -monopoly - korg mono/poly
134 -ms20 - korg ms20 (unfinished: -libtest only)
135 -vox - vox continental
136 -voxM2 - vox continental super/300/II
137 -juno - roland juno-60
138 -jupiter - roland jupiter-8
139 -bme700 - baumann bme-700
140 -bm - bristol bassmaker sequencer
141 -dx - yamaha dx-7
142 -cs80 - yamaha cs-80 (unfinished)
143 -sidney - commodore-64 SID chip synth
144 -melbourne - commodore-64 SID polysynth (unfinished)
145 -granular - granular synthesiser (unfinished)
146 -aks - ems synthi-a (unfinished)
147 -mixer - 16 track mixer (unfinished: -libtest only)
148
149 Synthesiser:
150
151
152 -voices <n>
153 The selected emulator will start with this number of voices. The
154 engine will always create 32 voices but only allocate this sub‐
155 set to the emulator. If the selected value is greater than 32
156 then the greater number of voices is allocated.
157
158 -mono Run the emulator in monophonic mode. This is not really an alias
159 for '-voices 1' as it additionally configures parameters such as
160 '-retrig -lvel -wwf -hnp'. These additional options can be
161 overridden if desired.
162
163 -lnp Select low note precedence logic. This only applies to mono‐
164 phonic synthesisers and all of the note precedence affect the
165 legato playing style.
166
167 -hnp Select high note precedence logic. This only applies to mono‐
168 phonic synthesisers.
169
170 -nnp Select no note precedence, this is the default and operates as a
171 last note precedence selection.
172
173 -retrig
174 Request a trigger event for each note that is played AND notes
175 that are released. The trigger will cause the envelopes to
176 cycle. They will not return to zero by default however some of
177 the emulations have that as a GUI control. Without this flag
178 triggers are only sent for the first pressed note of a sequence.
179
180 -lvel Configure velocity inheritance for all legato notes - the first
181 note of a sequence will have a velocity value that is applied to
182 all subsequent notes. This option is a toggle: applying twice
183 will disable the feature. This is important with regards to the
184 emulators as many of the mono synths with set lvel per default.
185 The following options may not work as expected:
186
187 startBristol -mini -lvel
188
189 The issue is that -mini enables legato velocity so the -lvel
190 switch will toggle it off again. The same applies to -retrig.
191
192 -channel <c>
193 Start the emulator to respond on this MIDI channel, default 1.
194
195 -lowkey <n>
196 Configure the lowest note for which the emulator should respond.
197 This defaults to '0' but can be used to define key splits and
198 ranges for different synths.
199
200 -highkey <n>
201 Configure the highest note for which the emulator should
202 respond. This defaults to '127' but can be used to define key
203 splits and ranges for different synths.
204
205 -detune <%>
206 Request the emulator run with a level of temperature sensitiv‐
207 ity. The default value is defined by the emulator, typically 100
208 or 200. The detune is applied to a voice at note on only and is
209 a random value within the range defined here.
210
211 -gain <gn>
212 Output signal gain level for the emulator. These can be used to
213 normalise the signal levels from different synths when played
214 together. The default value is defined by the synth itself, this
215 is an override.
216
217 -pwd <s>
218 Pitch wheel depth in semitones, default 2.
219
220 -velocity <v>
221 Velocity curve for the emulator. Default is 520, an exponential
222 curve for a hard playing style. Value '0' is flat (no touch sen‐
223 sitivity). Values up to 100 are linear scaled maps. The veloc‐
224 ity map is table of points that is interpolated linearly: you
225 may only have to define the inflexion points, however if you
226 want smooth curves you will have to define each of the 128
227 velocity values that are used in noteon/noteoff events. The emu‐
228 lation only has a single table of gain levels for each
229 key.velocity index, the engine by contrast has two tables, one
230 for each on/off event however that is an integer map, not a gain
231 map.
232
233 There are several default tables if you do not want to specify
234 your own interpolated curve. Each table is the gain for the Midi
235 velocity value given in the note event, it has 128 entries. The
236 following are implmented:
237
238 100-199 Convex curves for a soft touch keyboard player
239 200-499 Concave curves for a hard touch, linear up to quadrat‐
240 ic function.
241
242 The next set up to 525 are repeats of the above but with less
243 granularity. In the above range the value of 200 is linear, as
244 is 510 below:
245
246 500-509 Convex curves for a soft touch keyboard player
247 510 linear
248 511-25 Concave curves for a hard touched player.
249
250 Then there are a couple of specific curves
251
252 550 logarithmic
253 560 parabolic
254
255 The values up to 100 consists of two digit numbers. The first
256 digit defines how late the line starts (it is linear) to ramp
257 up, and the second digit is how late it reaches 1.0. The value
258 of 09 is almost the linear mapping above as it starts from 0 and
259 ends almost at the end. A value of 49 would be for a heavy
260 player, it is zero for a large part of the velocity table, and
261 then ramps up to max gain (1.0) close the end of the table. Note
262 that these table could also have been defined with velocityMap
263 definitions as they are linear interpolations. A present release
264 will include curves to smooth things out a little.
265
266 Option 520 is a squared powercurve and feels quite natural
267 although that is very subjective. Perhaps its natural for a hard
268 player and it could be a better default than the linear curve.
269
270 The value 1000 will invert the mapping, so:
271
272 1510 - linear from 1.0 down to 0.0 as velocity increases
273 1520 - exponential, from 1.0 down to 0.0 as velocity increases
274
275 The engine mapping is applied before the emulation mapping given
276 here. There are reasonable arguments to make this table loga‐
277 rithmic - you are welcome to do so. There are no limits to the
278 values here other than negative values are not mapped, so this
279 table can also be used to compensate for volume levels.
280
281
282 -glide <s>
283 Duration of nogte glide in seconds, default 5.
284
285 -emulate <name>
286 Search for the named emulator and invoke it, otherwise exit.
287 Invoking an emulation this was is currently the default, it
288 implies extra parameters for voicecount, gain, glide, pitchwheel
289 depth, detune, etc. The default is hammondB3. The -emulate
290 option also implies -register to the emulator name.
291
292 -register <name>
293 Use a specific name when registering with Jack and ALSA. By
294 default the engine will use the name 'bristol' however this can
295 be confusing if multiple engines are being used and this can be
296 used to override the default.
297
298 -lwf Select lightweight filters for the emulator.
299
300 -nwf Select normalweight filters, the default. These are about twice
301 as expensive as lightweight filters.
302
303 -wwf Select welterweight filters, this are again about double the CPU
304 load as the normal filters.
305
306 -hwf Select heavyweight filters. These are roughly twice the welter‐
307 weight filter. Whilst their is a noticable audible difference
308 between -lwf and -nwf, it is debatable whether the difference
309 between -nwf, -wwf and -hwf is other than visible in the CPU
310 load. The default filter for any -mono synth is -wwf which can
311 be overridden with something line '-mini -mono -nwf'.
312
313 -blo <h>
314 Number of bandwidth limited harmonics to map. The value of zero
315 will select infintite bandwidth, default is 31.
316
317 -blofraction <f>
318 The engine uses precomputed tables for all frequencies where the
319 maximum harmonic does not exceed this fraction of the sampler‐
320 ate. The default, 0.8, is already above nyquist as a tradeoff
321 betweeen content and distortion. Values tending towards 1.0 are
322 heavily aliased at the higher frequencies naturally.
323
324 -scala <file>
325 The engine will read the given scala file and map it into its
326 frequency tables.
327
328 User Interface:
329
330
331 -quality <n>
332 The color cache depth will affect the rendering speed. The lower
333 values start showing loss of clarity, the higher values start
334 using thousands of colors which is where the performance is
335 affected, value is bpp, default is 6.
336
337 -scale <s>
338 Each of the emulators has a default window sisze, this size can
339 be scaled up or downwards if desired.
340
341 -width <n>
342 The pixel width defines the smaller of two sizees that can be
343 configured. It works with the -scale and -autozoom options for
344 flipping between different sizes on mouse Enter/Leave of the
345 window.
346
347 -autozoom
348 Minimise window on exit, maximise on enter.
349
350 -raise Automatically raise the window on Enter.
351
352 -lower Automatically lower the window on Leave. It is noted here that
353 the use of autozoom, raise and lower may have undesirable
354 effects with some window managers.
355
356 -rud Constrain the rotary controller tracking to mouse up/down
357 motion, not to actually track the mouse position. The value will
358 be a fraction of the current window size.
359
360 -antialias <%>
361 For some window sizes there will be pixelation of the rendered
362 imagas unless some antialias is applied. With large zoom values
363 this is automatically set up. Value is a percentage, default is
364 30.
365
366 -aliastype <pre/texture/all>
367 There are three antialiasing options, ´pre´ will apply it to the
368 text silkscreens, ´texture´ will apply it to the surface bitmaps
369 and ´all´ will apply it everywhere including devices rendered.
370 The default is pre however this parameter is only applied if
371 -antialias has a value other than zero.
372
373 -opacity <%>
374 Brighton uses a transparency layer for some features such as the
375 ARP 2600 patch cables. This is the default transparency. It can
376 be adjusted later with the ^o/^O/^t control codes in the GUI.
377 Default is 50 percent.
378
379 -pixmap
380 Use the X11 pixmap interface rather than the default XImage
381 interface to the server.
382
383 -dct <ms>
384 Double click timeout for button events, etc, 250 ms.
385
386 -tracking
387 Prevent the GUI piano keyboard image from tracking MIDI events,
388 small reduction in CPU overhead.
389
390 -keytoggle
391 The default GUI behaviour for tuning keys on with the mouse is
392 to latch them, this allows for playing chords on the polyphon‐
393 ics. This option will disable the latch to that keys are played
394 only whilst held with the mousebutton.
395
396 -neutral
397 Initial the emulator with a null patch, all parameters will have
398 the value of zero to allow for a patch to be built from the bot‐
399 tom up, completely from scratch. This is equivalent to '-load
400 -1', negative memory locations will not be saved, ie, you cannot
401 save to the null patch.
402
403 -load <m>
404 Initial memory number to load at startup. Default is 0 for most
405 emulators.
406
407 -import <pathname>
408 Import a memory from a disk file to the active patch at start
409 time. This patch can then be saved to another location and
410 allows for interexchange of memories.
411
412 -mbi <m>
413 The master bank index allows for access to extra memory ID. This
414 value times 1000 is added to the memory ID saved/loaded by the
415 GUI so the GUI can access for example 8 banks of 8 memories but
416 using -mbi you can actually save multiple sets of 64 memories.
417
418 -activesense <ms>
419 The rate at which hello messages are sent from GUI to engine to
420 ensure it is still active. If the transmission fails then the
421 GUI will exit, if the engine does not receive updates it will
422 also exit. Zero will disable active sense.
423
424 -ast <m>
425 The engine timeout period on active sense messages.
426
427 -mct <m>
428 The MIDI cycle timeout is a busy waiting GUI timer for MIDI
429 events, used when the GUI takes a MIDI interface for direct
430 event tracking.
431
432 -ar|-aspect
433 All of the emulators will attempt to maintain an aspect ratio
434 for their windows so that they look 'normal'. This conflicts
435 with some tiling window managers so can be disabled. It may also
436 cause some excessive remapping of windows when they are resized.
437
438 -iconify
439 Open the window in the iconified state.
440
441 -window
442 Do not map any window.
443
444 -cli Enable the text based command line interface to the engine. This
445 can be used in connjuction with -window however if compiled
446 without support for any windowing system the -window option is
447 implied.
448
449 -libtest
450 Do not start the engine, nor attempt to connect to it, just post
451 the GUI for testing.
452
453
454 GUI Shortcuts:
455
456 <Ctrl> 's' - save settings to current memory
457 <Ctrl> 'l' - (re)load current memory
458 <Ctrl> 'x' - exchange current with previous memory
459 <Ctrl> '+' - load next memory
460 <Ctrl> '-' - load previous memory
461 <Ctrl> '?' - show emulator help information
462 <Ctrl> 'h' - show emulator help information
463 <Ctrl> 'r' - show application readme information
464 <Ctrl> 'k' - show keyboard shortcuts
465 <Ctrl> 'p' - screendump to /tmp/<synth>.xpm
466 <Ctrl> 't' - toggle opacity
467 <Ctrl> 'o' - decrease opacity of patch layer
468 <Ctrl> 'O' - increase opacity of patch layer
469 <Ctrl> 'w' - display warranty
470 <Ctrl> 'g' - display GPL (copying conditions)
471 <Shift> '+' - increase window size
472 <Shift> '-' - decrease window size
473 <Shift> 'Enter'- toggle window between full screen size
474 UpArrow - controller motion up (shift key accelerator)
475 DownArrow - controller motion down (shift key accelerator)
476 RightArrow - more control motion up (shift accelerator)
477 LeftArrow - more control motion down (shift accelerator)
478
479
480 Operational options:
481
482 General:
483
484
485 -engine
486 Do not start a new engine. The GUI will attempt to connect to an
487 existing engine on the host and port configuration (cq). If the
488 connection is built then the engine will operate both emulators
489 and voice allocations will be shared amongst them. All of the
490 emulator outputs are folded back onto the same stereo output,
491 excepting where extra Jack control inputs are used.
492
493 -gui Do not start the GUI, only the engine. The GUI will attempt to
494 connect to the engine on the configured host and port values. If
495 it does not respond then the GUI will exit with some rather
496 terse messaging.
497
498 -server
499 Start the engine as a permanant server that does not exit with
500 the last emulator.
501
502 -daemon
503 Run the engine as a daemon with disconnected controlling termi‐
504 nal. This does not imply the -server option, nor does it imply
505 the -log option for logging to the file system, nor -syslog
506 which might also be applicable to a daemon.
507
508 -watchdog <s>
509 Timeout for the audio thread initialisation. If the thread does
510 not activate within this period then the engine will gracefully
511 exit rather than wait around for connections indefinitely.
512 Default period is 30 seconds. This is not active in -server or
513 -daemon mode. In normal operation the audio thread will be
514 launched within a couple of seconds but if the engine and GUI
515 are started separately then this timeout demands that a GUI be
516 started before the timer expires.
517
518 -log Redirect logging output to a file. The default file is
519 /var/log/bristol.log and /var/log/brighton.log and if they are
520 not available then $HOME/.bristol/log directory is used. The
521 selection of /var/log is to prevent logging to root in the event
522 that the engine is invoked by this user.
523
524 -syslog
525 Redirect logging output to syslog.
526
527 -console
528 Maintain the controlling terminal as output for logging mes‐
529 sages, remove the timestampes for readability purposes. This can
530 also be configured with the environment variable BRIS‐
531 TOL_LOG_CONSOLE=true.
532
533 -rc Do not load any bristolrc parameter file.
534
535 -exec The final process to be requested by the startBristol script
536 will be called as an exec such that it maintains amongst other
537 things the PID of the parent. This option will override the exec
538 and leave the script waiting for the processes to exit. There
539 implications of not using this parameter, some of the cleanup
540 code is part of the wrapping shellscript, per default this is
541 not called due to the exec request. This flag is default but
542 should only really be required for LADI compatibility.
543
544 -stop Stop all the running bristol engines. This will indirectly
545 result in termination of any GUI due to active sensing although
546 that can be disabled. The use case is to stop any -server -dae‐
547 mon engines running in the background. The back end to the
548 option is pkill.
549
550 -exit Stop all the running bristol engines and GUI.
551
552 -kill <-emulator>
553 Stop all the running bristol engines and GUI that have been
554 associated with the given emulator. If bristol was started with
555 '-mini' it can now be killed with -mini so that other emulators
556 are not terminated. If there are multiple mini running they will
557 naturally die also. If the engine is running multitimbral GUI
558 then the other associated GUI will also exit in addition to the
559 mini.
560
561 -cache <pathname>
562 The default location for new memories and emulator profiles, the
563 default is ~/.bristol and it will be searched before the sys‐
564 tem/factory default directory /usr/local/share/bristol when emu‐
565 lators are started and memories are loaded. If the pathname does
566 not exist then it is created if possible.
567
568 -memdump <pathname> [-emulate <synth>]
569 Create the target directory <pathname>/memory/<synth> and copy
570 first the factory default memories for the synth, then the user
571 private memories. This can be used with session management to
572 make a copy of all synth memories in a session. If the target
573 directory already exists then no copy operation takes place but
574 the directory does replace the -cache default to make this the
575 new location for saved memories for that session. The -emulate
576 option is required, if it is not provided then the default ham‐
577 mondB3 is taken.
578
579 -debug <1-16>
580 Debug level, values above 12 can be very verbose and only the
581 value 0 is arguably realtime safe as it avoids printf() in the
582 engine compute thread.
583
584 -readme [-<e>]
585 Display the program readme information. Show the readme for just
586 a single emulator if desired.
587
588 -glwf Only allow the use of '-lwf' for all emulators, no overrides.
589
590 -host <hostname>
591 Connect to the engine on the hostname, default is localhost.
592 This is used in conjuction with -engine to distribute the GUI.
593 The hostname accepts syntax such as hostname:port to fix both
594 the host and port for a remote connection to the engine. If the
595 host portion is the token 'unix' then a local named socket is
596 created rather than a TCP connection. In this instance a spe‐
597 cific port number can be given to create the named socket
598 /tmp/br.<port> and if the port is not specified then a random
599 numeric index is chosen.
600
601 -port <p>
602 Connect to the given TCP port for GUI/engine messaging, default
603 5028. If the port is alreeady in use then the startup with fail.
604 For starting multiple bristols with GUI then this option should
605 be discarded and the script will look for a free port number for
606 each invocation. It is incorrect to mix this option with -host
607 parameters that take a value host:port or unix:port as the
608 results will be indeterminate depending on the order the parame‐
609 ters are submitted.
610
611 -quiet Redirect debug and diagnostic output to /dev/null.
612
613 -gmc Open a MIDI interface in the GUI. Per default the engine will
614 own the only MIDI interface for bristol and will redistribute
615 events to the GUI. It is possible to disable the forwarding and
616 attach both GUI and engine to midi devices if necessary.
617
618 -forward
619 Disable MIDI event forwarding globally. Per default the engine
620 opens a MIDI interface and is connected to the physical key‐
621 boards, control surfaces and/or sequencers. It will forward MIDI
622 events to the GUI for tracking. This option disables the fea‐
623 ture. When disabled the GUI will not reflect the piano keybaord
624 state, nor will it track CC motion unless the options '-gmc' is
625 given to open a MIDI connection in the GUI and that the user
626 connects the same control surfaces to the GUI via this alterna‐
627 tive channel. This option is logically identical to ´-localfor‐
628 ward -remoteforward´.
629
630 -localforward
631 This will prevent the GUI from forwarding MIDI messages to the
632 engine. This is not to prevent MIDI message loops as the for‐
633 warding only ever occurs from MIDI interfaces to TCP connections
634 between GUI and engine. This option will prevent messages from
635 any surfaces that are connected to the GUI from forwarding to
636 the engine.
637
638 -remoteforward
639 This will prevent the engine from forwarding to the GUI but
640 still allow the GUI to forward to the engine. If the GUI is
641 given a MIDI connection with the -gmc option, and control sur‐
642 faces are applied to both processes then the -forward option
643 should be used to globally prevent event redistribution. Failure
644 to do so will not result in loops, just one-for-one duplication
645 of events. It is possible to connect the control surfaces just
646 to the GUI when the -gmc option is used, this gives the possi‐
647 bility to have a local keyboard and GUI but drive an engine on a
648 remote systems. Their is admittedly additional latency involved
649 with handling the MIDI messages from the GUI to the remote
650 engine over TCP.
651
652 -oss Configure OSS defaults for audio and MIDI interfaces
653
654 -alsa Configure ALSA defaults for audio and MIDI interfaces. The MIDI
655 interface is an ALSA SEQ port.
656
657 -jack Configure Jack defaults for audio and MIDI interfaces. At the
658 time of writing this option causes some issues as it selects
659 Jack MIDI which currently requires a bridging daemon to operate.
660 The options '-jack -midi seq' would be a more typical configura‐
661 tion.
662
663 -jackstats
664 Do not request audio parameters from the jack server, take the
665 bristol system defaults or the configured parameters. The bris‐
666 tol defaults will invariably fail however the call to bristol‐
667 jackstats is sometimes superfluous and this can speed up the
668 initial startup times. Using this parameter will typically
669 require that the options -rate and -count are also provided. TP
670 -jsmuuid <UUID> This is for sole use of the Jack Session Manager
671
672 -jsmfile <path>
673 This is for sole use of the Jack Session Manager
674
675 -jsmd <ms>
676 Jack session manager delay before session events are distributed
677 internally. Event execution is delayed in the GUI by a default
678 of 5000ms.
679
680 -session
681 Disable all session management including JSM and LADI.
682
683 -sleep <n>
684 Stall the initialisation process for 'n' seconds. This is to
685 work around what appears to be race a condition when using a
686 session manager to initialise multiple bristol clients as they
687 all vie for the same TCP port identifier.
688
689 -jdo Jack Dual Open: let the audio and midi threads register as inde‐
690 pendent clients with Jack. Per default the audio thread will
691 open as a jack client and the MIDI connection is piggypbacked as
692 another port rather than as another client.
693
694 -o <filename>
695 Generate a raw audio output of the final stage samples to a
696 file. The format will be 16bit stereo interleaved.
697
698 -nrp Enable support for NRP events in both GUI and engine. This is to
699 be used with care as NRP in the engine can have unexpected
700 results.
701
702 -enrp Enable NRP support in the engine only.
703
704 -gnrp Enable NRP events in the GUI. This is required to allow the GUI
705 (and hence the engine) to be driven from some MIDI control sur‐
706 faces.
707
708 -nrpcc <n>
709 Maximum number of NRP to map. The default is 128, seen as suffi‐
710 cient for any of the current emulators but the mixer will
711 require more if it is every released.
712
713
714 Audio driver:
715
716
717 -audio [oss|alsa|jack]
718 Audio driver overrides. Depending on the order of the switches
719 it is possible to set a group of global defaults
720 (-jack/oss/alsa) then have specific re-selection of components.
721
722 -audiodev <dev>
723 Audio device name. For Jack, this will be the name registered
724 with the Jack daemon.
725
726 -count <samples>
727 Number of samples/frames in processing period.
728
729 -outgain <gn>
730 Output signal normalisation level, per emulator default 4.
731
732 -ingain <gn>
733 Input signal normalisation level, per emulator default 4.
734
735 -preload <periods>
736 Number of audio buffers to prewrite to the audio output on
737 start. This is not active with the Jack drivers.
738
739 -rate <hz>
740 Sampling rate, defaults to 44100.
741
742 -priority <p>
743 Realtime priority requested by the engine audio thread, default
744 75. Zero will disable RT processing.
745
746 -autoconn
747 Automatically connect the engine input and output to the first
748 Jack IO ports found. This can also be achieved with the environ‐
749 ment variable BRISTOL_AUTOCONN=true
750
751 -multi <c>
752 Multiple IO port requests, only works with Jack and currently
753 only the ARP 2600 gives access to these ports.
754
755 -migc <f>
756 Input signal normalisation level for the multi IO ports.
757
758 -mogc <f>
759 Output signal normalisation level for the multi IO ports.
760
761
762 Midi driver:
763
764
765 -midi [oss|[raw]alsa|jack]
766 Audio driver overrides. Depending on the order of the switches
767 it is possible to set a group of global defaults
768 (-jack/oss/alsa) then have specific re-selection of components
769 such as in ´-jack -midi seq´. The default MIDI driver is '-midi
770 seq' but that can be overriden with compile time options such as
771 --enable-jack-default-midi to ./configure.
772
773 -mididev <dev>
774 MIDI device namee to be opened (OSS/ALSA).
775
776 -mididbg
777 Request MIDI level 1 debuging.
778
779 -mididbg2
780 Request MIDI level 2 debuging. Both can be selected for level 3.
781
782 -sysid <0xXXXXXXXX>
783 Configure an alternative SYSEX identifier for the engine. The
784 default is the value 0x534C6162 for historical reasons, this is
785 not a free development ID but it is not assigned so should not
786 cause conflict.
787
788
789 LADI driver (level 1 compliant):
790
791
792 -ladi brighton
793 Execute LADI messages in the GUI only
794
795 -ladi bristol
796 Execute LADI messages in the engine only
797
798 -ladi <memory>
799 The LADI state memory for save operations. This should be unique
800 for each LADI session.
801
802
804 startBristol -mini
805 Run a minimoog using ALSA interface for audio and midi (seq).
806 The emulator will default to monophonic, high note precedence
807 with retrigger and legato velocity.
808
809 startBristol -alsa
810 Run a hammondB3 using ALSA interface for audio and midi. This is
811 equivalent to all the following options: -b3 -audio alsa
812 -audiodev plughw:0,0 -midi seq -mididev plughw:0 -count 256
813 -preload 4 -port 5028 -voices 32 -channel 1 -rate 44100
814
815 startBristol -explorer -voices 1
816 Run a moog explorer as a monophonic instrument, using ALSA
817 interface for audio and midi.
818
819 startBristol -prophet -alsa -channel 3
820 Run a prophet-5 using ALSA for audio and midi (on channel 3).
821
822 startBristol -b3 -count 512 -preload 2
823 Run a hammond b3 with a 512 samples in a period, and preload two
824 such buffers before going active. Some Live! cards need this
825 larger buffer size with ALSA drivers.
826
827 startBristol -oss -audiodev /dev/dsp1 -vox -voices 8
828 Run a vox continental using OSS device 1, and default midi
829 device /dev/midi0. Operate with just 8 voices out of the 32
830 available.
831
832 startBristol -b3 -audio alsa -audiodev plughw:0,0 -seq -mididev 128.0
833 Run a B3 emulation over the ALSA PCM plug interface, using the
834 ALSA sequencer over client 128, port 0.
835
836 startBristol -juno &
837
838 startBristol -prophet -channel 2 -engine
839 Start two synthesisers, a juno and a prophet. Both synthesisers
840 will will be executed on one engine (multitimbral) with 32
841 voices between them. The juno will be on default midi channel
842 (1), and the prophet on channel 2. Output over the same default
843 ALSA audio device. The 32 voices will never all get used as
844 these emulators will run per default with a lower soft limit.
845 They can be run with more voices however that would require
846 suitable values to the -voices option.
847
848 startBristol -juno -jack -register juno -voices 32 &
849
850 startBristol -prophet -jack -register prophet -channel 2 -voices 32
851 Start two synthesisers, a juno and a prophet5. Each synth is
852 totally independent with its own GUI and own engine. Each engine
853 will register separately with the jack daemon. They will respec‐
854 tively register the names 'juno' and 'prophet' with Jack and
855 ALSA so that they can be differentiated in the respective con‐
856 trol programmes such as aconnect and qjackctl. The outputs will
857 be visible separately in these control programs and can thus be
858 routed independently. Each synth can use up to 32 voices and
859 there will only be CPU contention - these are separate engine
860 process with 32 voices each.
861
862
864 The bristolrc file can be created in the BRISTOL_CACHE directory
865 (default value ${HOME}/.bristol/bristolrc) and the users prefered
866 options placed as the content. The file will be read as a single line
867 and incorporated onto the command lines for both bristol and brighton.
868 There is an additional variable BRISTOL_RC which can point to another
869 location if necessary. This can be used to simply the command line for
870 all parameters that a user provides with each invocation. The parame‐
871 ters can be all on a single line of the file or one per line. The
872 parameters from this file will preceed the user specified ones such
873 that the RC defaults may be overridden on the comand line.
874
875
877 BRISTOL
878 This indicates the location of the bristol installation for the
879 binaries, bitmaps and related data reside. The default depends
880 on the prefix used for the system build, /usr/local/share/bris‐
881 tol and /usr/share/bristol are typical.
882
883 BRISTOL_CACHE
884 The cache is where memories and emulator profiles (keyboard maps
885 and MIDI Continuous Controller maps) are saved. The default is
886 ${HOME}/.bristol
887
888 BRISTOL_RC
889 Location of the bristol runcom file.
890
891 BRISTOL_LOG_CONSOLE
892 Force debuging output to be sent to console without timestamp‐
893 ing, log file or syslog.
894
895 BRISTOL_AUTOCONN
896 Attempt to automatically connect the bristol audio inputs and
897 outputs when using Jack.
898
899 BRISTOL_AUTO_LEFT
900 If BRISTOL_AUTOCON is set to anything other than '0' this will
901 be the default Jack port for the bristol left channel output.
902 There is no default, if AUTOCONN has been requested this will be
903 the first jack playback channel.
904
905 BRISTOL_AUTO_RIGHT
906 If BRISTOL_AUTOCON is set to anything other than '0' this will
907 be the default Jack port for the bristol right channel output.
908 There is no default, if AUTOCONN has been requested this will be
909 the second jack playback channel.
910
911 BRISTOL_AUTO_IN
912 If BRISTOL_AUTOCON is set to anything other than '0' this will
913 be the default Jack port for the bristol (mono) input channel.
914 There is no default, if AUTOCONN is set this will be the first
915 jack capture channel.
916
917
919 Written by Nicholas Copeland <nickycopeland@hotmail.com>
920
921
923 Bugs and enhancement requests can be submitted to the bristol project
924 page on SourceForge:
925
926 <http://sourceforge.net/tracker/?group_id=157415>
927
928
930 Copyright © 1996,2011 Nick Copeland. License GPLv3+: GNU GPL version 3
931 or later <http://gnu.org/licenses/gpl.html>. This is free software: you
932 are free to change and redistribute it. There is NO WARRANTY, to the
933 extent permitted by law.
934
935
936
937
938 Oct 29, 2011 BRISTOL(1)