|
Bristol is an emulation package
for a number of different 'classic' synthesisers including additive and
subtractive and a few organs. The application consists of the engine,
which is called bristol, and its own GUI library called brighton that
represents all the emulations.
There are currently twenty something different emulations, each does
sound different although the author maintains that the quality and
accuracy of each emulation is subjective. One of the main reasons for
putting together this site (host by Sourceforge which provides the rest
of the services required by bristol) is to depict all the different
emulations.
|
This site contains a write-up
of each of the emualated synthesisers. The algrithms employed were
'gleaned' from a variety of sources including the original owners
manuals, so they may be a better source of information. Some of them
were built just from descriptions of their operation, or from
understanding how synths work - most of them were based on the Mini
Moog anyway. Many of the synths share components: the filter covers
most of them, the Prophets and Oberheims share a common oscillator and
the same LFO is used in many of them. Having said that each one differs
considerably in the resulting sound that is generated, more so than
initially expected. Each release refines each of the components and the
result is that all emulations benefit from the improvements.
All the emulations have distinctive sounds, not least due to that the
original instruments used different modulations and mod routing. The
filter, which is a large defining factor in the tonal qualities of any
synth, is common to all the emulations. The filter implements 3
different algorithms and these do separate each of the synths: the
Explorer layering two low pass filters on top of each other: the OB-Xa
using different types depending on 'Pole' selection. The 3rd filter
algorithm is a butterworth used by for the Leslie rotary speaker
crossover.
The write-up includes the parameter operations, modulations, a
description of the original instrument and a brief list of the kind of
sounds you can expect by describing a few of the well known users of
the synth.
All emulations are available from the same engine, just launch multiple
GUIs and adjust the midi channels for multi timbrality and layering.
It is noted here that the engine is relatively 'dumb'. Ok, it generates
a very broad range of sounds, currently about 15 different synthesisers
and organs, but it is not really intelligent. Memories are a part of
the GUI specification - it tells the engine which algorithm to use on
which MIDI channel, then it calls a memory routine that configures all
the GUI controllers and a
side effectof setting the controllers is that their values are sent to
the engine. This is arguably the correct model but it can affect the
use of MIDI master keyboards. The reason is that the GUI is really just
a master keyboard for the engine and drives it with MIDI SYSEX messages
over TCP sessions. If you were to alter the keyboard transpose, for
example, this would result in the GUI sending different 'key' numbers
to the engine when you press a note. If you were already driving the
synth from a master keyboard then the transpose button in the Brighton
GUI would have no effect - the master keyboard would have to be
transposed instead.
This apparant anomaly is exacerbated by the fact that some parameters
still are in the engine, for example master tuning is in the engine for
the pure
fact thatMIDI does not have a very good concept of master tuning (only
autotuning).
Irrespective of this, bristol is a synthesiser so it needs to be
played, tweaked, driven. If you think that any of the behaviour is
anomalous then let me know. One known issue in this area is that if you
press a key, transpose the GUI, then release the key - it will not go
off in the engine since the GUI sends a different key code for the note
off event - the transposed key. This cannot be related to the original
keypress. This could be fixed with a MIDI all notes off event on
'transpose', but I don't like them. This effect is also in part due to
the Brighton model for the keyboard - you have to click a key 'on', and
then click it 'off' again. There have been requests for key-off on
button release, but this prevents you playing chords from the GUI.
Perhaps it should be a GUI option, your input would be appreciated.
The following output is from 'startBristol -v -h', the verbose help text.
It is unfortunately quite out of date and you are referred to the actual
code for an up to date listing of the emulations and options.
|
You should start this package with the startBristol script. This script
will start up the bristol synthesiser binaries, evaluating the correct
library paths and executable paths. There are emulation, synthesiser,
operational parameters and GUI parameters:
Emulation:
-mini
- moog mini
-explorer - moog voyager
-memory
- moog memory
-hammond - hammond module
-b3
- hammond B3
-pro5|-prophet - sequential circuits prophet-5
-pro52
- sequential circuits prophet-5 with chorus
-pro10
- sequential circuits prophet-10
-rhodes
- fender rhodes mark-I stage 73
-rhodesbass - fender rhodes bass piano
-obx
- oberheim OB-X
-obxa
- oberheim OB-Xa
-mono
- korg monopoly
-poly
- korg poly6
-axxe
- arp axxe
-odyssey - arp odyssey
-2600
- arp 2600 (default)
-juno
- roland juno-6
-dx
- yamaha DX-7
-vox
- vox continental
-mixer
- 16 track mixer (-libtest only)
Synthesiser:
-voices
<n> - operate with a
total of 'n' voices, default 16
-channel
<c> - initial midi channel
selected to 'c', default 1
User Interface:
-quality
<n> - accuracy of color
selection 20..100% (95)
-opacity
<n> - opacity of the patch
layer 20..100% (50)
-load
<m> - load
memory number 'm' (default 0)
-logo
- do not display watermarked logo on startup
Gui key strokes:
'l' -
show/hide logo transparency
't' -
toggle opacity
'o' -
decrease opacity of patch layer
'O' -
increase opacity of patch layer
'p' -
screendump to /tmp/<synth>.xpm
'k'/'UpArrow' - controller motion upwards (shift key accelerator)
'j'/'DownArrow'- controller motion downwards (shift key accelerator)
Operational:
General:
-engine - don't start engine
(connect to current invocation)
-port <p> - connect to engine on
TCP port 'p' (default 5028)
-libtest - just display a GUI
-quiet - redirect
diagnostic output to /dev/null
-oss - use
OSS defaults for audio and MIDI
-alsa - use ALSA
defaults for audio and MIDI (default)
-jack - use Jack
for audio, ALSA SEQ for MIDI
-o
<filename> - Duplicate audio output data to file
Audio driver:
-audio [oss|alsa|jack] - audio driver selection
-audiodev <dev> - audio
device selection
-count <samples> - sample
period size, default 256 samples
-gain
<gn>
- digital output signal gain (default 4)
-ingain
<gn>
- digital input signal gain (default 4)
-preload <buffers> - configure preload
buffer count (default 8)
-rate
<hz>
- sample rate (44100)
Midi driver:
-midi [oss|alsa|seq] - midi driver selection
-mididev <dev> -
midi device selection
-seq
- use the ALSA SEQ interface (default)
Audio drivers are PCM/PCM plug or Jack. Midi drivers are either OSS/ALSA
rawmidi interface, or ALSA SEQ. Multple GUIs can connect to the single
audio engine, which then operates multitimbrally.
Examples:
startBristol
Print a terse help message.
startBristol -mini
Run a minimoog using ALSA interface for audio and midi seq. This is
equivalent to all the following options:
-mini -alsa -audiodev plughw:0,0 -midi seq -count 256 -preload 8
-port 5028 -voices 16 -channel 1 -rate 44100 -gain 4 -ingain 4
startBristol -alsa -mini
Run a minimoog using ALSA interface for audio and midi. This is
equivalent to all the following options:
-mini -audio alsa -audiodev plughw:0,0 -midi alsa -mididev hw:0
-count 256 -preload 8 -port 5028 -voices 16 -channel 1 -rate 44100
startBristol -explorer -voices 1
Run a moog explorer as a monophonic instrument, using OSS interface for
audio and midi.
startBristol -prophet -alsa -channel 3
Run a prophet-5 using ALSA for audio and midi (on channel 3).
startBristol -b3 -count 512 -preload 2
Run a hammond b3 with a buffer size of 512 samples, and preload two
such buffers before going active. Some Live! cards need this larger
buffer size with ALSA drivers.
startBristol -oss -audiodev /dev/dsp1 -vox -voices 8
Run a vox continental using OSS device 1, and default midi device
/dev/midi0. Operate with just 8 voices.
startBristol -b3 -audio alsa -audiodev plughw:0,0 -seq -mididev 128.0
Run a B3 emulation over the ALSA PCM plug interface, using the ALSA
sequencer over client 128, port 0.
startBristol -juno &
startBristol -prophet -channel 2 -engine
Start two synthesisers, a juno and a prophet. Both synthesisers will
will be executed on one engine (multitimbral) with 16 voices between
them. The juno will be on default midi channel (1), and the prophet on
channel 2. Output over the same default ALSA audio device.
startBristol -juno &
startBristol -port 5029 -audio oss -audiodev /dev/dsp1 -mididev /dev/midi1
Start two synthesisers, a juno on the first ALSA soundcard, and a
mini on the second OSS soundcard. Each synth is totally independant
and runs with 16 voice polyphony (looks nice, but not been tested).
|
All names and trademarks are property of their respective
owners. Bristol is in no way representive of any of the original
products and none of the companies represented in any way endorse this
product.
Bristol is only available on your favorite Linux platform. It will not
work on any windows release, nor will compile on any version of BSD
without considerable effort - on your part.
Bristol is free.
|
The author, Nick Copeland, can be reached at
nickycopeland@hotmail.com |