1
2Bristol Emulations
3------------------
4
5This is a write-up of each of the emulated synthesisers. The algorithms
6employed were 'gleaned' from a variety of sources including the original
7owners manuals, so they may be a better source of information. The author
8has owned and used a selection but far from all of the originals. Some of them
9were built just from descriptions of their operation, or from understanding
10how synths work - most of them were based on the Mini Moog anyway. Many of
11the synths share components: the filter covers most of them, the Prophets and
12Oberheims share a common oscillator and the same LFO is used in many of them.
13Having said that each one differs considerably in the resulting sound that is
14generated, more so than initially expected. Each release refines each of the
15components and the result is that all emulations benefit from the improvements.
16All the emulations have distinctive sounds, not least due to that the original
17instruments used different modulations and mod routing.
18The filter, which is a large defining factor in the tonal qualities of any
19synth, is common to all the emulations. The filter implements a few different
20algorithms and these do separate each of the synths: the Explorer layering
21two low pass filters on top of each other: the OB-Xa using different types
22depending on 'Pole' selection. Since release 0.20.8 the emulator has had a
23Houvillainen non-linear ladder filter integrated which massively improves
24the quality at considerable expense to the CPU.
25There is one further filter algorithm used solely for the Leslie rotary
26emulator crossover, this is a butterworth type filter.
27
28Bristol is in no way related to any of the original manufacturers whose
29products are emulated by the engine and represented by the user interface,
30bristol does not suggest that the emulation is a like representation of the
31original instrument, and the author maintains that if you want the original
32sound then you are advised to seek out the original product. Alternatively a
33number of the original manufacturers now provide their own vintage collections
34which are anticipated to be more authentic. All names and trademarks used by
35Bristol are ownership of the respective companies and it is not inteded to
36misappropriate their use here. If you have concerns you are kindly requested
37to contact the author.
38
39The write-up includes the parameter operations, modulations, a description of
40the original instrument and a brief list of the kind of sounds you can expect
41by describing a few of the well known users of the synth.
42
43Several emulations have not been written up. Since the APR 2600 was implemented
44it became a rather large job to actually describe what was going on. If you
45really want to know about the synths that are not in this document then you
46might want to search for their owners manuals.
47
48All emulations are available from the same engine, just launch multiple GUIs
49and adjust the midi channels for multi timbrality and layering.
50
51It is noted here that the engine is relatively 'dumb'. Ok, it generates a very
52broad range of sounds, currently about 25 different synthesisers and organs,
53but it is not really intelligent. Memories are a part of the GUI specification
54- it tells the engine which algorithm to use on which MIDI channel, then it
55calls a memory routine that configures all the GUI controllers and a side effect
56of setting the controllers is that their values are sent to the engine. This is
57arguably the correct model but it can affect the use of MIDI master keyboards.
58The reason is that the GUI is really just a master keyboard for the engine and
59drives it with MIDI SYSEX messages over TCP sessions. If you were to alter the
60keyboard transpose, for example, this would result in the GUI sending different
61'key' numbers to the engine when you press a note. If you were already driving
62the synth from a master keyboard then the transpose button in the Brighton GUI
63would have no effect - the master keyboard would have to be transposed instead.
64This apparent anomaly is exacerbated by the fact that some parameters still are
65in the engine, for example master tuning is in the engine for the pure fact that
66MIDI does not have a very good concept of master tuning (only autotuning).
67Irrespective of this, bristol is a synthesiser so it needs to be played,
68tweaked, driven. If you think that any of the behaviour is anomalous then let
69me know. One known issue in this area is that if you press a key, transpose
70the GUI, then release the key - it will not go off in the engine since the GUI
71sends a different key code for the note off event - the transposed key. This
72cannot be related to the original keypress. This could be fixed with a MIDI all
73notes off event on 'transpose', but I don't like them. Also, since the 0.20
74stream the problem only affects a few of the emulations, the rest now sending
75a transpose message to the engine and letting it do the work.
76
77Since release 0.30.6 the engine correctly implements monophonic note logic.
78Prior to this the whole engine was polyphonic and playing with one voice only
79gave last note preference which dramatically affects playing styles - none of
80the cool legato effects of the early monophonics. The quoted release fix this
81limitation where the engine will keep a keymap of all played keys (one per
82emulation) when started with a single voice and uses this map to provide
83consistent note precedence, high note logic, low note logic or just using the
84previously implemented last note logic. In this release the keymap was only
85maintained with monophonic emulations, this is a potential extension as even
86in polyphonic mode it would be useful for arpeggiation (which is currently
87implemented using a FIFO rather than an ordered keymap).
88
89
90
91
92    Moog Mini
93    ---------
94
95It is perhaps not possible to write up who used this synth, the list is endless.
96Popular as it was about the first non-modular synthesiser, built as a fixed
97configuration of the racked or modular predecessors.
98
99Best known at the time on Pink Floyd 'Dark Side of the Moon' and other albums.
100Rick Wakeman used it as did Jean Michel Jarre. Wakefield could actually
101predict the sound it would make by just looking at the settings, nice to be
102able to do if a little unproductive but it went to show how this was treated
103as an instrument in its own right. It takes a bit of work to get the same sweet,
104rich sounds out of the emulation, but it can be done with suitable tweaking.
105
106The original was monophonic, although a polyphonic version was eventually made
107after Moog sold the company - the MultiMoog. This emulation is more comparable
108to that model as the sound is a bit thinner and can be polyphonic. The design
109of this synth became the pole bearer for the following generations: it had
110three oscillators, one of which could become a low frequency modulator. They
111were fed into a mixer with a noise source, and were then fed into a filter
112with 2 envelope generators to contour the wave. Modulation capabilities were
113not extensive, but interestingly enough it did have a frequency modulation (FM)
114capability, eventually used by Yamaha to revolutionise the synthesiser market
115starting the downfall of analogue synthesis twenty years later.
116
117All the analogue synths were temperature sensitive. It was not unusual for the
118synths to 'detune' between sound test and performance as the evening set in.
119To overcome this they could optionally produce a stable A-440Hz signal for
120tuning the oscillators manually - eventually being an automated option in the
121newer synths. Whilst this digital version has stable frequency generation the
122A-440 is still employed here for the sake of it.
123
124Modifiers and mod routing are relatively simple, Osc-3 and noise can be mixed,
125and this signal routed to the oscillator 1 and 2 frequency or filter cutoff.
126
127The synth had 5 main stages as follows:
128
129Control:
130
131    Master tuning: up/down one note.
132
133    Glide: (glissando, portamento). The rate at which one key will change its
134    frequency to the next played key, 0 to 30 seconds.
135
136    Mod: source changes between Osc-3 and noise.
137
138    Release: The envelope generators had only 3 parameters. This governed whether
139    a key would release immediately or would use Decay to die out.
140
141    Multi: Controls whether the envelope will retrigger for each new keypress.
142
143Oscillators:
144
145    There are three oscillators. One and two are keyboard tracking, the third
146    can be decoupled and used as an LFO modulation source.
147
148    Oscillator 1:
149        Octave step from 32' to 1'.
150        Waveform selection: sine/square/pulse/ramp/tri/splitramp
151        Mod: controls whether Osc-3/noise modulates frequency
152
153    Oscillator 2:
154        Octave step from 32' to 1'.
155        Fine tune up/down 7 half notes.
156        Waveform selection: sine/square/pulse/ramp/tri/splitramp
157        Mod: controls whether Osc-3/noise modulates frequency
158
159    Oscillator 3:
160        Octave step from 32' to 1'.
161        Fine tune up/down 7 half notes.
162        Waveform selection: sine/square/pulse/ramp/tri/splitramp
163        LFO switch to decouple from keytracking.
164
165Mixer:
166
167    Gain levels for Oscillator 1/2/3
168    Mixing of the external input source into filter
169    Noise source with white/pink switch.
170
171    Note: The level at which Osc-3 and noise modulates sound depends on its
172    gain here, similarly the noise. The modulator mix also affects this, but
173    allows Osc-3 to mod as well as sound. The modwheel also affect depth.
174
175Filter:
176
177    Cutoff frequency
178
179    Emphasis (affects Q and resonance of filter).
180
181    Contour: defines how much the filter envelope affects cutoff.
182
183    Mod - Keyboard tracking of cutoff frequency.
184
185    Mod - Osc-3/noise modulation of cutoff frequency.
186
187Contour:
188
189    The synth had two envelope generators, one for the filter and one for the
190    amplifier. Release is affected by the release switch. If off the the sound
191    will release at the rate of the decay control.
192
193    Attack: initial ramp up of gain.
194
195    Decay: fall off of maximum signal down to:
196
197    Sustain: gain level for constant key-on level.
198
199    Key: Touch sensitivity of amplifier envelope.
200
201Improvements to the Mini would be some better oscillator waveforms, plus an
202alternative filter as this is a relatively simple synthesiser and could do
203with a warmer filter (this was fixed with integration of the houvillanen filters
204although the do consume a lot of CPU to do it).
205
206The Output selection has a Midi channel up/down selector and memory selector.
207To read a memory either use the up/down arrows to go to the next available
208memory, or type in a 3 digit number on the telephone keypad and press 'L' for
209load or 'S' for save.
210
211As of release 0.20.5 Vasiliy Basic contributed his Mini memory banks and they
212are now a part of the distribution:
213
214Programs for Bristol's "Mini" (from 50 to 86 PRG)
215
216List of programs:
217
218    -Melodic-
219    50 - Trumpet
220    51 - Cello
221    52 - Guitar 1
222    53 - Guitar 2
223    54 - Fingered Bass
224    55 - Picked Bass
225    56 - Harmonica
226    57 - Accordion
227    58 - Tango Accordion
228    59 - Super Accordion
229    60 - Piano
230    61 - Dark Organ
231    62 - Flute
232    63 - Music Box
233    64 - Glass Xylo
234    65 - Glass Pad
235    66 - Acid Bass
236
237    -Drums-
238    67 - Bass Drum 1
239    68 - Bass Drum 2
240    69 - Bass Drum 3
241    70 - Bass Drum 4
242    71 - Tom
243    72 - Snare 1
244    73 - Snare 2
245    74 - Snare 3
246    75 - Snare 4
247    76 - Cl HH 1
248    77 - Op HH 1
249    78 - Crash Cym 1
250    79 - Crash Cym 2
251    80 - Cl HH 2
252    81 - Op HH 2
253
254    -FX-
255    82 - Sea Shore
256    83 - Helicopter 1
257    84 - Helicopter 2
258    85 - Bird Tweet
259    86 - Birds Tweet
260
261
262
263
264    Sequential Circuits Prophet-5
265    Sequential Circuits Prophet-52 (the '5' with chorus)
266    ----------------------------------------------------
267
268Sequential circuits released amongst the first truly polyphonic synthesisers
269where a group of voice circuits (5 in this case) were linked to an onboard
270computer that gave the same parameters to each voice and drove the notes to
271each voice from the keyboard. The device had some limited memories to allow
272for real live stage work. The synth was amazingly flexible regaring the
273oscillator options and modulation routing, producing some of the fattest
274sounds around. They also had some of the fattest pricing as well, putting it
275out of reach of all but the select few, something that maintained its mythical
276status. David Sylvian of Duran Duran used the synth to wide acclaim in the
277early 80's as did many of the new wave of bands.
278
279The -52 is the same as the -5 with the addition of a chorus as it was easy, it
280turns the synth stereo for more width to the sound, and others have done it on
281the Win platform.
282
283The design of the Prophet synthesisers follows that of the Mini Moog. It has
284three oscillators one of them as a dedicated LFO. The second audio oscillator
285can also function as a second LFO, and can cross modulate oscillator A for FM
286type effects. The audible oscillators have fixed waveforms with pulse width
287modulation of the square wave. These are then mixed and sent to the filter with
288two envelopes, for the filter and amplifier.
289
290Modulation bussing is quite rich. There is the wheel modulation which is global,
291taking the LFO and Noise as a mixed source, and send it under wheel control to
292any of the oscillator frequency and pulse width, plus the filter cutoff. Poly
293mods take two sources, the filter envelope and Osc-B output (which are fully
294polyphonic, or rather, independent per voice), and can route them through to
295Osc-A frequency and Pulse Width, or through to the filter. To get the filter
296envelope to actually affect the filter it needs to go through the PolyMod
297section. Directing the filter envelope to the PW of Osc-A can make wide, breathy
298scanning effects, and when applied to the frequency can give portamento effects.
299
300LFO:
301
302    Frequency: 0.1 to 50 Hz
303    Shape: Ramp/Triangle/Square. All can be selected, none selected should
304    give a sine wave (*)
305
306    (*) Not yet implemented.
307
308Wheel Mod:
309
310    Mix: LFO/Noise
311    Dest: Osc-A Freq/Osc-B Freq/Osc-A PW/Osc-B PW/Filter Cutoff
312
313Poly Mod: These are affected by key velocity.
314
315    Filter Env: Amount of filter envelope applied
316    Osc-B: Amount of Osc-B applied:
317    Dest: Osc-A Freq/Osc-A PW/Filter Cutoff
318
319Osc-A:
320
321    Freq: 32' to 1' in octave steps
322    Shape: Ramp or Square
323    Pulse Width: only when Square is active.
324    Sync: synchronise to Osc-B
325
326Osc-B:
327
328    Freq: 32' to 1' in octave steps
329    Fine: +/- 7 semitones
330    Shape: Ramp/Triangle/Square
331    Pulse Width: only when Square is active.
332    LFO: Lowers frequency by 'several' octaves.
333    KBD: enable/disable keyboard tracking.
334
335Mixer:
336
337    Gain for Osc-A, Osc-B, Noise
338
339Filter:
340
341    Cutoff: cuttof frequency
342    Res: Resonance/Q/Emphasis
343    Env: amount of PolyMod affecting to cutoff.
344
345Envelopes: One each for PolyMod (filter) and amplifier.
346
347    Attack
348    Decay
349    Sustain
350    Release
351
352Global:
353
354    Master Volume
355    A440 - stable sine wave at A440 Hz for tuning.
356    Midi: channel up/down
357    Release: release all notes
358    Tune: autotune oscillators.
359    Glide: amount of portamento
360
361    Unison: gang all voices to a single 'fat' monophonic synthesiser.
362
363This is one of the fatter of the Bristol synths and the design of the mods
364is impressive (not my design, this is as per sequential circuits spec). Some
365of the cross modulations are noisy, notably 'Osc-B->Freq Osc-A' for square
366waves as dest and worse as source.
367
368The chorus used by the Prophet-52 is a stereo 'Dimension-D' type effect. The
369signal is panned from left to right at one rate, and the phasing and depth at
370a separate rate to generate subtle chorus through to helicopter flanging.
371
372Memories are loaded by selecting the 'Bank' button and typing in a two digit
373bank number followed by load. Once the bank has been selected then 8 memories
374from the bank can be loaded by pressing another memory select and pressing
375load. The display will show free memories (FRE) or programmed (PRG).
376
377
378
379
380    Yamaha DX-7
381    -----------
382
383Released in the '80s this synth quickly became the most popular of all time.
384It was the first fully digital synth, employed a revolutionary frequency
385modulated algorithm and was priced much lower than the analogue monsters
386that preceded it. Philip Glass used it to wide effect for Miami Vice, Prince
387had it on many of his albums, Howard Jones produced albums filled with its
388library sounds. The whole of the 80's were loaded with this synth, almost to
389the point of saturation. There was generally wide use of its library sounds
390due to the fact that it was nigh on impossible to programme, only having entry
391buttons and the algorithm itself was not exactly intuitive, but also because
392the library was exceptional and the voices very playable. The emulation is a
3936 operator per voice, and all the parameters are directly accessible to ease
394programming.
395
396The original DX had six operators although cheaper models were release with
397just 4 operators and a consequently thinner sound. Each operator is a sine
398wave oscillator with its own envelope generator for amplification and a few
399parameters that adjusted its modulators. It used a number of different
400algorithms where operators were mixed together and then used to adjust the
401frequency of the next set of operators. The sequence of the operators affected
402the net harmonics of the overall sound. Each operator has a seven stage
403envelope - 'ramp' to 'level 1', 'ramp' to 'level 2', 'decay' to 'sustain',
404and finally 'release' when a key is released. The input gain to the frequency
405modulation is controllable, the output gain is also adjustable, and the final
406stage operators can be panned left and right.
407
408Each operator has:
409
410    Envelope:
411
412        Attack: Ramp rate to L1
413        L1: First target gain level
414        Attack: Ramp rate from L2 to L2
415        L2: Second target gain level
416        Decay: Ramp rate to sustain level
417        Sustain: Continuous gain level
418        Release: Key release ramp rate
419
420    Tuning:
421
422        Tune: +/- 7 semitones
423        Transpose: 32' to 1' in octave increments
424
425        LFO: Low frequency oscillation with no keyboard control
426
427    Gain controls:
428
429        Touch: Velocity sensitivity of operator.
430
431        In gain: Amount of frequency modulation from input
432        Out gain: Output signal level
433
434        IGC: Input gain under Mod control
435        OGC: Output gain under Mod control
436
437        Pan: L/R pan of final stage operators.
438
439Global and Algorithms:
440
441    24 different operator staging algorithms
442    Pitchwheel: Depth of pitch modifier
443    Glide: Polyphonic portamento
444    Volume
445    Tune: Autotune all operators
446
447Memories can be selected with either submitting a 3 digit number on the keypad,
448or selecting the orange up/down buttons.
449
450An improvement could be more preset memories with different sounds that can
451then be modified, ie, more library sounds. There are some improvements that
452could be made to polyphonic mods from key velocity and channel/poly pressure
453that would not be difficult to implement.
454
455The addition of triangle of other complex waveforms could be a fun development
456effort (if anyone were to want to do it).
457
458The DX still has a prependancy to seg fault, especially when large gains are
459applied to input signals. This is due to loose bounds checking that will be
460extended in a present release.
461
462
463
464
465    Roland Juno-60
466    --------------
467
468Roland was one of the main pacemakers in analogue synthesis, also competing
469with the Sequential and Oberheim products. They did anticipate the moving
470market and produced the Juno-6 relatively early. This was one of the first
471accessible synths, having a reasonably fat analogue sound without the price
472card of the monster predecessors. It brought synthesis to the mass market that
473marked the decline of Sequential Circuits and Oberheim who continued to make
474their products bigger and fatter. The reduced price tag meant it had a slightly
475thinner sound, and a chorus was added to extend this, to be a little more
476comparable.
477
478The synth again follows the Mini Moog design of oscillators into filter into
479amp. The single oscillator is fattened out with harmonics and pulse width
480modulation. There is only one envelope generator that can apply to both the
481filter and amplifier.
482
483Control:
484
485    DCO: Amount of pitch wheel that is applied to the oscillators frequency.
486    VCF: Amount of pitch wheel that is applied to the filter frequency.
487
488    Tune: Master tuning of instrument
489
490    Glide: length of portamento
491
492    LFO: Manual control for start of LFO operation.
493
494Hold: (*)
495
496    Transpose: Up/Down one octave
497    Hold: prevent key off events
498
499LFO:
500
501    Rate: Frequency of LFO
502    Delay: Period before LFO is activated
503    Man/Auto: Manual or Automatic cut in of LFO
504
505DCO:
506
507    LFO: Amount of LFO affecting frequency. Affected by mod wheel.
508    PWM: Amount of LFO affecting PWM. Affected by mod wheel.
509
510    ENV/LFO/MANUAL: Modulator for PWM
511
512    Waveform:
513        Pulse or Ramp wave. Pulse has PWM capabily.
514
515    Sub oscillator:
516        On/Off first fundamental square wave.
517
518    Sub:
519        Mixer for fundamental
520
521    Noise:
522        Mixer of white noise source.
523
524HPF: High Pass Filter
525
526    Freq:
527        Frequency of cutoff.
528
529VCF:
530
531    Freq:
532        Cutoff frequency
533
534    Res:
535        Resonance/emphasis.
536
537    Envelope:
538        +ve/-ve application
539
540    Env:
541        Amount of contour applied to cutoff
542
543    LFO:
544        Depth of LFO modulation applied.
545
546    KBD:
547        Amount of key tracking applied.
548
549VCA:
550
551    Env/Gate:
552        Contour is either gated or modulated by ADSR
553
554    Level:
555        Overall volume
556
557ADSR:
558
559    Attack
560    Decay
561    Sustain
562    Release
563
564Chorus:
565
566    8 Selectable levels of Dimension-D type helicopter flanger.
567
568* The original instrument had a basic sequencer on board for arpeggio effects
569on each key. In fact, so did the Prophet-10 and Oberheims. This was only
570implemented in 0.10.11.
571
572The LFO cut in and gain is adjusted by a timer and envelope that it triggers.
573
574The Juno would improve from the use of the prophet DCO rather than its own one.
575It would require a second oscillator for the sub frequency, but the prophet DCO
576can do all the Juno does with better resampling and PWM generation.
577
578
579
580
581    Moog Voyager (Bristol "Explorer")
582    ---------------------------------
583
584This was Robert Moog's last synth, similar in build to the Mini but created
585over a quarter of a century later and having far, far more flexibility. It
586was still monophonic, a flashback to a legendary synth but also a bit like
587Bjorn Borg taking his wooden tennis racket back to Wimbledon long after having
588retired and carbon fibre having come to pass. I have no idea who uses it and
589Bjorn also crashed out in the first round. The modulation routing is exceptional
590if not exactly clear.
591
592The Voyager, or Bristol Explorer, is definitely a child of the Mini. It has
593the same fold up control panel, three and half octave keyboard and very much
594that same look and feel. It follows the same rough design of three oscillators
595mixed with noise into a filter with envelopes for the filter and amplifier.
596In contrast there is an extra 4th oscillator, a dedicated LFO bus also Osc-3
597can still function as a second LFO here. The waveforms are continuously
598selected, changing gradually to each form: bristol uses a form of morphing
599get get similar results. The envelopes are 4 stage rather than the 3 stage
600Mini, and the effects routing bears no comparison at all, being far more
601flexible here.
602
603Just because its funny to know, Robert Moog once stated that the most difficult
604part of building and releasing the Voyager was giving it the title 'Moog'. He
605had sold his company in the seventies and had to buy back the right to use his
606own name to release this synthesiser as a Moog, knowing that without that title
607it probably would not sell quite as well as it didn't.
608
609Control:
610
611    LFO:
612        Frequency
613        Sync: LFO restarted with each keypress.
614
615    Fine tune +/- one note
616    Glide 0 to 30 seconds.
617
618Modulation Busses:
619
620    Two busses are implemented. Both have similar capabilities but one is
621    controlled by the mod wheel and the other is constantly on. Each bus has
622    a selection of sources, shaping, destination selection and amount.
623
624    Wheel Modulation: Depth is controller by mod wheel.
625
626        Source: Triwave/Ramp/Sample&Hold/Osc-3/External
627        Shape: Off/Key control/Envelope/On
628        Dest: All Osc Frequency/Osc-2/Osc-3/Filter/FilterSpace/Waveform (*)
629        Amount: 0 to 1.
630
631    Constant Modulation: Can use Osc-3 as second LFO to fatten sound.
632
633        Source: Triwave/Ramp/Sample&Hold/Osc-3/External
634        Shape: Off/Key control/Envelope/On
635        Dest: All Osc Frequency/Osc-2/Osc-3/Filter/FilterSpace/Waveform (*)
636        Amount: 0 to 1.
637
638        * Destination of filter is the cutoff frequency. Filter space is the
639        difference in cutoff of the two layered filters. Waveform destination
640        affects the continuously variable oscillator waveforms and allows for
641        Pulse Width Modulation type effects with considerably more power since
642        it can affect ramp to triangle for example, not just pulse width.
643
644Oscillators:
645
646    Oscillator 1:
647        Octave: 32' to 1' in octave steps
648        Waveform: Continuous between Triangle/Ramp/Square/Pulse
649
650    Oscillator 2:
651        Tune: Continuous up/down 7 semitones.
652        Octave: 32' to 1' in octave steps
653        Waveform: Continuous between Triangle/Ramp/Square/Pulse
654
655    Oscillator 3:
656        Tune: Continuous up/down 7 semitones.
657        Octave: 32' to 1' in octave steps
658        Waveform: Continuous between Triangle/Ramp/Square/Pulse
659
660    Sync: Synchronise Osc-2 to Osc-1
661    FM: Osc-3 frequency modulates Osc-1
662    KBD: Keyboard tracking Osc-3
663    Freq: Osc-3 as second LFO
664
665Mixer:
666
667    Gain levels for each source: Osc-1/2/3, noise and external input.
668
669Filters:
670
671    There are two filters with different configuration modes:
672
673    1. Two parallel resonant lowpass filters.
674    2. Serialised HPF and resonant LPF
675
676    Cutoff: Frequency of cutoff
677    Space: Distance between the cutoff of the two filters.
678    Resonance: emphasis/Q.
679    KBD tracking amount
680    Mode: Select between the two operating modes.
681
682Envelopes:
683
684    Attack
685    Decay
686    Sustain
687    Release
688
689    Amount to filter (positive and negative control)
690
691    Velocity sensitivity of amplifier envelope.
692
693Master:
694
695    Volume
696    LFO: Single LFO or one per voice (polyphonic operation).
697    Glide: On/Off portamento
698    Release: On/Off envelope release.
699
700The Explorer has a control wheel and a control pad. The central section has
701the memory section plus a panel that can modify any of the synth parameters as
702a real time control. Press the first mouse key here and move the mouse around
703to adjust the controls. Default values are LFO frequency and filter cutoff
704but values can be changed with the 'panel' button. This is done by selecting
705'panel' rather than 'midi', and then using the up/down keys to select parameter
706that will be affected by the x and y motion of the mouse. At the moment the
707mod routing from the pad controller is not saved to the memories, and it will
708remain so since the pad controller is not exactly omnipresent on MIDI master
709keyboards - the capabilities was put into the GIU to be 'exact' to the design.
710
711This synth is amazingly flexible and difficult to advise on its best use. Try
712starting by mixing just oscillator 1 through to the filter, working on mod
713and filter options to enrich the sound, playing with the oscillator switches
714for different effects and then slowly mix in oscillator 2 and 3 as desired.
715
716Memories are available via two grey up/down selector buttons, or a three digit
717number can be entered. There are two rows of black buttons where the top row
718is 0 to 4 and the second is 5 to 9. When a memory is selected the LCD display
719will show whether it is is free (FRE) or programmed already (PRG).
720
721
722
723
724   Hammond B3 (dual manual)
725    ------------------------
726
727The author first implemented the Hammond module, then extended it to the B3
728emulation. Users of this are too numerous to mention and the organ is still
729popular. Jimmy Smith, Screaming Jay Hawkins, Kieth Emerson, Doors and
730almost all american gospel blues. Smith was profuse, using the instrument for
731a jazz audience, even using its defects (key noise) to great effect. Emerson
732had two on stage, one to play and another to kick around, even including
733stabbing the keyboard with a knife to force keylock during performances
734(Emerson was also a Moog fan with some of the first live performances). He
735also used the defects of the system to great effect, giving life to the over-
736driven Hammond sound.
737
738The Hammond was historically a mechanical instrument although later cheaper
739models used electronics. The unit had a master motor that rotated at
740the speed of the mains supply. It drove a spindle of cog wheels and next to
741each cog was a pickup. The pickup output went into the matrix of the harmonic
742drawbars. It was originally devised to replace the massive pipe organs in
743churches - Hammond marketed their instruments with claims that they could not be
744differentiated from the mechanical pipe equivalent. He was taken to court by
745the US government for misrepresentation, finally winning his case using a double
746blind competitive test against a pipe organ, in a cathedral, with speakers
747mounted behind the organ pipes and an array of music scholars, students and
748professionals listening. The results spoke for themselves - students would
749have scored better by simply guessing which was which, the professionals
750fared only a little better than that. The age of the Hammond organ had arrived.
751
752The company had a love/hate relationship with the Leslie speaker company - the
753latter making money by selling their rotary speakers along with the organ to
754wide acceptance. The fat hammond 'chorus' was a failed attempt to distance
755themselves from Leslie. That was never achieved due to the acceptance of the
756Leslie, but the chorus did add another unique sound to the already awesome
757instrument. The rotary speaker itself still added an extra something to the
758unique sound that is difficult imagine one without the other. It has a wide
759range of operating modes most of which are included in this emulator.
760
761The chorus emulation is an 8 stage phase shifting filter algorithm with a
762linear rotor between the taps.
763
764Parameterisation of the first B3 window follows the original design:
765
766    Leslie: Rotary speaker on/off
767    Reverb: Reverb on/off
768    VibraChorus: 3 levels of vibrato, 3 of chorus.
769    Bright: Added upper harmonics to waveforms.
770
771Lower and Upper Manual Drawbars: The drawbars are colour coded into white for
772even harmonics and black for odd harmonics. There are two subfrequencies in
773brown. The number given here are the length of organ pipe that would
774correspond to the given desired frequency.
775
776    16    - Lower fundamental
777    5 1/3 - Lower 3rd fundamental
778    8     - Fundamental
779    4     - First even harmonic
780    2 2/3 - First odd harmonic
781    2     - Second even harmonic
782    1 3/5 - Second odd harmonic
783    1 1/3 - Third odd harmonic
784    1     - Third even harmonic
785
786The drawbars are effectively mixed for each note played. The method by which
787the mixing is done is controlled in the options section below. There were
788numerous anomalies shown by the instrument and most of them are emulated.
789
790The Hammond could provide percussives effect the first even and odd harmonics.
791This gave a piano like effect and is emulated with Attack/Decay envelope.
792
793    Perc 4'     - Apply percussive to the first even harmonic
794    Perc 2 2/3' - Apply percussive to the first odd harmonic
795    Slow        - Adjust rate of decay from about 1/2 second to 4 seconds.
796
797    Soft        - Provide a soft attack to each note.
798
799The soft attack is an attempt to reduce the level of undesired key noise. The
800keyboard consisted of a metal bar under each key that made physical contact
801with 9 sprung teeth to tap off the harmonics. The initial contact would generate
802noise that did not really accord to the pipe organ comparison. This was
803reduced by adding a slow start to each key, but the jazz musicians had used
804this defect to great effect, terming it 'key click' and it became a part of
805the Hammond characteristics. Some musicians would even brag about how noisy
806there organ was.
807
808On the left had side are three more controls:
809
810    Volume potentiometer
811
812    Options switch discussed below.
813
814    Rotary Speed: low/high speed Leslie rotation. Shifts between the speeds
815    are suppressed to emulate the spin up and down periods of the leslie motors.
816
817The options section, under control of the options button, has the parameters
818used to control the emulation. These are broken into sections and discussed
819individually.
820
821Leslie:
822
823The Leslie rotary speaker consisted of a large cabinet with a bass speaker and
824a pair of high frequency air horns. Each were mounted on its own rotating table
825and driven around inside the cabinet by motors. A crossover filter was used to
826separate the frequencies driven to either speaker. Each pair was typically
827isolated physically from the other. As the speaker rotated it would generate
828chorus type effects, but far richer in quality. Depending on where the speaker
829was with respect to the listener the sound would also appear to rotate. There
830would be different phasing effects based on signal reflections, different
831filtering effects depending on where the speaker was in respect to the cabinet
832producing differences resonances with respect to the internal baffling.
833
834    Separate:
835    Sync:
836    No Bass:
837        The Leslie had two motors, one for the horns and one for the voice coil
838        speaker. These rotated at different speeds. Some players preferred to
839        have both rotate at the same speed, would remove the second motor and
840        bind the spindles of each speaker table, this had the added effect
841        that both would also spin up at the same rate, not true of the
842        separated motors since each table had a very different rotary moment.
843        The 'No Bass' option does not rotate the voice coil speaker. This was
844        typically done since it would respond only slowly to speed changes,
845        this left just the horns rotating but able to spin up and down faster.
846
847    Brake:
848        Some cabinets had a brake applied to the tables such that when the
849        motor stopped the speakers slowed down faster.
850
851    X-Over:
852        This is the cross over frequency between the voice coil and air horns.
853        Uses a butterworth filter design.
854
855    Inertia:
856        Rate at which speaker rotational speed will respond to changes.
857
858    Overdrive:
859        Amount by which the amplifier is overdriven into distortion.
860
861    H-Depth/Frequency/Phase
862    L-Depth/Frequency/Phase
863        These parameters control the rotary phasing effect. The algorithm used
864        has three differently phased rotations used for filtering, phasing and
865        reverberation of the sound. These parameters are used to control the
866        depth and general phasing of each of them, giving different parameters
867        for the high and low speed rotations. There are no separate parameters
868        for the voice coil or air horns, these parameters are for the two
869        different speeds only, although in 'Separate' mode the two motors will
870        rotate at slightly different speeds.
871
872Chorus
873
874    V1/C1 - Lowest chorus speed
875    V2/C2 - Medium chorus speed
876    V3/C3 - High chorus speed
877
878Percussion:
879
880    Decay Fast/Slow - controls the percussive delay rates.
881    Attack Slow Fast - Controls the per note envelope attack time.
882
883The percussives are emulated as per the original design where there was a
884single envelope for the whole keyboard and not per note. The envelope will only
885restrike for a cleanly pressed note.
886
887Finally there are several parameters affecting the sine wave generation code.
888The Hammond used cogged wheels and coil pickups to generate all the harmonics,
889but the output was not a pure sine wave. This section primarily adjusts the
890waveform generation:
891
892    Preacher:
893        The emulator has two modes of operation, one is to generate the
894        harmonics only for each keyed note and another to generate all of
895        them and tap of those required for whatever keys have been pressed.
896        Both work and have different net results. Firstly, generating each
897        note independently is far more efficient than generating all 90 odd
898        teeth, as only a few are typically required. This does not have totally
899        linked phases between notes and cannot provide for signal damping (see
900        below).
901        The Preacher algorithm generates all harmonics continuously as per the
902        original instrument. It is a better rendition at the expense of large
903        chunks of CPU activity. This is discussed further below.
904
905    Compress:
906        Time compress the sine wave to produce a slightly sharper leading edge.
907
908    Bright:
909        Add additional high frequency harmonics to the sine.
910
911    Click:
912        Level of key click noise
913
914    Reverb:
915        Amount of reverb added by the Leslie
916
917    Damping:
918        If the same harmonic was reused by different pressed keys then its net
919        volume would not be a complete sum, the output gain would decay as the
920        pickups would become overloaded. This would dampen the signal strength.
921        This is only available with the Preacher algorithm.
922
923The two reverse octaves are presets as per the original, however here they can
924just be used to recall the first 23 memories of the current bank. The lower
925manual 12 key is the 'save' key for the current settings and must be double
926clicked. It should be possible to drive these keys via MIDI, not currently
927tested though. The default presets are a mixture of settings, the lower
928manual being typical 'standard' recital settings, the upper manual being a
929mixture of Smith, Argent, Emerson, Winwood and other settings from the well
930known Hammond Leslie FAQ. You can overwrite them. As a slight anomaly, which
931was intentional, loading a memory from the these keys only adjusts the visible
932parameters - the drawbars, leslie, etc. The unseen ones in the options panel
933do not change. When you save a memory with a double click on the lower manual
934last reverse key then in contrast it saves all the parameters. This will not
935change.
936
937The Preacher algorithm supports a diverse set of options for its tonewheel
938emulation. These are configured in the file $BRISTOL/memory/profiles/tonewheel
939and there is only one copy. The file is a text file and will remain that way,
940it is reasonably documented in the file itself. Most settings have two ranges,
941one representing the normal setting and the other the bright setting for when
942the 'bright' button is pressed. The following settings are currently available:
943
944    ToneNormal: each wheel can be given a waveform setting from 0 (square)
945        through to 1.0 (pure sine) to X (sharpening ramp).
946
947    EQNormal: each wheel can be given a gain level across the whole generator.
948
949    DampNormal: each wheel has a damping factor (level robbing/damping/stealing)
950
951    BusNormal: each drawbar can be equalised globally.
952
953
954    ToneBright: each wheel can be given a waveform setting from 0 (square)
955        through to 1.0 (pure sine) to X (sharpening ramp) for the bright button.
956
957    EQBright: each wheel can be given a gain level across the whole generator.
958
959    DampBright: each wheel has a damping factor (level robbing/damping/stealing)
960
961    BusBright: each drawbar can be equalised globally.
962
963
964    stops: default settings for the eight drawbar gain levels.
965
966        The default is 8 linear stages.
967
968    wheel: enables redefining the frequency and phase of any given tonewheel
969
970        The defaults are the slightly non Even Tempered frequencies of the
971        Hammond tonewheels. The tonewheel file redefines the top 6 frequencies
972        that were slightly more out of tune due to the 192-teeth wheels and
973        a different gear ratio.
974
975    crosstalk: between wheels in a compartment and adjacent drawbar busses.
976
977        This is one area that may need extensions for crosstalk in the wiring
978        loom. Currently the level of crosstalk between each of the wheels in
979        the compartment can be individually defined, and drawbar bus crosstalk
980        also.
981
982    compartment: table of the 24 tonewheel compartments and associated wheels.
983
984    resistors: tapering resister definitions for equalisation of gains per
985        wheel by note by drawbar.
986
987    taper: definition of the drawbar taper damping resistor values.
988
989Improvements would come with some other alterations to the sine waveforms and
990some more EQ put into the leslie speaker. The speaker has three speeds, two of
991which are configurable and the third is 'stopped'. Changes between the different
992rates is controlled to emulate inertia.
993
994The net emulation, at least of the preacher algorithm, is reasonable, it is
995distinctively a Hammond sound although it does not have quite as much motor
996or spindle noise. The Bright button gives a somewhat rawer gearbox. It could do
997with a better amplifier emulation for overdrive.
998
999The damping algorithms is not quite correct, it has dependencies on which keys
1000are pressed (upper/lower manual). Options drop shadow is taken from the wrong
1001background bitmap so appears in an inconsistent grey.
1002
1003
1004
1005
1006    Vox Continental
1007    ---------------
1008
1009This emulates the original mark-1 Continental, popular in its time with the
1010Animals on 'House of the Rising Sun', Doors on 'Light my Fire' and most of
1011their other tracks. Manzarek did use Gibson later, and even played with the
1012Hammond on their final album, 'LA Woman' but this organ in part defined
1013the 60's sound and is still used by retro bands for that fact. The Damned
1014used it in an early revival where Captain Sensible punched the keyboard
1015wearing gloves to quite good effect. After that The Specials began the Mod/Ska
1016revival using one. The sharp and strong harmonic content has the ability to
1017cut into a mix and make its presence known.
1018
1019The organ was a british design, eventually sold (to Crumar?) and made into a
1020number of plastic alternatives. Compared to the Hammond this was a fully
1021electronic instrument, no moving parts, and much simpler. It had a very
1022characteristic sound though, sharper and perhaps thinner but was far cheaper
1023than its larger cousin. It used a master oscillator that was divided down to
1024each harmonic for each key (as did the later Hammonds for price reasons). This
1025oscillator division design was used in the first of the polyphonic synthesisers
1026where the divided note was fead through individual envelope generators and
1027a shared or individual filter (Polymoog et al).
1028
1029The Vox is also a drawbar instrument, but far simplified compared to the
1030Hammond. It has 4 harmonic mixes, 16', 8' and 4' drawbars each with eight
1031positions. The fourth gave a mix of 2 2/3, 2, 1 1/3 and 1 foot pipes.
1032An additional two drawbars controlled the overall volume and waveforms, one
1033for the flute or sine waves and another for the reed or ramp waves. The
1034resulting sound could be soft and warm (flute) or sharp and rich (reed).
1035
1036There are two switches on the modulator panel, one for vibrato effect and one
1037for memories and options. Options give access to an chorus effect rather
1038than the simple vibrato, but this actually detracts from the qualities of the
1039sound which are otherwise very true to the original.
1040
1041Vox is a trade name owned by Korg Inc. of Japan, and Continental is one of
1042their registered trademarks. Bristol does not intend to infringe upon these
1043registered names and Korg have their own remarkable range of vintage emulations
1044available. You are directed to their website for further information of true
1045Korg products.
1046
1047
1048
1049
1050    Fender Rhodes
1051    -------------
1052
1053Again not an instrument that requires much introduction. This emulation is
1054the DX-7 voiced synth providing a few electric piano effects. The design is
1055a Mark-1 Stage-73 that the author has, and the emulation is reasonable if not
1056exceptional. The Rhodes has always been widely used, Pink Floyd on 'Money',
1057The Doors on 'Riders on the Storm', Carlos Santana on 'She's not There',
1058everybody else in the 60's.
1059
1060The Rhodes piano generated its sound using a full piano action keyboard where
1061each hammer would hit a 'tine', or metal rod. Next to each rod was a pickup
1062coil as found on a guitar, and these would be linked together into the output.
1063The length of each tine defined its frequency and it was tunable using a tight
1064coiled spring that could be moved along the length of the tine to adjust its
1065moment. The first one was built mostly out of aircraft parts to amuse injured
1066pilots during the second world war. The Rhodes company was eventually sold to
1067Fender and lead to several different versions, the Mark-2 probably being the
1068most widely acclaimed for its slightly warmer sound.
1069
1070There is not much to explain regarding functionality. The emulator has a volume
1071and bass control, and one switch that reveals the memory buttons and algorithm
1072selector.
1073
1074The Rhodes would improve with the addition of small amounts of either reverb
1075or chorus, potentially to be implemented in a future release.
1076
1077The Rhodes Bass was cobbled together largely for a presentation on Bristol.
1078It existed and was used be Manzarek when playing with The Doors in
1079Whiskey-a-GoGo; the owner specified that whilst the music was great they
1080needed somebody playing the bass. Rather than audition for the part Manzarek
1081went out and bought a Rhodes Bass and used it for the next couple of years.
1082
1083
1084
1085
1086    Sequential Circuits Prophet-10
1087    ------------------------------
1088
1089The prophet 10 was the troublesome brother of the Pro-5. It is almost two
1090Prophet-5 in one box, two keyboards and a layering capability. Early models
1091were not big sellers, they were temperamental and liable to be temperature
1092sensitive due to the amount of electronics hidden away inside. The original
1093layering and 'unison' allowed the original to function as two independent
1094synths, a pair of layered synths (both keyboards then played the same sound),
1095as a monophonic synth in 'unison' mode on one keybaord with a second polyphonic
1096unit on the other, or even all 10 voices on a single keyed note for a humongous
109720 oscillator monophonic monster.
1098
1099Phil Collins used this synth, and plenty of others who might not admit to it.
1100
1101The emulator uses the same memories as the Prophet-5, shares the same algorithm,
1102but starts two synths. Each of the two synths can be seen by selecting the U/D
1103(Up/Down) button in the programmer section. Each of the two synthesisers loads
1104one of the Pro-5 memories.
1105
1106There was an added parameter - the Pan or balance of the selected layer, used
1107to build stereo synths. The lower control panel was extended to select the
1108playing modes:
1109
1110    Dual: Two independent keyboards
1111    Poly: Play note from each layer alternatively
1112    Layer: Play each layer simultaneously.
1113
1114In Poly and Layer mode, each keyboard plays the same sounds.
1115
1116    Mods: Select which of the Mod and Freq wheels control which layers.
1117
1118
1119
1120
1121    Sequential Circuits Prophet-5
1122    Sequential Circuits Prophet-52 (the '5' with chorus)
1123    ----------------------------------------------------
1124
1125Sequential circuits released amongst the first truly polyphonic synthesisers
1126where a group of voice circuits (5 in this case) were linked to an onboard
1127computer that gave the same parameters to each voice and drove the notes to
1128each voice from the keyboard. The device had some limited memories to allow
1129for real live stage work. The synth was amazingly flexible regaring the
1130oscillator options and modulation routing, producing some of the fattest
1131sounds around. They also had some of the fattest pricing as well, putting it
1132out of reach of all but the select few, something that maintained its mythical
1133status. David Sylvian of Duran Duran used the synth to wide acclaim in the
1134early 80's as did many of the new wave of bands.
1135
1136The -52 is the same as the -5 with the addition of a chorus as it was easy, it
1137turns the synth stereo for more width to the sound, and others have done it on
1138the Win platform.
1139
1140The design of the Prophet synthesisers follows that of the Mini Moog. It has
1141three oscillators one of them as a dedicated LFO. The second audio oscillator
1142can also function as a second LFO, and can cross modulate oscillator A for FM
1143type effects. The audible oscillators have fixed waveforms with pulse width
1144modulation of the square wave. These are then mixed and sent to the filter with
1145two envelopes, for the filter and amplifier.
1146
1147Modulation bussing is quite rich. There is the wheel modulation which is global,
1148taking the LFO and Noise as a mixed source, and send it under wheel control to
1149any of the oscillator frequency and pulse width, plus the filter cutoff. Poly
1150mods take two sources, the filter envelope and Osc-B output (which are fully
1151polyphonic, or rather, independent per voice), and can route them through to
1152Osc-A frequency and Pulse Width, or through to the filter. To get the filter
1153envelope to actually affect the filter it needs to go through the PolyMod
1154section. Directing the filter envelope to the PW of Osc-A can make wide, breathy
1155scanning effects, and when applied to the frequency can give portamento effects.
1156
1157LFO:
1158
1159    Frequency: 0.1 to 50 Hz
1160    Shape: Ramp/Triangle/Square. All can be selected, none selected should
1161    give a sine wave (*)
1162
1163    (*) Not yet implemented.
1164
1165Wheel Mod:
1166
1167    Mix: LFO/Noise
1168    Dest: Osc-A Freq/Osc-B Freq/Osc-A PW/Osc-B PW/Filter Cutoff
1169
1170Poly Mod: These are affected by key velocity.
1171
1172    Filter Env: Amount of filter envelope applied
1173    Osc-B: Amount of Osc-B applied:
1174    Dest: Osc-A Freq/Osc-A PW/Filter Cutoff
1175
1176Osc-A:
1177
1178    Freq: 32' to 1' in octave steps
1179    Shape: Ramp or Square
1180    Pulse Width: only when Square is active.
1181    Sync: synchronise to Osc-B
1182
1183Osc-B:
1184
1185    Freq: 32' to 1' in octave steps
1186    Fine: +/- 7 semitones
1187    Shape: Ramp/Triangle/Square
1188    Pulse Width: only when Square is active.
1189    LFO: Lowers frequency by 'several' octaves.
1190    KBD: enable/disable keyboard tracking.
1191
1192Mixer:
1193
1194    Gain for Osc-A, Osc-B, Noise
1195
1196Filter:
1197
1198    Cutoff: cuttof frequency
1199    Res: Resonance/Q/Emphasis
1200    Env: amount of PolyMod affecting to cutoff.
1201
1202Envelopes: One each for PolyMod (filter) and amplifier.
1203
1204    Attack
1205    Decay
1206    Sustain
1207    Release
1208
1209Global:
1210
1211    Master Volume
1212    A440 - stable sine wave at A440 Hz for tuning.
1213    Midi: channel up/down
1214    Release: release all notes
1215    Tune: autotune oscillators.
1216    Glide: amount of portamento
1217
1218    Unison: gang all voices to a single 'fat' monophonic synthesiser.
1219
1220This is one of the fatter of the Bristol synths and the design of the mods
1221is impressive (not my design, this is as per sequential circuits spec). Some
1222of the cross modulations are noisy, notably 'Osc-B->Freq Osc-A' for square
1223waves as dest and worse as source.
1224
1225The chorus used by the Prophet-52 is a stereo 'Dimension-D' type effect. The
1226signal is panned from left to right at one rate, and the phasing and depth at
1227a separate rate to generate subtle chorus through to helicopter flanging.
1228
1229Memories are loaded by selecting the 'Bank' button and typing in a two digit
1230bank number followed by load. Once the bank has been selected then 8 memories
1231from the bank can be loaded by pressing another memory select and pressing
1232load. The display will show free memories (FRE) or programmed (PRG).
1233
1234
1235
1236
1237    Oberheim OB-X
1238    -------------
1239
1240Oberheim was the biggest competitor of Sequential Circuits, having their OB
1241range neck and neck with each SC Prophet. The sound is as fat, the OB-X
1242similar to the Prophet-5 as the OB-Xa to the Prophet-10. The synths were widely
1243used in rock music in the late seventies and early 80s. Their early polyphonic
1244synthesisers had multiple independent voices linked to the keyboard and were
1245beast to program as each voice was configured independently, something that
1246prevented much live usage. The OB-X configured all of the voices with the same
1247parameters and had non-volatile memories for instant recall.
1248
1249Priced at $6000 upwards, this beast was also sold in limited quantities and
1250as with its competition gained and maintained a massive reputation for rich,
1251fat sounds. Considering that it only had 21 continuous controllers they were
1252used wisely to build its distinctive and flexible sound.
1253
1254The general design again follows that of the Mini Moog, three oscillators with
1255one dedicated as an LFO the other two audible. Here there is no mixer though,
1256the two audible oscillators feed directly into the filter and then the amplifier.
1257
1258The richness of the sound came from the oscillator options and filter, the
1259latter of which is not done justice in the emulator.
1260
1261Manual:
1262
1263    Volume
1264    Auto: autotune the oscillators
1265    Hold: disable note off events
1266    Reset: fast decay to zero for envelopes, disregards release parameter.
1267    Master Tune: up/down one semitone both oscillators.
1268
1269Control:
1270
1271    Glide: up to 30 seconds
1272    Oscillator 2 detune: Up/down one semitone
1273
1274    Unison: gang all voices to a single 'fat' monophonic synthesiser.
1275
1276Modulation:
1277
1278    LFO: rate of oscillation
1279    Waveform: Sine/Square/Sample&Hold of noise src. Triangle if none selected.
1280
1281    Depth: Amount of LFO going to:
1282        Freq Osc-1
1283        Freq Osc-2
1284        Filter Cutoff
1285
1286    PWM: Amount of LFO going to:
1287        PWM Osc-1
1288        PWM Osc-2
1289
1290Oscillators:
1291
1292    Freq1: 32' to 1' in octave increments.
1293    PulseWidth: Width of pulse wave (*).
1294    Freq2: 16' to 1' in semitone increments.
1295
1296    Saw: sawtooth waveform Osc-1 (**)
1297    Puls: Pulse waveform Osc-1
1298
1299    XMod: Osc-1 FW to Osc-2 (***)
1300    Sync: Osc-2 sync to Osc-1
1301
1302    Saw: sawtooth waveform Osc-2
1303    Puls: Pulse waveform Osc-2
1304
1305    * Although this is a single controller it acts independently on each of the
1306    oscillators - the most recent to have its square wave selected will be
1307    affected by this parameter allowing each oscillator to have a different
1308    pulse width as per the original design.
1309
1310    ** If no waveform is selected then a triangle is generated.
1311
1312    *** The original synth had Osc-2 crossmodifying Osc-1, this is not totally
1313    feasible with the sync options as they are not mutually exclusive here.
1314    Cross modulation is noisy if the source or dest wave is pulse, something
1315    that may be fixed in a future release.
1316
1317Filter:
1318
1319    Freq: cutoff frequency
1320    Resonance: emphasis (*)
1321    Mod: Amount of modulation to filter cutoff (**)
1322
1323    Osc-1: Osc-1 to cutoff at full swing.
1324    KDB: Keyboard tracking of cutoff.
1325
1326    Half/Full: Oscillator 2 to Cutoff at defined levels (***)
1327    Half/Full: Noise to Cutoff at defined levels (***)
1328
1329    * In contrast to the original, this filter can self oscillate.
1330
1331    ** The original had this parameter for the envelope level only, not the
1332    other modifiers. Due to the filter implementation here it affects total
1333    depth of the sum of the mods.
1334
1335    *** These are not mutually exclusive. The 'Half' button gives about 1/4,
1336    the 'Full' button full, and both on gives 1/2. They could be made mutually
1337    exclusive, but the same effect can be generated with a little more flexibility
1338    here.
1339
1340Envelopes: One each for filter and amplifier.
1341
1342    Attack
1343    Decay
1344    Sustain
1345    Release
1346
1347The oscillators appear rather restricted at first sight, but the parametrics
1348allow for a very rich and cutting sound.
1349
1350Improvements would be a fatter filter, but this can be argued of all the
1351Bristol synthesisers as they all share the same design. It will be altered in
1352a future release.
1353
1354The OB-X has its own mod panel (most of the rest share the same frequency and
1355mod controls). Narrow affects the depth of the two controllers, Osc-2 will
1356make frequency only affect Osc-2 rather than both leading to beating, or phasing
1357effects if the oscillators are in sync. Transpose will raise the keyboard by
1358one octave.
1359
1360Memories are quite simple, the first group of 8 buttons is a bank, the second
1361is for 8 memories in that bank. This is rather restricted for a digital synth
1362but is reasonably true to the original. If you want more than 64 memories let
1363me know.
1364
1365
1366
1367
1368    Oberheim OB-Xa
1369    --------------
1370
1371This is almost two OB-X in a single unit. With one keyboard they could provide
1372the same sounds but with added voicing for split/layers/poly options. The OB-Xa
1373did at least work with all 10 voices, had a single keyboard, and is renound for
1374the sounds of van Halen 'Jump' and Stranglers 'Strange Little Girl'. The sound
1375had the capability to cut through a mix to upstage even guitar solo's. Oberheim
1376went on to make the most over the top analogue synths before the cut price
1377alternatives and the age of the DX overcame them.
1378
1379Parameters are much the same as the OB-X as the algorithm shares the same code,
1380with a few changes to the mod routing. The main changes will be in the use of
1381Poly/Split/Layer controllers for splitting the keyboard and layering the sounds
1382of the two integrated synthesisers and the choice of filter algorithm.
1383
1384The voice controls apply to the layer being viewed, selected from the D/U
1385button.
1386
1387Manual:
1388
1389    Volume
1390    Balance
1391    Auto: autotune the oscillators
1392    Hold: disable note off
1393    Reset: fast decay to zero for envelopes, disregards release parameter.
1394    Master Tune: up/down one semitone both oscillators.
1395
1396Control:
1397
1398    Glide: up to 30 seconds
1399    Oscillator 2 detune: Up/down one semitone
1400
1401    Unison: gang all voices to a single 'fat' monophonic synthesiser.
1402
1403Modulation:
1404
1405    LFO: rate of oscillation
1406    Waveform: Sine/Square/Sample&Hold of noise src. Triangle if none selected.
1407
1408    Depth: Amount of LFO going to:
1409        Freq Osc-1
1410        Freq Osc-2
1411        Filter Cutoff
1412
1413    PWM: Amount of LFO going to:
1414        PWM Osc-1
1415        PWM Osc-2
1416        Tremelo
1417
1418Oscillators:
1419
1420    Freq1: 32' to 1' in octave increments.
1421    PulseWidth: Width of pulse wave (*).
1422    Freq2: 16' to 1' in semitone increments.
1423
1424    Saw: sawtooth waveform Osc-1 (**)
1425    Puls: Pulse waveform Osc-1
1426
1427    Env: Application of Filter env to frequency
1428    Sync: Osc-2 sync to Osc-1
1429
1430    Saw: sawtooth waveform Osc-2
1431    Puls: Pulse waveform Osc-2
1432
1433    * Although this is a single controller it acts independently on each of the
1434    oscillators - the most recent to have its square wave selected will be
1435    affected by this parameter allowing each oscillator to have a different
1436    pulse width, as per the original design.
1437
1438    ** If no waveform is selected then a triangle is generated.
1439
1440Filter:
1441
1442    Freq: cutoff frequency
1443    Resonance: emphasis (*)
1444    Mod: Amount of modulation to filter cutoff (**)
1445
1446    Osc-1: Osc-1 to cutoff at full swing.
1447    KDB: Keyboard tracking of cutoff.
1448
1449    Half/Full: Oscillator 2 to Cutoff at defined levels (***)
1450
1451    Noise: to Cutoff at defined levels
1452    4 Pole: Select 2 pole or 4 pole filter
1453
1454    * In contrast to the original, this filter will self oscillate.
1455
1456    ** The original had this parameter for the envelope level only, not the
1457    other modifiers. Due to the filter implementation here it affects total
1458    depth of the sum of the mods.
1459
1460    *** These are not mutually exclusive. The 'Half' button gives about 1/4,
1461     the 'Full' button full, and both on gives 1/2. They could be made mutually
1462    exclusive, but the same effect can be generated with a little more flexibility
1463    here.
1464
1465Envelopes: One each for filter and amplifier.
1466
1467    Attack
1468    Decay
1469    Sustain
1470    Release
1471
1472Mode selection:
1473
1474    Poly: play one key from each layer alternatively for 10 voices
1475    Split: Split the keyboard. The next keypress specifies split point
1476    Layer: Layer each voice on top each other.
1477
1478    D/U: Select upper and lower layers for editing.
1479
1480Modifier Panel:
1481
1482    Rate: Second LFO frequency or Arpeggiator rate (*)
1483    Depth: Second LFO gain
1484    Low: Modifiers will affect the lower layer
1485    Up: Modifiers will affect the upper layer
1486    Multi: Each voice will implement its own LFO
1487    Copy: Copy lower layer to upper layer
1488
1489    Mod 01: Modify Osc-1 in given layer
1490    Mod 02: Modify Osc-2 in given layer
1491    PW: Modify Pulse Width
1492    AMT: Amount (ie, depth) of mods and freq wheels
1493
1494    Transpose: Up or Down one octave.
1495
1496The Arpeggiator code integrated into release 0.20.4 has three main parts, the
1497arpeggiator itself, the arpeggiating sequencer and the chording. All are
1498configured from the left of the main panel.
1499
1500The arpeggiator is governed by the rate control that governs how the code
1501steps through the available keys, an octave selector for 1, 2 or 3 octaves
1502of arpeggiation, and finally the Up/Down/Up+Down keys - the last ones start
1503the arpeggiator. Arpeggiation will only affect the lower layer.
1504
1505When it has been started you press keys on the keyboard (master controller
1506or GUI) and the code will step through each note and octaves of each note
1507in the order they were pressed and according to the direction buttons. The
1508key settings are currently reset when you change the direction and you will
1509have to press the notes again.
1510
1511The sequencer is a modification of the code. Select the Seq button and then
1512a direction. The GUI will program the engine with a series of notes (that can
1513be redefined) and the GUI will sequence them, also only into the lower layer.
1514The sequence will only start when you press a key on the keyboard, this is
1515the starting point for the sequence. You can press multiple notes to have
1516them sequence in unison. Once started you can tweak parameters to control
1517the sound and memory 88 when loaded has the filter envelope closed down, a
1518bit of glide and some heavy mods to give you a starting point for some serious
1519fun.
1520
1521To reprogram the sequence steps you should stop the sequencer, press the PRG
1522button, then the Sequence button: enter the notes you want to use one by one
1523on the keyboard. When finished press the sequence button again, it goes out.
1524Now enable it again - select Seq and a direction and press a note. Press two
1525notes.
1526
1527When you save the memory the OBXa will also save the  sequence however there
1528is only one sequence memory - that can be changed if you want to have a sequence
1529memory per voice memory (implemented in 0.20.4).
1530
1531The chord memory is similar to the Unison mode except that Unison plays all
1532voices with the same note. Chording will assign one voice to each notes in
1533the chord for a richer sound. To enable Chording press the 'Hold' button. This
1534is not the same as the original since it used the hold button as a sustain
1535option however that does not function well with a Gui and so it was reused.
1536
1537To reprogram the Chord memory do the following: press the PRG button then the
1538Hold button. You can then press the keys, up to 8, that you want in the chord,
1539and finally hit the Hold button again. The default chord is just two notes,
1540the one you press plus its octave higher. This results in multiple voices
1541per keypress (a total of 3 in Layered mode) and with suitable detune will
1542give a very rich sound.
1543
1544There is only one arpeggiator saved for all the memories, not one per memory
1545as with some of the other implementations. Mail me if you want that changed.
1546
1547
1548
1549The oscillators appear rather restricted at first sight, but the parametrics
1550allow for a very rich and cutting sound.
1551
1552The Copy function on the Mod Panel is to make Poly programming easier - generate the desired sound and then copy the complete parameter set for poly operation.
1553It can also be used more subtly, as the copy operation does not affect balance
1554or detune, so sounds can be copied and immediately panned slightly out of tune to generate natural width in a patch. This is not per the original instrument
1555that had an arpeggiator on the mod panel.
1556
1557The Arpeggiator was first integrated into the OBXa in release 0.20.4 but not
1558widely tested.
1559
1560
1561
1562
1563    KORG MONOPOLY
1564    -------------
1565
1566A synth suite would not be complete without some example of a Korg instrument,
1567the company was also pivotal in the early synthesiser developments. This is
1568an implementation of their early attempts at polyphonic synthesis, it was
1569either this one or the Poly-6 (which may be implemented later). Other choices
1570would have been the MS series, MS-20, but there are other synth packages that
1571do a better job of emulating the patching flexibility of that synth - Bristol
1572is more for fixed configurations.
1573
1574As with many of the Korg synths (the 800 worked similarly) this is not really
1575true polyphony, and it is the quirks that make it interesting. The synth had
1576four audio oscillators, each independently configurable but which are bussed
1577into a common filter and envelope pair - these are not per voice but rather
1578per instrument. The unit had different operating modes such that the four
1579oscillators can be driven together for a phat synth, independently for a form
1580of polyphony where each is allocated to a different keypress, and a shared
1581mode where they are assigned in groups depending on the number of keys pressed.
1582For example, if only 2 notes are held then each key is sounded on two different
1583oscillators, one key is sounded on all 4 oscillators, and 3 or more have one
1584each. In addition there are two LFOs for modulation and a basic effects option
1585for beefing up the sounds. To be honest to the original synth, this emulation
1586will only request 1 voice from the engine. Korg is one of the few original
1587manufacturers to have survived the transition to digital synthesis and are
1588still popular.
1589
1590One thing that is immediately visible with this synth is that there are a lot
1591of controllers since each oscillator is configured independently. This is in
1592contrast to the true polyphonic synths where one set of controls are given to
1593configure all the oscillators/filters/envelopes. The synth stages do follow the
1594typical synth design, there are modulation controllers and an FX section
1595feeding into the oscillators and filter. The effects section is a set of
1596controllers that can be configured and then enabled/disabled with a button
1597press. The overall layout is rather kludgy, with some controllers that are
1598typically grouped being dispersed over the control panel.
1599
1600Control:
1601
1602    Volume
1603
1604    Arpeg:
1605        Whether arpegiator steps up, down, or down then up. This works in
1606        conjunction with the 'Hold' mode described later.
1607
1608    Glide: glissando note to note. Does not operate in all modes
1609
1610    Octave: Up/Normal/Down one octave transpose of keyboard
1611
1612    Tune: Global tuning of all oscillators +/- 50 cents (*)
1613    Detune: Overall detuning of all oscillators +/- 50 cents (*)
1614
1615    * There is an abundance of 'Tune' controllers. Global Tuning affects all
1616    the oscillators together, then oscillators 2, 3 and 4 have an independent
1617    tune controller, and finally there is 'Detune'. The target was to tune all
1618    the oscillators to Osc-1 using the independent Tune for each, and then use
1619    the global Tune here to have the synth tuned to other instruments. The
1620    Detune control can then be applied to introduce some beating between the
1621    oscillators to fatten the sound without necessarily losing overall tune of
1622    the instrument.
1623
1624Modulation wheels:
1625
1626    Bend:
1627        Intensity: Depth of modulation
1628        Destination:
1629            VCF - Filter cutoff
1630            Pitch - Frequency of all oscillators
1631            VCO - Frequency of selected oscillators (FX selection below).
1632
1633    MG1: Mod Group 1 (LFO)
1634        Intensity: Depth of modulation
1635        Destination:
1636            VCF - Filter cutoff
1637            Pitch - Frequency of all oscillators
1638            VCO - Frequency of selected oscillators (FX selection below).
1639
1640LFO:
1641
1642    MG-1:
1643        Frequency
1644        Waveform - Tri, +ve ramp, -ve ramp, square.
1645
1646    MG-2:
1647        Frequency (Triangle wave only).
1648
1649Pulse Width Control:
1650
1651    Pulse Width Modulation:
1652        Source - Env/MG-1/MG-2
1653        Depth
1654
1655    Pule Width
1656        Width control
1657
1658    These controllers affect Osc-1 though 4 with they are selected for either
1659    square of pulse waveforms.
1660
1661Mode:
1662
1663    The Mono/Poly had 3 operating modes, plus a 'Hold' option that affects
1664    each mode:
1665
1666        Mono: All oscillators sound same key in unison
1667        Poly: Each oscillator is assigned independent key - 4 note poly.
1668        Share: Dynamic assignment:
1669            1 key - 4 oscillators = Mono mode
1670            2 key - 2 oscillators per key
1671            3/4   - 1 oscillator per key = Poly mode
1672
1673    The Hold function operates in 3 different modes:
1674
1675        Mono: First 4 keypresses are memorised, further notes are then chorded
1676            together monophonically.
1677        Poly:
1678            Notes are argeggiated in sequence, new note presses are appended
1679            to the chain. Arpeggiation is up, down or up/down.
1680        Share:
1681            First 4 notes are memorised and are then argeggiated in sequence,
1682            new note presses will transpose the arpeggiation. Stepping is up,
1683            down or up/down.
1684
1685    There are several controllers that affect arpeggation:
1686
1687        Arpeg - direction of stepping
1688        MG-2 - Frequency of steps from about 10 seconds down to 50 bps.
1689        Trigger - Multiple will trigger envelopes on each step.
1690
1691Effects:
1692
1693    There are three main effects, or perhaps rather modulations, that are
1694    controlled in this section. These are vibrato, crossmodulated frequency
1695    and oscillator synchronisation. The application of each mod is configured
1696    with the controllers and then all of them can be enabled/disabled with
1697    the 'Effects' button. This allows for big differences in sound to be
1698    applied quickly and simply as a typical effect would be. Since these mods
1699    apply between oscillators it was envisaged they would be applied in Mono
1700    mode to further fatten the sound, and the Mono mode is actually enabled when
1701    the Effects key is selected (as per the original instrument). The Mode can
1702    be changed afterwards for Effects/Poly for example, and they work with the
1703    arpeggiation function.
1704
1705    X-Mod: frequency crossmodulation between oscillators
1706    Freq: frequency modulation by MG-1 (vibrato) or Envlope (sweep)
1707
1708    Mode:
1709        Syn: Oscillators are synchronised
1710        X-M: Oscillators are crossmodulated
1711        S-X: Oscillators are crossmodulated and synchronised
1712
1713    SNG:
1714        Single mode: synth had a master oscillator (1) and three slaves (2/3/4)
1715    DBL:
1716        Double mode: synth had two master (1/3) and two slaves (2/4)
1717
1718    The overall FX routing depends on the SNG/DBL mode and the selection of
1719    Effects enabled or not according to the table below. This table affects
1720    the FX routing and the modulation wheels discussed in the LFO section above:
1721
1722                     --------------------------------------------------
1723                     |    FX OFF    |              FX ON              |
1724                     |              |----------------------------------
1725                     |              |    Single       |     Double    |
1726      ---------------+--------------+-----------------+---------------|
1727      | VCO-1/Slave  |    VCO-1     |    VCO 2/3/4    |     VCO 2/4   |
1728      |              |              |                 |               |
1729      | Pitch        |    VCO 1-4   |    VCO 1-4      |     VCO 1-4   |
1730      |              |              |                 |               |
1731      | VCF          |    VCF       |    VCF          |     VCF       |
1732      -----------------------------------------------------------------
1733
1734    So, glad that is clear. Application of the modulation wheels to Pitch and
1735    VCF is invariable when they are selected. In contrast, VCO/Slave will have
1736    different destinations depending on the Effects, ie, when effects are on
1737    the modwheels will affect different 'slave' oscillators.
1738
1739
1740Oscillators:
1741
1742    Each oscillator had the following controllers:
1743
1744        Tune (*)
1745        Waveform: Triangle, ramp, pulse, square (**)
1746        Octave: Transpose 16' to 2'
1747        Level: output gain/mix of oscillators.
1748
1749        * Osc-1 tuning is global
1750        ** width of pulse and square wave is governed by PW controller. The
1751        modulation of the pulse waveform is then also controlled by PWM.
1752
1753Noise:
1754
1755    Level: white noise output gain, mixed with oscillators into filter.
1756
1757VCF:
1758
1759    Freq:
1760        Cutoff frequency
1761
1762    Res:
1763        Resonance/emphasis.
1764
1765    Env:
1766        Amount of contour applied to cutoff
1767
1768    KBD:
1769        Amount of key tracking applied.
1770
1771ADSR: Two: filter/PWM/FX, amplifier
1772
1773    Attack
1774    Decay
1775    Sustain
1776    Release
1777
1778    Trigger:
1779        Single: Trigger once until last key release
1780        Multi: Trigger for each key or arpeggiator step.
1781
1782    Damp:
1783        Off: Notes are held in Poly/Share mode until last key is released.
1784        On: Oscillators are released as keys are released.
1785
1786This is more a synth to play with than describe. It never managed to be a true
1787blue synth perhaps largely due to its unusual design: the quasi-poly mode was
1788never widely accepted, and the effects routing is very strange. This does make
1789it a synth to be tweaked though.
1790
1791Some of the mod routings do not conform to the original specification for the
1792different Slave modes. This is the first and probably the only bristol synth that
1793will have an inbuilt arpeggiator. The feature was possible here due to the mono
1794synth specification, and whilst it could be built into the MIDI library for
1795general use it is left up to the MIDI sequencers (that largely came along to
1796replace the 1980s arpeggiators anyway) that are generally availlable on Linux.
1797[Other instruments emulated by bristol that also included arpeggiation but do
1798not have in the emulation were the Juno-6, Prophet-10, Oberheim OB-Xa, Poly6].
1799
1800As of May 06 this synth was in its final stages of development. There are a few
1801issues with Tune and Detune that need to be fixed, and some of the poly key
1802assignment may be wrong.
1803
1804
1805
1806
1807    KORG POLY 6
1808    -----------
1809
1810Korg in no way endorses this emulation of their classic synthesiser and have
1811their own emulation product that gives the features offered here. Korg,
1812Mono/Poly, Poly-6, MS-20, Vox and Continental are all registered names or
1813trademarks of Korg Inc of Japan.
1814
1815Quite a few liberties were taken with this synth. There were extremely few
1816differences between the original and the Roland Juno 6, they both had one osc
1817with PWM and a suboscillator, one filter and envelope, a chorus effect, and
1818inevitably both competed for the same market space for their given price. To
1819differentiate this algorithm some alterations were made. There are two separate
1820envelopes rather than just one, but the option to have a gated amplifier is
1821still there. In addition glide and noise were added, both of which were not in
1822the original instrument. With respect to the original instrument this was
1823perhaps not a wise move, but there seemed little point in making another Juno
1824with a different layout. The net results is that the two synths do sound quite
1825different. The emulation does not have an arpeggiator.
1826
1827    Volume: Master volume of the instrument
1828
1829    Glide: length of portamento
1830
1831    Tune: Master tuning of instrument
1832
1833    Bend: Amount of pitch wheel that is applied to the oscillators frequency.
1834
1835
1836    VCO section:
1837
1838        Octave: What octave the instrument's keyboard is in.
1839
1840        Wave: Waveform selection: Triangle, Saw, Pulse and Pulsewidth
1841
1842        PW PWM: Amount of Pulsewidth (when Pulse is selected) and Pulsewidth
1843            Modulation (When Pulsewidth is selected).
1844
1845        Freq: Frequency of PW/PWM
1846
1847        OFF/SUB1/SUB2; Adds a square sub-oscillator either off, 1 or 2 octaves
1848            down from a note.
1849
1850    MG (Modulation Group):
1851
1852        Freq: Frequency of LFO
1853
1854        Delay: Amount of time before the LFO affects the destination when a key
1855            is pressed.
1856        Level: How strongly the LFO affects the destination
1857
1858        VCO/VCF/VCA: Destinations that the LFO can go to:
1859
1860            VCO: The Voltage Controlled Oscillator:
1861                Affects oscillator pitch, producing vibrato
1862
1863            VCF: The Voltage Controlled Filter:
1864                Affects Filter, producing a wah effect
1865
1866            VCA: The Voltage Controlled Amplifier:
1867                Affects the Amplifier, producing tremolo
1868
1869    VCF section:
1870
1871        Freq: Cut off frequency of the filter
1872
1873        Res: Resonance of the filter
1874
1875        Env: By how much the filter is affected by the envelope.
1876
1877        Kbd: How much Keyboard tracking is applied to the envelope. note:
1878
1879            A low setting doesn't allow the filter to open, making the notes
1880            seem darker the further you go up the keyboard.
1881
1882    Hold: prevent key off events
1883
1884    Mono Mode: Gang all voices to a single 'fat' monophonic synthesiser.
1885
1886    Poly: One voice per note.
1887
1888    Envelope Section:
1889
1890        Top:
1891
1892        Filter envelope:
1893
1894            Attack: Amount of time it takes the filter to fully open.
1895                A high value can produce a 'sweeping filter' effect.
1896            Decay: Amount of time it takes for the filter to close to
1897                the sustain level
1898            Sustain: Amount of filter that is sustained when a key is held
1899
1900            Release: Amount of time it takes for the filter envelope to stop
1901                affecting the filter. Combining a low filter release with a
1902                high amplitude release time can cause an interesting effect.
1903
1904        Bottom:
1905
1906        Amplitude envelope:
1907
1908        Attack: Amount of time it takes for the signal to reach its peak.
1909
1910        Decay: Amount of time it takes for the signal to drop to the
1911            sustain level
1912        Sustain: How quickly the sound decays to silence.
1913
1914        Release: How long it takes the sound to decay to silence after
1915            releasing a key.
1916
1917    VCA:
1918
1919        Env: When on, this causes the Amplitude envelope to affect the sound.
1920            I.E, If you have a long attack time, you get a long attack time.
1921        Gate: When on, this causes the Amplitude envelope only (not the filter
1922            envelope) to be be bypassed.
1923        Gain: Gain of signal.
1924
1925    Effects Section:
1926
1927        0: No effects
1928        1: Soft Chorus
1929        2: Phaser
1930        3: Ensemble
1931
1932        Intensity: How much the effects affect the output.
1933
1934There are some mildly anomolous effects possible from the MG section, especially
1935with the VCA. The MG and the env are summed into the VCA which means if the env
1936decays to zero then the LFO may end up pumping the volume, something that may
1937be unexpected. Similarly, if the LFO is pumping and the voice finally stops its
1938cycle then the closing gate may cause a pop on the MG signal. These can be
1939resolved however the current behavious is probably close to the original.
1940
1941Bristol thanks Andrew Coughlan for patches, bug reports, this manual page and
1942diverse suggestions to help improve the application.
1943
1944Korg in no way endorses this emulation of their classic synthesiser and have
1945their own emulation product that gives the features offered here. Korg,
1946Mono/Poly, Poly-6, MS-20, Vox and Continental are all registered names or
1947trademarks of Korg Inc of Japan.
1948
1949
1950
1951
1952    ARP AXXE
1953    --------
1954
1955TBD
1956
1957At the risk of getting flamed, this is potentially the ugliest synth ever made,
1958although the competition is strong. It was implemented as a build up to the far
1959more useful ARP 2600 to understand the ARP components and their implementation.
1960
1961The implementation is a giveaway written during a week long business trip to
1962Athens to keep me busy in the hotel. Its design lead on to the Odyssey and that
1963was the step towards the final big brother, the ARP 2600.
1964
1965
1966
1967
1968    ARP ODYSSEY
1969    -----------
1970
1971Ring modulation is correct here, it is a multiplier. This deviates from the
1972original instrument that used an XOR function on the pulsewave outputs of the
1973two oscillators. The implementation has two models, Mark-I and Mark-II. These
1974implement different filters as per the original. Although their characteristics
1975are different it is not suggested they are a particularly close emulation of
1976the original.
1977
1978TBD
1979
1980
1981
1982
1983    Memory Moog
1984    -----------
1985
1986TBD.
1987
1988This is actually a lot warmer than the Mini emulator, largely due to being
1989later code. The mini should be revisited but I am saving that pleasure for when
1990some more filters are available. [This was done during the 0.20 stream using the
1991Houvilainen filters and bandwidth limited oscillators to produce a far richer
1992sound. Also incorporate a number of fixes to the emulation stages.].
1993
1994
1995
1996
1997    ARP 2600
1998    --------
1999
2000This synth will probably never get a writeup, it is kind of beyond the scope of
2001this document. There are some discrepancies with the original:
2002
2003The filters do not self oscillate, they require an input signal. The output
2004stage is global to all voices so cannot be patched back into the signal path.
2005The original did not have a chorus, only a spring reverb. The input stage has
2006not been tested for either signal nor envelope following code. The voltage
2007manipulators were not in the first bristol upload with this emulation (-60),
2008but a future release will include mixing inverters, a lag processor, and
2009possibly also a Hz->V extractor. The unit has an extra LFO where the original
2010had just a clock trigger circuit, it produces a TRI wave, can be used to
2011trigger the AR envelope and be used for modulation. The electroswitch is
2012unidirectional, two inputs switchable to one output. The sample and hold
2013circuit cannot accept an external clock. The Keyboard inputs to the VCO cannot
2014accept and alternative signal other than the MIDI note with tracking of this
2015note either enabled or disabled.
2016
2017The rest works, ie, all the VCO/VCF/VCA/ENV/AMP and any of the 30 or so outputs
2018can be repatched into any of the 50 or so inputs. Patches cause no overhead in
2019the engine as it uses default buffering when not repatched, so feel free to put
2020in as many cables as you can fit. Patches in the GUI still demand a lot of CPU
2021cycles. Release -77 improved this about 5-fold and further improvements are in
2022the pipeline: the 0.10 stream implemented color caching and XImage graphics
2023interface which massively improved GUI performance.
2024
2025
2026
2027
2028    REALISTIC MG-1 CONCERTMATE
2029    --------------------------
2030
2031This is a pimpy little synth. It was sold through the Realistic electronics
2032chain, also known as Radio Shack (and as Tandy, in the UK at least). It was
2033relatively cheap but had a design from Moog Music (from after Robert Moog
2034had left?) including the patented ladder filter. It consisted of a monophonic
2035synth, dual oscillator, lfo, noise, filter, env, and a ring modulator. On top
2036of that there was an organ circuit to give 'polyphony'. It was not really
2037polyphonic although different descriptions will tell you it had 10 voices.
2038These write-ups are by people who probably only had 10 fingers, the truth is
2039that the organ circuit was as per any other - it had a master oscillator at
2040about 2MHz and this was divided using binary counters to deliver a frequency
2041for every note. The output of the 'poly' section was lamentable at best, it is
2042a fairly pure square wave passed through the filter and contour. This is fully
2043emulated although in addition to the contour bristol implements a per note
2044envelope just to groom the note - this prevents ticks when new keys are pressed
2045with the mono envelope fully open. There is no access to this env, it just has
2046fast attack and decay times to smooth the signal and is preconfigured by the
2047user interface on startup.
2048
2049The mono section is reasonably fun, the oscillators can be synchronised and
2050there is a ring modulator so the range of sounds is quite wide. The emulator
2051uses a chaimberlain filter so is not as warm as the Moog ladder filters.
2052
2053The list of people who used this is really quite amazing. The promotion for
2054the product had Elton John holding one up in the air, although seeing as he
2055probably already had every other synth known to man, holding it up in the
2056air is likely to be all he ever did with it. Who knows how much they had to
2057pay him to do it - the photo was nice though, from the days when Elton was
2058still bald and wearing ridiculously oversized specs.
2059
2060Tuning:
2061
2062    One control each for the poly oscillator and mono oscillators
2063
2064Glide:
2065
2066    Only affects the monophonic oscillators.
2067
2068Modulation:
2069
2070    One LFO with rate and waveshape selection
2071        produces tri, square and S/H signals.
2072        can trigger the envelope
2073    One noise source.
2074    The modulation can be directed to:
2075        Oscillators for vibrato
2076        Filter for wah-wah effects
2077
2078Oscillator-1:
2079
2080    Tri or square wave
2081    Octave from -2 to 0 transposition
2082    Sync selector (synchronises Osc-2 to Osc-1)
2083
2084Oscillator-2:
2085
2086    Tri or pulse wave
2087    Detune. This interoperates with the sync setting to alter harmonics
2088    Octave from -1 to +1 transposition
2089
2090Contour: This is not an ADSR, rather an AR envelope
2091
2092    Sustain: AR or ASR envelope selector.
2093    Tracking: controls mono oscillators
2094        Envelope control
2095        Key tracking (gate, no env)
2096        Continuous (always on)
2097    Rise (attack time)
2098    Fall (release time)
2099
2100Filter:
2101
2102    Cutoff frequency
2103    Emphasis
2104    Contour depth
2105    Keyboard tracking off, 1/2, full.
2106
2107Mixer: Levels for
2108    Mono Osc-1
2109    Mono Osc-2
2110    Noise
2111    RingMod of the mono oscillators (called 'bell').
2112    Poly Osc level.
2113
2114Master Volume control.
2115
2116One extra button was added to save the current settings. For the rest the
2117controls reflect the simplicity of the original. The implementation is a single
2118synth, however due to the engine architecture having a pre-operational routine,
2119a post-operational routine and an operate(polyphonic emulator) the emulation
2120executes the mono synth in the pre- and post- ops to be mono, these are called
2121just once per cycle. The poly synth is executed in the operate() code so is
2122polyphonic. This leads to one minor deviation from the original routing in
2123that if you select continuous tone controls then you will also hear one note
2124from the poly section. This is a minor issue as the poly oscillator can be
2125zeroed out in the mixer.
2126
2127It is noted here that this emulation is just a freebie, the interface is kept
2128simple with no midi channel selection (start it with the -channel option and
2129it stays there) and no real memories (start it with the -load option and it
2130will stay on that memory location). There is an extra button on the front
2131panel (a mod?) and pressing it will save the current settings for next time
2132it is started. I could have done more, and will if people are interested, but
2133I built it since the current developments were a granular synth and it was
2134hard work getting my head around the grain/wave manipulations, so to give
2135myself a rest I put this together one weekend. The Rhodesbass and ARP AXXE
2136were done for similar reasons. I considered adding another mod button, to make
2137the mono section also truly polyphonic but that kind of detracts from the
2138original. Perhaps I should put together a Polymoog sometime that did kind of
2139work like that anyway.
2140
2141This was perhaps a strange choice, however I like the way it highlights the
2142difference between monophonic, polyphonic and 'neopolyphonic' synthesised
2143organs (such as the polymoog). Its a fun synth as well, few people are likely
2144to every bother buying one as they cost more now than when they were produced
2145due to being collectable: for the few hundred dollars they would set you back
2146on eBay you can get a respectable polyphonic unit.
2147So here is an emulator, for free, for those who want to see how they worked.
2148
2149
2150
2151
2152    Vox Continental 300
2153    -------------------
2154
2155There is an additional emulator for the later Mark-II, Super, 300 or whatever
2156model you want to call it. This is probably closest to the 300. It was a
2157dual manual organ, the lower manual is a Continental and the upper manual had
2158a different drawbar configuration, using 8', 4' and 2', another two compound
2159drawbars that represented 5-1/3'+1-3/5', and 2-2/3'+2'+1' respectively. This
2160gave upper manual a wider tonic range, plus it had the ability to apply some
2161percussive controls to two of the drawbars. Now, depending on model, some of
2162these values could be different and bristol does not emulate all the different
2163combinations, it uses the harmonics described above and applies percussive to
2164the 2' and 5-1/3' harmonics (which is arguably incorrect however it gives
2165a wider combination of percussive harmonics).
2166
2167The percussive has 4 controls, these are selectors for the harmonics that will
2168be driven through the percussive decay (and then no longer respond to the
2169drawbars), a decay rate called 'L' which acts as a Longer decay when selected,
2170and a volume selector called 'S' which stands for Soft. The variables are
2171adjustable in the mods section. The mods panel is intended to be hidden as
2172they are just variable parameters. On the original units these were PCB mounted
2173pots that were not generally accessible either. The panel is visible when you
2174turn the power control off, not that I suppress the keyboard or anything when
2175the power is off, but it gave me something useful do to with this button. The
2176transparency layer is fixed here and is used to apply some drop shadow and a
2177few beer spills on the cover.
2178
2179There is an additional Bass section for those who bought the optional Bass
2180pedals (my old one had them). The emulation allow the selection of Flute and
2181Reed strengths, and to select 8' or 8'/16' harmonics. The 'Sustain' control
2182does not currently operate (0.10.9) but that can be fixed if people request
2183the feature.
2184
2185The lower manual responds to the MIDI channel on which the emulation was
2186started. The upper manual responds to notes greater than MIDI key 48 on the
2187next channel up. The Bass section also responds to this second channel on keys
2188lower than #48. Once started you cannot change the midi channel - use the
2189'-channel' option at startup to select the one you want. The actual available
2190max is 15 and that is enforced.
2191
2192The emulation only contains 6 available presets and a 'Save' button that you
2193need to double click to overwrite any preset. The emulation actually uses
2194banks, so if you started it with '-load 23' it would start up by selecting
2195bank 20, and load memory #3 from that bank. Any saved memories are also then
2196written back to bank 20, still with just 6 memories accessible 20-25. You can
2197access more via MIDI bank select and program change operations if suitably
2198linked up.
2199
2200Vox is a trade name owned by Korg Inc. of Japan, and Continental is one of
2201their registered trademarks. Bristol does not intend to infringe upon these
2202registered names and Korg have their own remarkable range of vintage emulations
2203available. You are directed to their website for further information of true
2204Korg products.
2205
2206
2207
2208
2209    Roland Jupiter 8
2210    ----------------
2211
2212This emulator is anticipated in 0.20.4.
2213
2214The Jupiter synthesizers were the bigger brothers of the Juno series: their
2215capabilities, sounds and prices were all considerably larger. This is the
2216larger of the series, the others being the -4 and -6. The -6 and the rack
2217mounted MKS-80 both came out after the Jupiter-8 and had somewhat more flexible
2218features. Several of these have been incorporated into the emulation and that
2219is documented below.
2220
2221A quick rundown of the synth and emulation:
2222
2223The synth runs as two layers, each of which is an independent emulator running
2224the same algorithm, both layers are controlled from the single GUI. The layers
2225are started with a set of voices, effectively 4+4 per default however bristol
2226plays with those numbers to give the split/layer at 4 voices each and the 'All'
2227configuration with 8 voices - it juggles them around depending on the Poly
2228mode you select. You can request a different number of voices and the emulator
2229will effectively allocate half the number to each layer. If you request 32
2230voices you will end up with 4+4 though since 32 is interpreted as the default.
2231
2232The Poly section is used to select between Dual layers, Split keyboard and the
22338voice 'All' mode. You can redefine the split point with a double click on the
2234'Split' button and then pressing a key. If you have linked the GUI up to the
2235MIDI you should be able to press a key on your master keyboard rather than on
2236the GUI.
2237
2238After that you can select the layer as upper or lower to review the parameter
2239settings of each layer: they are as follows:
2240
2241LFO:
2242    Frequency
2243    Delay
2244    Waveform (tri, saw, square, s&h)
2245
2246VCO Mods:
2247    LFO and ENV-1
2248    Destination to modulate frequency of DCO1, DCO2 or both.
2249
2250PWM:
2251    PW
2252    PWM
2253    Modified by Env-1 or LFO
2254
2255DCO-1:
2256    Crossmod (FM) from DCO2 to DCO1
2257    Modified by Env-1
2258
2259    Octave range 16' to 2' (all mixable)
2260    Waveform: Tri, saw, pulse, square (all mixable)
2261
2262DCO-2:
2263    Sync (1->2 or 2->1 or off)
2264    Range: 32' to 2' (all mixable)
2265    Tuning
2266    Waveform: tri, saw, pulse, noise (all mixable)
2267
2268Mix:
2269    Osc 1 and Osc 2
2270
2271HPF:
2272    High pass filter of signal
2273
2274Filter:
2275    Cutoff
2276    Emphasis
2277    LPF/BPF/HPF
2278    Env modulation
2279    Source from Env-1 or Env-2
2280    LFO mod amount
2281    Keyboard tracking amount
2282
2283VCA:
2284    Env-2 modulation
2285    LFO modulation
2286
2287ADSR-1:
2288    A/D/S/R
2289    Keyboard tracking amount
2290    Invert
2291
2292ADSR-2:
2293    A/D/S/R
2294    Keyboard tracking amount
2295
2296Pan:
2297    Stereo panning of layer
2298
2299All of the above 40 or so parameters are part of the layer emulation and are
2300separately configurable.
2301
2302The keyboard can operate in several different modes which are selectable from
2303the Poly and Keyboard mode sections. The first main one is Dual, Split and All.
2304Dual configure the two synth layers to be placed on top of each other. Split
2305configures them to be next to each other and by double clicking the split
2306button you can then enter a new split point by pressing a key. The All setting
2307gives you a single layer with all 8 voices active. These settings are for the
2308whole synth.
2309
2310The Poly section provides different playing modes for each layer independently.
2311There are 3 settings: Solo give the layer access to a single voice for playing
2312lead solos. Unison give the layer however many voices it is allowed (8 if in
2313the All mode, 4 otherwise) and stacks them all on top of each other. This is
2314similar to Solo but with multiple voices layered onto each other. Unison is
2315good for fat lead sounds, Solo better for mono bass lines where Unison might
2316have produced unwanted low frequency signal phasing. The third option is Poly
2317mode 1 where the synth allocates a single voice to each key you press. The
2318original also had Poly mode 2 which was not available at the first bristol
2319release - this mode would apply as many notes as available to the keys you
2320pressed: 1 key = 8 voices as in Unison, with 2 keys pressed each would get 4
2321voices each, 4 keys pressed would get 2 voices and mixtures in there for other
2322key combinations. This may be implemented in a future release but it is a
2323rather left field option and would have to be put into the MIDI library that
2324controls the voice assignments.
2325
2326The arpeggiator integrated into bristol is a general design and will differ
2327from the original. The default settings are 4 buttons controlling the range
2328of the arpeggiation, from 1 to 4 octaves, 4 buttons controlling the mode as
2329Up, Down, Up+Down or Random sequencing of the notes available, and 4 notes
2330that are preloaded into the sequence.
2331
2332Finally there are two global controls that are outside of the memories - the
2333rate and clock source (however externally driven MTC has not been implemented
2334yet). It is noted that the Arpeggiator settings are separate from the sequence
2335information, ie, Up/Down/Rnd, the range and the arpeggiator clock are not the
2336same as the note memory, this is discussed further in the memory setting
2337section below.
2338
2339It is possible to redefine the arpeggiator sequence: select the function
2340button on the right hand side, then select any of the arpeggiator mode buttons,
2341this will initiate the recording. It does not matter which of the mode is
2342selected since they will all start the recording sequence. When you have
2343finished then select the mode button again (you may want to clear the function
2344key if still active). You can record up to 256 steps, either from the GUI
2345keyboard or from a master controller and the notes are saved into a midi
2346key memory.
2347
2348There is no capability to edit the sequences once they have been entered, that
2349level of control is left up to separate MIDI sequencers for which there are
2350many available on Linux. Also, the note memory is actually volatile and will
2351be lost when the emulation exits. If you want to save the settings then you
2352have to enter them from the GUI keyboard or make sure that the GUI is linked
2353up to the master keyboard MIDI interface - you need to be able to see the
2354GUI keyboard following the notes pressed on the master keyboard since only
2355when the GUI sees the notes can it store them for later recall. If the GUI
2356did view the sequence entered here then it will be saved with the patch in
2357a separate file (so that it can be used with other bristol synths).
2358
2359In addition to the Arpeggiator there is the 'Chord' control. The original
2360synth had two green panel buttons labelled 'Hold', they were actually similar
2361to the sustain pedal on a MIDI keyboard or piano, with one for each layer of
2362the synth. They have been redefined here as Chord memory. When activated the
2363layer will play a chord of notes for every key press. The notes are taken from
2364separate chord memory in the Arpeggiator sequencer. The result is very similar
2365to the Unison mode where every voice is activated for a single key, the
2366difference here is that every voice may be playing a different note to give
2367phat chords. To configure a chord you enable the function key and the target
2368Hold button to put the synth into chord learning mode, play a set of notes
2369(you don't have to hold them down), and click again to finalise the chord.
2370If there are more chord notes than voices available then all voices will
2371activate. If there are more voices than notes then you will be able to play
2372these chord polyphonically, for example, if you have 8 voices and entered
2373just 4 chorded notes then you will have 2 note polyphony left. You should
2374also be able to play arpeggiations of chords. The maximum number of notes
2375in a chord is 8.
2376
2377The synth has a modifier panel which functions as performance options which
2378can be applied selectively to different layers:
2379
2380    Bender:
2381        This is the depth of the settings and is mapped by the engine to
2382        continuous controller 1 - the 'Mod' wheel. The emulation also tracks
2383        the pitch wheel separately.
2384
2385    Bend to VCO
2386        This applies an amount of pitch bend from the Mod wheel selectively
2387        to either VCO-1 and/or VCO-2. These settings only affect the Mod
2388        layers selected from the main panel. Subtle modifications applied in
2389        different amounts to each oscillator can widen the sound considerable
2390        by introducing small amounts of oscillator phasing.
2391
2392    Bend to VCF
2393        Affects the depth of cutoff to the filter with on/off available. Again
2394        only applies to layers activate with the Mod setting.
2395
2396    LFO to VCO:
2397        The mod panel has a second global LFO producing a sine wave. This can
2398        be driven in selectable amounts to both VCO simultaneously. Layers are
2399        selected from the Mod buttons.
2400
2401    LFO to VCF:
2402        The LFO can be driven in selectable amounts to both VCO or to the VCF.
2403        Layers are selected from the Mod buttons.
2404
2405    Delay:
2406        This is the rise time of the LFO from the first note pressed. There is
2407        no apparent frequency control of the second LFO however bristol allows
2408        the frequency and gain of the LFO to track velocity using function B4
2409        (see below for function settings). Since there is only one LFO per
2410        emulation then the velocity tracking can be misleading as it only
2411        tracks from a single voice and may not track the last note. For this
2412        reason it can be disabled. Using a tracking from something like channel
2413        pressure is for future study.
2414
2415    Glide:
2416        Glissando between key frequencies, selectable to be either just to the
2417        upper layer, off, or to both layers.
2418
2419    Transpose:
2420        There are two transpose switches for the lower and upper layers
2421        respectively. The range is +/1 one octave.
2422
2423Modifier panel settings are saved in the synth memories and are loaded with
2424the first memory (ie, with dual loaded memories discussed below). The ability
2425to save these settings in memory is an MKS-80 feature that was not available
2426in either the Jupiter-6 or -8.
2427
2428There are several parts to the synth memories. Layer parameters govern sound
2429generation, synth parameters that govern operating modes such Dual/Split,
2430Solo/Unison etc, Function settings that modify internal operations, the
2431parameters for the mod panel and finally the Arpeggiator sequences. These
2432sequences are actually separate from the arpeggiator settings however that
2433was covered in the notes above.
2434
2435When a patch is loaded then only the layer parameters are activated so that the
2436new sound can be played, and the settings are only for the selected layer. This
2437means any chord or arpeggiation can be tried with the new voice active.
2438
2439When a memory is 'dual loaded' by a double click on the Load button then all
2440the memory settings will be read and activated: the current layer settings,
2441synth settings, operational parameters including the peer layer parameters
2442for dual/split configurations. Dual loading of the second layer will only
2443happen if the memory was saved as a split/double with a peer layer active.
2444
2445The emulation adds several recognised Jupiter-6 capabilities that were not a
2446part of the Jupiter-8 product. These are
2447
2448    1.  PW setting as well as PWM
2449    2.  Cross modulation can be amplified with envelope-1 for FM type sounds
2450    3.  Sync can be set in either direction (DCO1 to 2 or DCO2 to 1)
2451    4.  The waveforms for DCO 1&2 are not exclusive but mixable
2452    5.  The LFO to VCA is a continuous controller rather than stepped
2453    6.  The envelope keyboard tracking is continuous rather than on/off
2454    7.  The filter option is multimode LP/BP/HP rather than 12/24dB
2455    8.  Layer detune is configurable
2456    9.  Layer transpose switches are available
2457    10. Arpeggiator is configurable on both layers
2458
2459Beyond these recognised mods it is also possible to select any/all DCO
2460transpositions which further fattens up the sound as it allows for more
2461harmonics. There is some added detune between the waveforms with its depth
2462being a function of the -detune setting. Separate Pan and Balance controls
2463have been implemented, Pan is the stereo positioning and is configurable per
2464layer. Balance is the relative gain between each of the layers.
2465
2466There are several options that can be configured from the 'f' button
2467in the MIDI section. When you push the f(n) button then the patch and bank
2468buttons will not select memory locations but display the on/off status of 16
2469algorithmic changes to the emulation. Values are saved in the synth memories.
2470These are bristol specific modifications and may change between releases unless
2471otherwise documented.
2472
2473F(n):
2474
2475    f(p1): Env-1 retriggers
2476    f(p2): Env-1 conditionals
2477    f(p3): Env-1 attack sensitivity
2478    f(p4): Env-2 retriggers
2479    f(p5): Env-2 conditionals
2480    f(p6): Env-2 attack sensitivity
2481    f(p7): Noise per voice/layer
2482    f(p8): Noise white/pink
2483
2484    f(b1): LFO-1 per voice/layer
2485    f(b2): LFO-1 Sync to Note ON
2486    f(b3): LFO-1 velocity tracking
2487    f(b4): Arpeggiator retrigger
2488    f(b5): LFO-2 velocity tracking
2489    f(b6): NRP enable
2490    f(b7): Debug MIDI
2491    f(b8): Debug GUI controllers
2492
2493The same function key also enables the learning function of the arpeggiator
2494and chord memory, as explained above. When using the arpeggiator you may want
2495to test with f(b4) enabled, it will give better control of the filter envelope.
2496
2497
2498Other differences to the original are the Hold keys on the front panel. These
2499acted as sustain pedals however for the emulation that does not function very
2500well. With the original the buttons were readily available whilst playing and
2501could be used manually, something that does not work well with a GUI and a
2502mouse. For this reason they were re-used for 'Unison Chording' discussed above.
2503Implementing them as sustain pedals would have been an easier if less flexible
2504option and users are advised that the bristol MIDI library does recognise the
2505sustain controller as the logical alternative here.
2506
2507Another difference would be the quality of the sound. The emulation is a lot
2508cleaner and not as phat as the original. You might say it sounds more like
2509something that comes from Uranus rather than Jupiter and consideration was
2510indeed given to a tongue in cheek renaming of the emulation..... The author is
2511allowed this criticism as he wrote the application - as ever, if you want the
2512original sound then buy the original synth (or get Rolands own emulation?).
2513
2514A few notes are required on oscillator sync since by default it will seem to
2515be quite noisy. The original could only product a single waveform at a single
2516frequency at any one time. Several emulators, including this one, use a bitone
2517oscillator which generates complex waveforms. The Bristol Bitone can generate
2518up to 4 waveforms simultaneously at different levels for 5 different harmonics
2519and the consequent output is very rich, the waves can be slightly detuned,
2520the pulse output can be PW modulated. As with all the bristol oscillators that
2521support sync, the sync pulse is extracted as a postive leading zero crossing.
2522Unfortunately if the complex bitone output is used as input to sync another
2523oscillator then the result is far too many zero crossings to extract a good
2524sync. For the time being you will have to simplify the sync source to get a
2525good synchronised output which itself may be complex wave. A future release
2526will add a sync signal from the bitone which will be a single harmonic at the
2527base frequency and allow both syncing and synchronised waveform outputs to be
2528arbitrary.
2529
2530
2531
2532
2533    CRUMAR BIT-1, BIT-99, BIT-100
2534    -----------------------------
2535
2536I was considering the implementation of the Korg-800, a synth I used to borrow
2537without having due respect for it - it was a late low cost analogue having
2538just one filter for all the notes and using the mildly annoying data entry
2539buttons and parameter selectors. Having only one filter meant that with key
2540tracking enabled the filter would open up as different keys were pressed,
2541wildly changing the sound of active notes. Anyway, whilst considering how to
2542implement the entry keys (and having features like the mouse tracking the
2543selectors of the parameter graphics) I was reminded of this synthesizer. It
2544was developed by Crumar but released under the name 'Bit' as the Crumar name
2545was associated with cheesy roadrunner electric pianos at the time (also
2546emulated by Bristol). This came out at the same time as the DX-7 but for
2547half the price, and having the split and layer facilities won it several awards
2548that would otherwise have gone to the incredibly innovative DX. However with
2549the different Crumar models being released as the digital era began they kind
2550of fell between the crack. It has some very nice mod features though, it was
2551fun to emulate and hopefully enjoyable to play with.
2552
2553As a side note, the Korg Poly-800 is now also emulated by bristol
2554
2555A quick rundown of the Bit features are below. The different emulated models
2556have slightly different default parameter values and/or no access to change
2557them:
2558
2559    Two DCO with mixed waveforms.
2560    VCF with envelope
2561    VCA with envelope
2562    Two LFO able to mod all other components, controlled by the wheel and key
2563    velocity, single waveform, one had ramp and the other sawtooth options.
2564
2565The envelopes were touch sensitive for gain but also for attack giving plenty
2566of expressive capabilities. The bristol envelope, when configured for velocity
2567sensitive parameters (other than just gain) will also affect the attack rate.
2568
2569The front panel had a graphic that displayed all the available parameters and
2570to change then you had to select the "Address" entry point then use the up/down
2571entry buttons to change its value. Bristol uses this with the addition that the
2572mouse can click on a parameter to start entering modifications to it.
2573
2574The emulation includes the 'Compare' and 'Park' features although they are a
2575little annoying without a control surface. They work like this (not quite the
2576same as the original): When you select a parameter and change it's value then
2577the changes are not actually made to the active program, they just change the
2578current sounds. The Compare button can be used to flip between the last loaded
2579value and the current modified one to allow you to see if you prefer the sound
2580before or after the modification.
2581
2582If you do prefer the changes then to keep them you must "Park" them into the
2583running program before saving the memory. At the time of writing the emulation
2584emulated the double click to park&write a memory, however it also has an actual
2585Save button since 'Save to Tape' is not a feature here. You can use park and
2586compare over dual loaded voices: unlike the original, which could only support
2587editing of sounds when not in split/double, this emulation allows you to edit
2588both layers by selecting the upper/lower entry buttons and then using the
2589sensitive panel controls to select the addressed parameters. This is not the
2590default behaviour, you first have to edit address 102 and increment it. Then,
2591each layer can be simultaneously edited and just needs to be parked and saved
2592separately. The Park/Compare cache can be disabled by editing parameter DE 101,
2593changes are then made to the synth memory and not the cache.
2594
2595The memories are organised differently to the original. It had 99 memories, and
2596the ones from 75 and above were for Split and Layered memories. Bristol can
2597have all memories as Split or Layer. When you save a memory it is written to
2598memory with a 'peer' program locator. When you load it with a single push on
2599the Load button it returns to the active program, but if you double click then
2600its 'peer' program is loaded into the other layer: press Load once to get the
2601first program entered, then press it again - the Split/Layer will be set to
2602the value from the first program and the second layer will be loaded. This
2603naturally requires that the first memory was saved with Split/Layer enabled.
2604It is advised (however not required) that this dual loading is done from the
2605lower layer. This sequence will allow the lower layer to configure certain
2606global options that the upper layer will not overwrite, for example the layer
2607volumes will be select from the lower layer when the upper layer is dual
2608loaded.
2609
2610For MIDI program change then since this quirky interface cannot be emulated
2611then the memories above 75 will be dual loaded, the rest will be single loaded.
2612
2613Bristol will also emulate a bit-99 and a Bit-99m2 that includes some parameter
2614on the front panel that were not available on the original. The engine uses the
2615exact same algorithm for all emulations but the GUI presents different sets of
2616parameters on the front panel. Those that are not displayed can only be accessed
2617from the data entry buttons. The -99m2 put in a few extra features (ie, took a
2618few liberties) that were not in the original:
2619
2620    DCO adds PWM from the LFO, not in the original
2621    DCO-2 adds Sync to DCO-1, also not in the original
2622    DCO-2 adds FM from DCO-1
2623    DCO add PWM from Envelope
2624    Glide has been added
2625    DCO harmonics are not necessarily exclusive
2626    Various envelope option for LFO
2627    S&H LFO modulation
2628
2629The reason these were added was that bristol could already do them so were
2630quite easy to incorporate, and at least gave two slightly different emulations.
2631
2632The oscillators can work slightly differently as well. Since this is a purely
2633digital emulations then the filters are a bit weak. This is slightly compensated
2634by the ability to configure more complex DCO. The transpose selectors (32', 16',
26358' and 2') were exclusive in the original. That is true here also, however if
2636controllers 84 and 85 are set to zero then they can all work together to fatten
2637out the sound. Also, the controllers look like boolean however that is only the
2638case if the data entry buttons are used, if you change the value with the data
2639entry pot then they act more like continuous drawbars, a nice effect however
2640the display will not show the actual value as the display remains boolean, you
2641have to use your ear. The square wave is exclusive and will typically only
2642function on the most recently selected (ie, typically highest) harmonic.
2643
2644The same continuous control is also available on the waveform selectors. You
2645can mix the waveform as per the original however the apparent boolean selectors
2646are again continuous from 0.0 to 1.0. The net result is that the oscillators
2647are quite Voxy having the ability to mix various harmonic levels of different
2648mixable waveforms.
2649
2650The stereo mode should be correctly implemented too. The synth was not really
2651stereo, it had two outputs - one for each layer. As bristol is stereo then each
2652layer is allocated to the left or right channel. In dual or split they came
2653out separate feeds if Stereo was selected. This has the rather strange side
2654effect of single mode with 6 voices. If stereo is not selected then you have
2655a mono synth. If stereo is selected then voices will exit from a totally
2656arbitrary output depending on which voices is allocated to each note.
2657In contrast to the original the Stereo parameter is saved with the memory and
2658if you dual load a split/layer it is taken from the first loaded memory only.
2659The implementation actually uses two different stereo mixes selectable with the
2660Stereo button: Mono is a centre pan of the signal and Stereo pans hardleft and
2661hardright respectively. These mixes can be changed with parameters 110 to 117
2662using extended data entry documented below.
2663
2664The default emulation takes 6 voices for unison and applies 3+3 for the split
2665and double modes. You can request more, for example if you used '-voices 16'
2666at startup then you would be given 8+8. As a slight anomaly you cant request 32
2667voices - this is currently interpreted as the default and gives you 3+3.
2668
2669The bit-1 did not have the Stereo control - the controller presented is the
2670Unison button. You can configure stereo from the extended data entry ID 110 and
2671111 which give the LR channel panning for 'Mono' setting, it should default to
2672hard left and right panning. Similarly the -99 emulations do not have a Unison
2673button, the capability is available from DE 80.
2674
2675The memories for the bit-1 and bit-99 should be interchangeable however the
2676code maintains separate directories.
2677
2678There are three slightly different Bit GUI's. The first is the bit-1 with a
2679limited parameter set as it only had 64 parameters. The second is the bit-99
2680that included midi and split options in the GUI and has the white design that
2681was an offered by Crumar. The third is a slightly homogenous design that is
2682specific to bristol, similar to the black panelled bit99 but with a couple of
2683extra parameters. All the emulations have the same parameters, some require you
2684use the data entry controls to access them. This is the same as the original,
2685there were diverse parameters that were not in memories that needed to be
2686entered manually every time you wanted the feature. The Bristol Bit-99m2 has
2687about all of the parameters selectable from the front panel however all of the
2688emulations use the same memories so it is not required to configure them at
2689startup (ie, they are saved). The emulation recognises the following parameters:
2690
2691    Data Entry  1 LFO-1 triangle wave selector (exclusive switch)
2692    Data Entry  2 LFO-1 ramp wave selector (exclusive switch)
2693    Data Entry  3 LFO-1 square wave selector (exclusive switch)
2694    Data Entry  4 LFO-1 route to DCO-1
2695    Data Entry  5 LFO-1 route to DCO-2
2696    Data Entry  6 LFO-1 route to VCF
2697    Data Entry  7 LFO-1 route to VCA
2698    Data Entry  8 LFO-1 delay
2699    Data Entry  9 LFO-1 frequency
2700    Data Entry 10 LFO-1 velocity to frequency sensitivity
2701    Data Entry 11 LFO-1 gain
2702    Data Entry 12 LFO-1 wheel to gain sensitivity
2703
2704    Data Entry 13 VCF envelope Attack
2705    Data Entry 14 VCF envelope Decay
2706    Data Entry 15 VCF envelope Sustain
2707    Data Entry 16 VCF envelope Release
2708    Data Entry 17 VCF velocity to attack sensitivity (and decay/release)
2709    Data Entry 18 VCF keyboard tracking
2710    Data Entry 19 VCF cutoff
2711    Data Entry 20 VCF resonance
2712    Data Entry 21 VCF envelope amount
2713    Data Entry 22 VCF velocity to gain sensitivity
2714    Data Entry 23 VCF envelope invert
2715
2716    Data Entry 24 DCO-1 32' harmonic
2717    Data Entry 25 DCO-1 16' harmonic
2718    Data Entry 26 DCO-1 8' harmonic
2719    Data Entry 27 DCO-1 4' harmonic
2720    Data Entry 28 DCO-1 Triangle wave
2721    Data Entry 29 DCO-1 Ramp wave
2722    Data Entry 30 DCO-1 Pulse wave
2723    Data Entry 31 DCO-1 Frequency 24 semitones
2724    Data Entry 32 DCO-1 Pulse width
2725    Data Entry 33 DCO-1 Velocity PWM
2726    Data Entry 34 DCO-1 Noise level
2727
2728    Data Entry 35 DCO-2 32' harmonic
2729    Data Entry 36 DCO-2 16' harmonic
2730    Data Entry 37 DCO-2 8' harmonic
2731    Data Entry 38 DCO-2 4' harmonic
2732    Data Entry 39 DCO-2 Triangle wave
2733    Data Entry 40 DCO-2 Ramp wave
2734    Data Entry 41 DCO-2 Pulse wave
2735    Data Entry 42 DCO-2 Frequency 24 semitones
2736    Data Entry 43 DCO-2 Pulse width
2737    Data Entry 44 DCO-2 Env to pulse width
2738    Data Entry 45 DCO-2 Detune
2739
2740    Data Entry 46 VCA velocity to attack sensitivity (and decay/release)
2741    Data Entry 47 VCA velocity to gain sensitivity
2742    Data Entry 48 VCA overall gain ADSR
2743    Data Entry 49 VCA Attack
2744    Data Entry 50 VCA Decay
2745    Data Entry 51 VCA Sustain
2746    Data Entry 52 VCA Release
2747
2748    Data Entry 53 LFO-2 triangle wave selector (exclusive switch)
2749    Data Entry 54 LFO-2 saw wave selector (exclusive switch)
2750    Data Entry 55 LFO-2 square wave selector (exclusive switch)
2751    Data Entry 56 LFO-2 route to DCO-1
2752    Data Entry 57 LFO-2 route to DCO-2
2753    Data Entry 58 LFO-2 route to VCF
2754    Data Entry 59 LFO-2 route to VCA
2755    Data Entry 60 LFO-2 delay
2756    Data Entry 61 LFO-2 frequency
2757    Data Entry 62 LFO-2 velocity to frequency sensitivity
2758    Data Entry 63 LFO-2 gain
2759    Data Entry 12 LFO-2 wheel to gain sensitivity
2760
2761    Data Entry 64 Split
2762    Data Entry 65 Upper layer transpose
2763    Data Entry 66 Lower Layer gain
2764    Data Entry 67 Upper Layer gain
2765
2766The following were visible in the Bit-99 graphics only:
2767
2768    Data Entry 68 MIDI Mod wheel depth
2769    Data Entry 69 MIDI Velocity curve (0 = soft, 10=linear, 25 = hard)
2770    Data Entry 70 MIDI Enable Debug
2771    Data Entry 71 MIDI Enable Program Change
2772    Data Entry 72 MIDI Enable OMNI Mode
2773    Data Entry 73 MIDI Receive channel
2774
2775    Data Entry 74 MIDI Mem Search Upwards
2776    Data Entry 75 MIDI Mem Search Downwards
2777    Data Entry 76 MIDI Panic (all notes off)
2778
2779Most of the MIDI options are not as per the original. This is because they are
2780implemented in the bristol MIDI library and not the emulation.
2781
2782The following were added which were not really part of the Bit specifications
2783so are only visible on the front panel of the bit100. For the other emulations
2784they are accessible from the address entry buttons.
2785
2786    Data Entry 77 DCO-1->DCO-2 FM
2787    Data Entry 78 DCO-2 Sync to DCO-1
2788    Data Entry 79 Keyboard glide
2789    Data Entry 80 Unison
2790
2791    Data Entry 81 LFO-1 SH
2792    Data Entry 82 LFO-1 PWM routing for DCO-1
2793    Data Entry 83 LFO-1 PWM routing for DCO-2
2794    Data Entry 84 LFO-1 wheel tracking frequency
2795    Data Entry 85 LFO-1 velocity tracking gain
2796    Data Entry 86 LFO-1 per layer or per voice
2797
2798    Data Entry 87 LFO-2 SH
2799    Data Entry 88 LFO-2 PWM routing for DCO-1
2800    Data Entry 89 LFO-2 PWM routing for DCO-2
2801    Data Entry 90 LFO-2 wheel tracking frequency
2802    Data Entry 91 LFO-2 velocity tracking gain
2803    Data Entry 92 LFO-2 per layer or per voice
2804
2805    Data Entry 93 ENV-1 PWM routing for DCO-1
2806    Data Entry 94 ENV-1 PWM routing for DCO-2
2807
2808    Data Entry 95 DCO-1 restricted harmonics
2809    Data Entry 96 DCO-2 restricted harmonics
2810
2811    Data Entry 97 VCF Filter type
2812    Data Entry 98 DCO-1 Mix
2813
2814    Data Entry 99 Noise per layer
2815
2816    Data Entry 00 Extended data entry (above 99)
2817
2818Extended data entry is for all parameters above number 99. Since the displays
2819only have 2 digits it is not totally straightforward to enter these values and
2820they are only available in Single mode, not dual or split - strangely similar
2821to the original specification for editing memories. These are only activated for
2822the lower layer loaded memory, not for dual loaded secondaries or upper layer
2823loaded memories. You can edit the upper layer voices but they will be saved with
2824their original extended parameters. This may seem correct however it is possible
2825to edit an upper layer voice, save it, and have it sound different when next
2826loaded since the extended parameters were taken from a different lower layer.
2827This is kind of intentional but if in doubt then only ever dual load voices from
2828the lower layer and edit them in single mode (not split or layer). Per default
2829the emulation, as per the original, will not allow voice editing in Split or
2830Layer modes however it can be enabled with DE 102.
2831
2832All the Bit emulations recognise extended parameters. They are somewhat in a
2833disorganised list as they were built in as things developed. For the most part
2834they should not be needed.
2835The Bit-100 includes some in its silkscreen, for the others you can access them
2836as follows:
2837
28381. deselect split or double
28392. select addr entry
28403. use 0..9 buttons to enter address 00
28414. increment value to '1'. Last display should show EE (Extended Entry)
2842
28435. select last two digits of desired address with 0-9 buttons
28446. change value (preferably with pot).
2845
28467. when finished, select address 00 again (this is now actually 100) to exit
2847
2848    Data Entry 100 Exit extended data entry
2849    Data Entry 101 enable WriteThru scratchpad (disables park and compare)
2850    Data Entry 102 enable layer edits on Split/Double memories.
2851    Data Entry 103 LFO-1 Sync to note on
2852    Data Entry 104 LFO-2 Sync to note on
2853    Data Entry 105 ENV-1 zero retrigger
2854    Data Entry 106 ENV-2 zero retrigger
2855    Data Entry 107 LFO-1 zero retrigger
2856    Data Entry 108 LFO-2 zero retrigger
2857    Data Entry 109 Debug enable (0 == none, 5 == persistent)
2858
2859    Data Entry 110 Left channel Mono gain, Lower
2860    Data Entry 111 Right channel Mono gain, Lower
2861    Data Entry 112 Left channel Stereo gain, Lower
2862    Data Entry 113 Right channel Stereo gain, Lower
2863    Data Entry 114 Left channel Mono gain, Upper
2864    Data Entry 115 Right channel Mono gain, Upper
2865    Data Entry 116 Left channel Stereo gain, Upper
2866    Data Entry 117 Right channel Stereo gain, Upper
2867    Data Entry 118 Bit-100 flag
2868    Data Entry 119 Temperature sensitivity
2869
2870    Data Entry 120 MIDI Channel tracking layer-2 (same/different channel)
2871    Data Entry 121 MIDI Split point tracking layer-2 (same/different split)
2872    Data Entry 122 MIDI Transpose tracking (layer-2 or both layers) N/A
2873    Data Entry 123 MIDI NRP enable
2874
2875    Data Entry 130 Free Memory Search Up
2876    Data Entry 131 Free Memory Search Down
2877    Data Entry 132 ENV-1 Conditional
2878    Data Entry 133 ENV-2 Conditional
2879    Data Entry 134 LFO-1 ENV Conditional
2880    Data Entry 135 LFO-2 ENV Conditional
2881    Data Entry 136 Noise white/pink
2882    Data Entry 137 Noise pink filter (enable DE 136 Pink)
2883    Data Entry 138 Glide duration 0 to 30 seconds
2884    Data Entry 139 Emulation gain level
2885
2886    Data Entry 140 DCO-1 Square wave gain
2887    Data Entry 141 DCO-1 Subharmonic level
2888    Data Entry 142 DCO-2 Square wave gain
2889    Data Entry 143 DCO-2 Subharmonic level
2890
2891The 150 range will be incorporated when the Arpeggiator code is more stable,
2892currently in development for the Jupiter. This is anticipated in 0.20.4:
2893
2894    Data Entry 150 Arpeggiator Start/Stop
2895    Data Entry 151 Arpeggiator mode D, U/D, U or Random
2896    Data Entry 152 Arpeggiator range 1, 2, 3, 4 octaves
2897    Data Entry 153 Arpeggiator rate
2898    Data Entry 154 Arpeggiator external clock
2899    Data Entry 155 Arpeggiator retrigger envelopes
2900    Data Entry 156 Arpeggiator poly-2 mode
2901    Data Entry 157 Chord Enable
2902    Data Entry 158 Chord Relearn
2903    Data Entry 159 Sequencer Start/Stop
2904    Data Entry 160 Sequencer mode D, U/D, U or Random
2905    Data Entry 161 Sequencer range 1, 2, 3, 4 octaves
2906    Data Entry 162 Sequencer rate
2907    Data Entry 163 Sequencer external clock
2908    Data Entry 164 Sequencer retrigger envelopes
2909    Data Entry 165 Sequencer Relearn
2910
2911The following can be manually configured but are really for internal uses only
2912and will be overwritten when memories are saved to disk. The Split/Join flag,
2913for example, is used by dual loading memories to configure the peer layer to
2914load the memory in DE-198, and the stereo placeholder for configuring the stereo
2915status of any single loaded memory.
2916
2917    Data Entry 193 Reserved: save bit-1 formatted memory
2918    Data Entry 194 Reserved: save bit-99 formatted memory
2919    Data Entry 195 Reserved: save bit-100 formatted memory
2920    Data Entry 196 Reserved: Split/Join flag - internal use
2921    Data Entry 197 Reserved: Stereo placeholder - internal use
2922    Data Entry 198 Reserved: Peer memory pointer - internal use
2923    Data Entry 199 Reserved: DCO-2 Wheel mod (masks entry 12) - internal use
2924
2925The tuning control in the emulation is on the front panel rather than on the
2926rear panel as in the original. It had a keyboard sensitivity pot however that
2927is achieved separately with bristol using velocity curves from the MIDI control
2928settings. The front panel rotary defaults to 0% tuning and is not saved in the
2929memory. The front panel gain controls are also not saved in the memory and
2930default to 0.8 at startup.
2931
2932The net emulation is pretty intensive as it runs with over 150 operational
2933parameters.
2934
2935A few notes are required on oscillator sync since by default it may seem to
2936be quite noisy. The original could only produce a single waveform at a single
2937frequency at any one time. Several emulators, including this one, use a bitone
2938oscillator which generates complex waveforms. The Bristol Bitone can generate
2939up to 4 waveforms simultaneously at different levels for 5 different harmonics
2940and the consequent output is very rich, the waves can be slightly detuned,
2941the pulse output can be PW modulated. As with all the bristol oscillators that
2942support sync, the sync pulse is extracted as a postive leading zero crossing.
2943Unfortunately if the complex bitone output is used as input to sync another
2944oscillator then the result is far too many zero crossings to extract a good
2945sync.
2946Code has been implemented to generate a second sync source using a side output
2947sync wave which is then fed to a sideband sync input on the oscillator, the
2948results are far better
2949
2950
2951
2952
2953    Sequential Circuits Prophet Pro-One
2954    -----------------------------------
2955
2956Sequential circuits released amongst the first truly polyphonic synthesisers
2957where a group of voice circuits (5 to 10 of them) were linked to an onboard
2958computer that gave the same parameters to each voice and drove the notes to
2959each voice from the keyboard. The costs were nothing short of exhorbitant and
2960this lead to Sequential releasing a model with just one voice board as a mono-
2961phonic equivalent. The sales ran up to 10,000 units, a measure of its success
2962and it continues to be recognised alongside the Mini Moog as a fat bass synth.
2963
2964The design of the Prophet synthesisers follows that of the Mini Moog. It has
2965three oscillators one of them as a dedicated LFO. The second audio oscillator
2966can also function as a second LFO, and can cross modulate oscillator A for FM
2967type effects. The audible oscillators have fixed waveforms with pulse width
2968modulation of the square wave. These are then mixed and sent to the filter with
2969two envelopes, for the filter and amplifier.
2970
2971The Pro-1 had a nice bussing matrix where 3 different sources, LFO, Filter Env
2972and Oscillator-B could be mixed in varying amounts to two different modulation
2973busses and each bus could then be chosen as inputs to modulation destinations.
2974One bus was a direct bus from the mixed parameters, the second bus was under
2975the modwheel to give configurable expressive control.
2976
2977LFO:
2978
2979    Frequency: 0.1 to 50 Hz
2980    Shape: Ramp/Triangle/Square. All can be selected, none selected should
2981    give a sine wave
2982
2983Modulations:
2984
2985    Source:
2986
2987        Filter Env amount to Direct or Wheel Mod busses
2988        Oscillator-B amount to Direct or Wheel Mod busses
2989        LFO to Direct amount or Wheel Mod busses
2990
2991    Dest:
2992
2993        Oscillator-A frequency from Direct or Wheel Mod busses
2994        Oscillator-A PWM from Direct or Wheel Mod busses
2995        Oscillator-B frequency from Direct or Wheel Mod busses
2996        Oscillator-B PWM from Direct or Wheel Mod busses
2997        Filter Cutoff from Direct or Wheel Mod busses
2998
2999Osc-A:
3000
3001    Tune: +/-7 semitones
3002    Freq: 16' to 2' in octave steps
3003    Shape: Ramp or Square
3004    Pulse Width: only when Square is active.
3005    Sync: synchronise to Osc-B
3006
3007Osc-B:
3008
3009    Tune: +/-7 semitones
3010    Freq: 16' to 2' in octave steps
3011    Fine: +/- 7 semitones
3012    Shape: Ramp/Triangle/Square
3013    Pulse Width: only when Square is active.
3014    LFO: Lowers frequency by 'several' octaves.
3015    KBD: enable/disable keyboard tracking.
3016
3017Mixer:
3018
3019    Gain for Osc-A, Osc-B, Noise
3020
3021Filter:
3022
3023    Cutoff: cuttof frequency
3024    Res: Resonance/Q/Emphasis
3025    Env: amount of modulation affecting to cutoff.
3026    KBD: amount of keyboard trackingn to cutoff
3027
3028Envelopes: One each for PolyMod (filter) and amplifier.
3029
3030    Attack
3031    Decay
3032    Sustain
3033    Release
3034
3035Sequencer:
3036
3037    On/Off
3038    Record Play
3039    Rate configured from LFO
3040
3041Arpeggiator:
3042
3043    Up/Off/UpDown
3044    Rate configured from LFO
3045
3046Glide:
3047
3048    Amount of portamento
3049    Auto/Normal - first key will/not glide.
3050
3051Global:
3052
3053    Master Tune
3054    Master Volume
3055
3056
3057Memories are loaded by selecting the 'Bank' button and typing in a two digit
3058bank number followed by load. Once the bank has been selected then 8 memories
3059from the bank can be loaded by pressing another memory select and pressing
3060load. The display will show free memories (FRE) or programmed (PRG).
3061There is an additional Up/Down which scan for the next program and a 'Find'
3062key which will scan up to the next unused memory location.
3063
3064The original supported two sequences, Seq1 and Seq2, but these have not been
3065implemented. Instead the emulator will save a sequence with each memory location
3066which is a bit more flexible if not totally in the spirit of the original.
3067
3068The Envelope amount for the filter is actually 'Mod Amount'. To get the filter
3069envelope to drive the filter it must be routed to the filter via a mod bus. This
3070may differ from the original.
3071Arpeggiator range is two octaves.
3072The Mode options may not be correctly implemented due to the differences in
3073the original being monophonic and the emulator being polyphonic. The Retrig is
3074actually 'rezero' since we have separate voices. Drone is a Sustain key that
3075emulates a sustain pedal.
3076Osc-B cannot modulate itself in polyphonic mode (well, it could, it's just that
3077it has not been coded that way).
3078The filter envelope is configured to ignore velocity.
3079
3080The default filters are quite expensive. The -lwf option will select the less
3081computationally expensive lightweight Chamberlain filters which have a colder
3082response but require zonks fewer CPU cycles.
3083
3084
3085
3086
3087    Moog Voyager (Bristol "Explorer")
3088    ---------------------------------
3089
3090This was Robert Moog's last synth, similar in build to the Mini but created
3091over a quarter of a century later and having far, far more flexibility. It
3092was still monophonic, a flashback to a legendary synth but also a bit like
3093Bjorn Borg taking his wooden tennis racket back to Wimbledon long after having
3094retired and carbon fibre having come to pass. I have no idea who uses it and
3095Bjorn also crashed out in the first round. The modulation routing is exceptional
3096if not exactly clear.
3097
3098The Voyager, or Bristol Explorer, is definitely a child of the Mini. It has
3099the same fold up control panel, three and half octave keyboard and very much
3100that same look and feel. It follows the same rough design of three oscillators
3101mixed with noise into a filter with envelopes for the filter and amplifier.
3102In contrast there is an extra 4th oscillator, a dedicated LFO bus also Osc-3
3103can still function as a second LFO here. The waveforms are continuously
3104selected, changing gradually to each form: bristol uses a form of morphing
3105get get similar results. The envelopes are 4 stage rather than the 3 stage
3106Mini, and the effects routing bears no comparison at all, being far more
3107flexible here.
3108
3109Just because its funny to know, Robert Moog once stated that the most difficult
3110part of building and releasing the Voyager was giving it the title 'Moog'. He
3111had sold his company in the seventies and had to buy back the right to use his
3112own name to release this synthesiser as a Moog, knowing that without that title
3113it probably would not sell quite as well as it didn't.
3114
3115Control:
3116
3117    LFO:
3118        Frequency
3119        Sync: LFO restarted with each keypress.
3120
3121    Fine tune +/- one note
3122    Glide 0 to 30 seconds.
3123
3124Modulation Busses:
3125
3126    Two busses are implemented. Both have similar capabilities but one is
3127    controlled by the mod wheel and the other is constantly on. Each bus has
3128    a selection of sources, shaping, destination selection and amount.
3129
3130    Wheel Modulation: Depth is controller by mod wheel.
3131
3132        Source: Triwave/Ramp/Sample&Hold/Osc-3/External
3133        Shape: Off/Key control/Envelope/On
3134        Dest: All Osc Frequency/Osc-2/Osc-3/Filter/FilterSpace/Waveform (*)
3135        Amount: 0 to 1.
3136
3137    Constant Modulation: Can use Osc-3 as second LFO to fatten sound.
3138
3139        Source: Triwave/Ramp/Sample&Hold/Osc-3/External
3140        Shape: Off/Key control/Envelope/On
3141        Dest: All Osc Frequency/Osc-2/Osc-3/Filter/FilterSpace/Waveform (*)
3142        Amount: 0 to 1.
3143
3144        * Destination of filter is the cutoff frequency. Filter space is the
3145        difference in cutoff of the two layered filters. Waveform destination
3146        affects the continuously variable oscillator waveforms and allows for
3147        Pulse Width Modulation type effects with considerably more power since
3148        it can affect ramp to triangle for example, not just pulse width.
3149
3150Oscillators:
3151
3152    Oscillator 1:
3153        Octave: 32' to 1' in octave steps
3154        Waveform: Continuous between Triangle/Ramp/Square/Pulse
3155
3156    Oscillator 2:
3157        Tune: Continuous up/down 7 semitones.
3158        Octave: 32' to 1' in octave steps
3159        Waveform: Continuous between Triangle/Ramp/Square/Pulse
3160
3161    Oscillator 3:
3162        Tune: Continuous up/down 7 semitones.
3163        Octave: 32' to 1' in octave steps
3164        Waveform: Continuous between Triangle/Ramp/Square/Pulse
3165
3166    Sync: Synchronise Osc-2 to Osc-1
3167    FM: Osc-3 frequency modulates Osc-1
3168    KBD: Keyboard tracking Osc-3
3169    Freq: Osc-3 as second LFO
3170
3171Mixer:
3172
3173    Gain levels for each source: Osc-1/2/3, noise and external input.
3174
3175Filters:
3176
3177    There are two filters with different configuration modes:
3178
3179    1. Two parallel resonant lowpass filters.
3180    2. Serialised HPF and resonant LPF
3181
3182    Cutoff: Frequency of cutoff
3183    Space: Distance between the cutoff of the two filters.
3184    Resonance: emphasis/Q.
3185    KBD tracking amount
3186    Mode: Select between the two operating modes.
3187
3188Envelopes:
3189
3190    Attack
3191    Decay
3192    Sustain
3193    Release
3194
3195    Amount to filter (positive and negative control)
3196
3197    Velocity sensitivity of amplifier envelope.
3198
3199Master:
3200
3201    Volume
3202    LFO: Single LFO or one per voice (polyphonic operation).
3203    Glide: On/Off portamento
3204    Release: On/Off envelope release.
3205
3206The Explorer has a control wheel and a control pad. The central section has
3207the memory section plus a panel that can modify any of the synth parameters as
3208a real time control. Press the first mouse key here and move the mouse around
3209to adjust the controls. Default values are LFO frequency and filter cutoff
3210but values can be changed with the 'panel' button. This is done by selecting
3211'panel' rather than 'midi', and then using the up/down keys to select parameter
3212that will be affected by the x and y motion of the mouse. At the moment the
3213mod routing from the pad controller is not saved to the memories, and it will
3214remain so since the pad controller is not exactly omnipresent on MIDI master
3215keyboards - the capabilities was put into the GIU to be 'exact' to the design.
3216
3217This synth is amazingly flexible and difficult to advise on its best use. Try
3218starting by mixing just oscillator 1 through to the filter, working on mod
3219and filter options to enrich the sound, playing with the oscillator switches
3220for different effects and then slowly mix in oscillator 2 and 3 as desired.
3221
3222Memories are available via two grey up/down selector buttons, or a three digit
3223number can be entered. There are two rows of black buttons where the top row
3224is 0 to 4 and the second is 5 to 9. When a memory is selected the LCD display
3225will show whether it is is free (FRE) or programmed already (PRG).
3226
3227
3228
3229
3230    Moog Sonic-6
3231    ------------
3232
3233This original design was made by an engineer who had previously worked with
3234Moog on the big modular systems, Gene Zumchek. He tried to get Moog Inc to
3235develop a small standalone unit rather than the behemoths however he could
3236not get heard. After leaving he built a synth eventually called a Sonic-5 that
3237did fit the bill but sales volumes were rather small. He had tied up with a
3238business manager who worked out that the volume was largely due to the name
3239not being known, muSonics.
3240This was quickly overcome by accident. Moog managed to run his company into
3241rather large debt and the company folded. Bill Waytena, working with Zumcheck,
3242gathered together the funding needed to buy the remains of the failed company
3243and hence Moog Inc was labled on the rebadged Sonic-6. Zumcheck was eventually
3244forced to leave this company (or agreed to) as he could not work with Moog.
3245After a few modifications Bob Moog actually used this unit quite widely for
3246lecturing on electronic music. For demonstrative purposes it is far more
3247flexible than any of Moog's own non-modular designs and it was housed in a
3248transport case rather than needing a shipping crate as the modular systems
3249required.
3250
3251The emulation features are given below, but first a few of the differences to
3252the original
3253
3254    Added a mod wheel that can drive GenX/Y.
3255    PWM is implemented on the oscillator B
3256    Installed an ADSR rather than AR, selectable.
3257    No alternative scalings - use scala file support
3258    Not duo or dia phonic. Primarily poly with separated glide.
3259
3260The original was duophonic, kind of. It had a keyboard with high note and low
3261note precedence and the two oscillators could be driven from different notes.
3262Its not really duophony and was reportedly not nice to play but it added some
3263flexibility to the instrument. This features was dropped largley because it
3264is ugly to emulate in a polyphonic environment but the code still has glide
3265only on Osc-B. It has the two LFO that can be mixed, or at full throw of the
3266GenXY mixer they will link X->A and Y->B giving some interesting routing, two
3267osc each with their own LFO driving the LFO from the mod wheel or shaping it
3268with the ADSR. Playing around should give access to X driving Osc-A, then
3269Osc-A and GenY driving Osc-B with Mod and shaping for some investigation of
3270FM synthesis. The gruesome direct output mixer is still there, having the osc
3271and ring-mod bypass the filter and amplifier completely (or can be mixed back
3272into the 'actuated' signal).
3273
3274There is currently no likely use for an external signal even though the
3275graphics are there.
3276
3277The original envelope was AR or ASR. The emulator has a single ADSR and a
3278control switch to select AR (actually AD), ASR, ADSD (MiniMoog envelope) or
3279ADSR.
3280
3281Generator-Y has a S/H function on the noise source for a random signal which
3282replaced the square wave. Generator-X still has a square wave.
3283
3284Modulators:
3285
3286    Two LFO, X and Y:
3287
3288        Gen X:
3289            Tri/Ramp/Saw/Square
3290            Tuning
3291            Shaping from Envelope or Modwheel
3292
3293        Gen Y:
3294            Tri/Ramp/Saw/Rand
3295            Tuning
3296            Shaping from Envelope or Modwheel
3297
3298        Master LFO frequency
3299
3300        GenXY mixer
3301
3302    Two Oscillators, A and B
3303
3304        Gen A:
3305            Tri/Ramp/Pulse
3306            PulseWidth
3307            Tuning
3308            Transpose 16', 8', 4' (*)
3309
3310            Mods:
3311
3312                Envelope
3313                GenXY(or X)
3314                Low frequency, High Frequency (drone), KBD Tracking
3315
3316        Gen B:
3317            Tri/Ramp/Pulse
3318            PulseWidth
3319            Tuning
3320            Transpose 16' 8', 4'
3321
3322            Mods:
3323
3324                Osc-B
3325                GenXY(or Y)
3326                PWM
3327
3328        GenAB mix
3329
3330        Ring Mod:
3331
3332            Osc-B/Ext
3333            GenXY/Osc-A
3334
3335        Noise
3336
3337            Pink/White
3338
3339        Mixer
3340
3341            GenAB
3342            RingMod
3343            External
3344            Noise
3345
3346        Filter (**)
3347
3348            Cutoff
3349            Emphasis
3350
3351            Mods:
3352
3353                ADSR
3354                Keyboard tracking
3355                GenXY
3356
3357        Envelope:
3358
3359            AR/ASR/ADSD/ADSR
3360            Velociy on/off
3361
3362            Trigger:
3363
3364                GenX
3365                GenY
3366                Kbd (rezero only)
3367
3368            Bypass (key gated audio)
3369
3370        Direct Output Mixer
3371
3372            Osc-A
3373            Osc-B
3374            RingMod
3375
3376
3377The keyboard has controls for
3378
3379    Glide (Osc-B only)
3380    Master Volume
3381    PitchWheel
3382    ModWheel (gain modifier on LFO)
3383
3384    Global Tuning
3385
3386    MultiLFO X and Y
3387
3388* The oscillator range was +/-2 octave switch and a +/-1 octave pot. This
3389emulator has +/-1 octave switch and +/-7 note pot. That may change in a future
3390release to be more like the original, probably having a multiway 5 stage octave
3391selector.
3392
3393** The filter will self oscillate at full emphasis however this is less
3394prominent at lower frequencies (much like the Moog ladder filter). The filter
3395is also 'not quite' in tune when played as an oscillator, this will also change
3396in a future release.
3397
3398There may be a reverb on the emulator. Or there may not be, that depends on
3399release. The PitchWheel is not saved in the memories, the unit is tuned on
3400startup and this will maintain tuning to other instruments. The MultiLFO allow
3401you to configure single LFO per emulation or one per voice, independently.
3402Having polyphony means you can have the extra richness of independent LFO per
3403voice however that does not work well if they are used as triggers, for example,
3404you end up with a very noisy result. With single triggers for all voices the
3405result is a lot more predictable.
3406
3407The Sonic-6 as often described as having bad tuning, that probably depends on
3408model since different oscillators were used at times. Also, different units
3409had different filters (Zumchek used a ladder of diodes to overcome the Moog
3410ladder of transister patent). The original was often described as only being
3411useful for sound effects. Personally I don't think that was true however the
3412design is extremely flexible and the mods are applied with high gains so to
3413get subtle sounds they only have to be applied lightly. Also, this critique
3414was in comparison to the Mini which was not great for sound effects since it,
3415in contrast, had very little in the way of modifiers.
3416
3417The actual mod routing here is very rich. The two LFO can be mixed to provide
3418for more complex waves and have independent signal gain from the ADSR. To go
3419a step further it is possible to take the two mixed LFO into Osc-A, configure
3420that as an LFO and feed it into Osc-B for some very complex mod signals. That
3421way you can get a frequency modulated LFO which is not possible from X or Y. As
3422stated, if these are applied heavily you will get ray guns and car alarms but
3423in small amounts it is possible to just shape sounds. Most of the mod controls
3424have been made into power functions to give more control at small values.
3425
3426The memory panel gives access to 72 banks of 8 memories each. Press the Bank
3427button and two digits for the bank, then just select the memory and press Load.
3428You can get the single digit banks by selecting Bank->number->Bank. There is
3429a save button which should require a double click but does not yet (0.30.0),
3430a pair of buttons for searching up and down the available memories and a button
3431called 'Find' which will select the next available free memory.
3432
3433Midi options include channel, channel down and, er, thats it.
3434
3435
3436
3437
3438    CRUMAR TRILOGY
3439    --------------
3440
3441This text is primarily that of the Stratus since the two synths were very
3442similar. This is the bigger brother having all the same features with the added
3443string section. There were some minor differences in the synth circuits for
3444switchable or mixable waveforms.
3445
3446This unit is a hybrid synth/organ/string combo, an early polyphonic using an
3447organ divider circuit rather than independent VCO and having a set of filters
3448and envelope for the synth sounds, most manufacturers came out with similar
3449designs. The organ section was generally regarded as pretty bad here, there
3450were just five controls, four used for the volume of 16, 8, 4 and 2 foot
3451harmonics and a fifth for overall organ volume. The synth section had 6 voices
3452and some quite neat little features for a glide circuitry and legato playing
3453modes. The string section could mix 3 waveforms with vibrato on some so when
3454mixed with the straight waveform would produce phasing.
3455
3456The emulator consists of two totally separate layers, one emulating the organ
3457circuitry and another the synth. The organ has maximum available polyphony as
3458the algorithm is quite lightweight even though diverse liberties have been
3459taken to beef up the sound. The synth section is limited to 6 voices unless
3460otherwise specified at run time. The organ circuitry is used to generate the
3461string section.
3462
3463The legato playing modes affects three sections, the LFO modulation, VCO
3464selection and glide:
3465
3466LFO: this mod has a basic envelope to control the gain of the LFO using delay,
3467slope and gain. In 'multi' mode the envelope is triggered for every note that
3468is played and in the emulator this is actually a separate LFO per voice, a bit
3469fatter than the original. In 'Mono' mode there is only one LFO that all voices
3470will share and the envelope is triggered in Legato style, ie, only once for
3471a sequence of notes - all have to be released for the envelope to recover.
3472
3473VCO: The original allowed for wavaeform selection to alternate between notes,
3474something that is rather ugly to do with the bristol architecture. This is
3475replaced with a VCO selector where each note will only take the output from
3476one of the two avalable oscillators and gives the ntoes a little more
3477separation. The legato mode works whereby the oscillator selection is only
3478made for the first note in a sequence to give a little more sound consistency.
3479
3480Glide: This is probably the coolest feature of the synth. Since it used an
3481organ divider circuit it was not possible to actually glide from one note to
3482another - there are really only two oscillators in the synth section, not two
3483per voice. In contrast the glide section could glide up or down from a selected
3484amount to the real frequency. Selected from down with suitable values would
3485give a nice 'blue note' effect for example. In Legato mode this is done only
3486for the first keypress rather than all of the since the effect can be a bit
3487over the top if applied to each keystroke in a sequence. At the same time it
3488was possible to Sync the two oscillators, so having only one of them glide
3489and be in sync then without legato this gave a big phasing entrance to each
3490note, a very interesting effect. The Glide has 4 modes:
3491
3492    A. Both oscillators glide up to the target frequency
3493    B. Only oscillator-2 glides up to the target frequency
3494    C. Only oscillator-2 glides down to the target frequency
3495    D. Both oscillators glide down to the target frequency
3496
3497These glide options with different sync and legato lead to some very unique
3498sounds and are emulated here with only minor differences.
3499
3500The features, then notes on the differences to the original:
3501
3502    A. Organ Section
3503
3504        16, 8, 4 and 2 foot harmonic strengths.
3505        Volume.
3506
3507    B. Synth Section
3508
3509        LFO Modulation
3510
3511            Rate - 0.1 to 50Hz approx
3512            Slope - up to 10 seconds
3513            Delay - up to 10 seconds
3514            Gain
3515
3516            Routing selector: VCO, VCF, VCA
3517            Mono/Multi legato mode
3518            Shape - Tri/Ramp/Saw/Square
3519
3520        Oscillator 1
3521
3522            Tuning
3523            Sync 2 to 1
3524            Octave selector
3525
3526        Oscillator 2
3527
3528            Tuning
3529            Octave trill
3530            Octave selector
3531
3532        Waveform Ramp and Square mix
3533        Alternate on/off
3534        Mono/Multi legato mode VCO selection
3535
3536        Glide
3537
3538            Amount up or down from true frequency
3539            Speed of glide
3540            Mono/Multi legato mode
3541            Direction A, B, C, D
3542
3543        Filter
3544
3545            Cutoff frequency
3546            Resonance
3547            Envelope tracking -ve to +ve
3548            Pedal tracking on/off
3549
3550        Envelope
3551
3552            Attack
3553            Decay
3554            Sustain
3555            Release
3556
3557        Gain
3558
3559    C. String Section
3560
3561        16' 8' mix
3562        Subharmonic gain
3563        Attack
3564        Release
3565
3566        Volume
3567
3568Diverse liberties were taken with the reproduction, these are manageable from
3569the options panel by selecting the button next to the keyboard. This opens up
3570a graphic of a PCB, mostly done for humorous effect as it not in the least bit
3571representative of the actual hardware. Here there are a number of surface
3572mounted controllers. These are as below but may change by release:
3573
3574   P1  Master volume
3575
3576   P2  Organ pan
3577   P3  Organ waveform distorts
3578   P4  Organ spacialisation
3579   P5  Organ mod level
3580   J1  Organ key grooming
3581   P6  Organ tuning (currently inactive *)
3582
3583   P7  Synth pan
3584   P8  Synth tuning
3585   P9  Synth osc1 harmonics
3586   P10 Synth osc2 harmonics
3587   J2  Synth velocity sensitivity
3588   J3  Synth filter type
3589   P11 Synth filter tracking
3590
3591   P12 String pan
3592   P13 String harmonics
3593   P14 String spacialisation
3594   P15 String mod level
3595   P16 String waveform distorts
3596
3597*: To make the organ tunable the keymap file has to be removed.
3598
3599Master (P1) volume affects both layers simultaneously and each layer can be
3600panned (P2/P7) and tuned (P8) separately to give phasing and spacialisation.
3601The synth layer has the default frequency map of equal temperament however the
3602organ section uses a 2MHz divider frequency map that is a few cents out for
3603each key. The Trilogy actually has this map for both layers and that can easily
3604be done with the emulator, details on request.
3605
3606It is currently not possible to retune the organ divider circuit, it has a
3607private microtonal mapping to emulate the few percent anomalies of the divider
3608circuit and the frequencies are predefined. The pot is still visible in P6 and
3609can be activated by removing the related microtonal mapping file, details from
3610the author on request.
3611
3612Diverse liberties were taken with the Organ section since the original only
3613produced 4 pure (infinite bandwidth) square waves that were mixed together,
3614an overly weak result. The emulator adds a waveform distort (P3), an notched
3615control that produces a pure sine wave at centre point. Going down it will
3616generate gradually increasing 3rd and 5th harmonics to give it a squarey wave
3617with a distinct hammond tone. The distortion actually came from the B3 emulator
3618which models the distort on the shape of the hammond tonewheels themselves.
3619Going up from centre point will produce gradually sharper sawtooth waves using
3620a different phase distortion.
3621
3622Organ spacialisation (P4) will separate out the 4 harmonics to give them
3623slightly different left and right positions to fatten out the sound. This works
3624in conjunction with the mod level (P5) where one of the stereo components of
3625each wave is modified by the LFO to give phasing changes up to vibrato.
3626
3627The organ key grooming (J1) will either give a groomed wave to remove any
3628audible clicks from the key on and off events or when selected will produce
3629something akin to a percussive ping for the start of the note.
3630
3631The result for the organ section is that it can produce some quite nice sounds
3632reminiscent of the farfisa range to not quite hammond, either way far more
3633useful than the flat, honking square waves. The original sound can be made by
3634waveform to a quarter turn or less, spacialisation and mod to zero, key
3635grooming off.
3636
3637The synth has 5 modifications at the first release. The oscillator harmonics
3638can be fattened at the top or bottom using P9 and P10, one control for each
3639oscillator, low is more bass, high is more treble. Some of the additional
3640harmonics will be automatically detuned a little to fatten out the sound as a
3641function of the -detune parameter defaulting to 100.
3642
3643The envelope can have its velocity sensitively to the filter enabled or disabled
3644(J2) and the filter type can be a light weight filter for a thinner sound but at
3645far lower CPU load (J3).
3646
3647The filter keyboard tracking is configurable (P11), this was outside of the spec
3648of the Trilogy however it was implemented here to correct the keyboard tracking
3649of the filter for all the emulations and the filter should now be playable.
3650The envelope touch will affect this depending on J2 since velocity affects the
3651cut off frequency and that is noticeable when playing the filter. This jumper
3652is there so that the envelope does not adversely affect tuning but can still be
3653used to have the filter open up with velocity if desired.
3654
3655The mod application is different from the original. It had a three way selector
3656for routing the LFO to either VCO, VCA or VCF but only a single route. This
3657emulation uses a continuous notched control where full off is VCO only, notch
3658is VCF only and full on is VCA however the intermidiate positions will route
3659proportional amounts to two components.
3660
3661The LFO has more options (Ramp and Saw) than the original (Tri and Square).
3662
3663The extra options are saved with each memory however they are only loaded at
3664initialisation and when the 'Load' button is double-clicked. This allows you to
3665have them as global settings or per memory as desired. The MemUp and MemDown
3666will not load the options, only the main settings.
3667
3668VCO mod routing is a little bit arbitrary in this first release however I could
3669not find details of the actual implementation. The VCO mod routing only goes
3670to Osc-1 which also takes mod from the joystick downward motion. Mod routing
3671to Osc-2 only happens if 'trill' is selected. This seemed to give the most
3672flexibility, directing the LFO to VCF/VCA and controlling vibrato from the
3673stick, then having Osc-2 separate so that it can be modified and sync'ed to
3674give some interesting phasing.
3675
3676As of the first release there are possibly some issues with the oscillator
3677Sync selector, it is perhaps a bit noisy with a high content of square wave.
3678Also, there are a couple of minor improvements that could be made to the
3679legato features but they will be done in a future release. They regard how
3680the glide is applied to the first or all in a sequence of notes.
3681
3682The joystick does not always pick up correctly however it is largely for
3683presentation, doing actual work you would use a real joystick or just use the
3684modwheel (the stick generates and tracks continuous controller 1 - mod). The
3685modwheel tracking is also a bit odd but reflects the original architecture -
3686at midpoint on the wheel there is no net modulation, going down affects VCO
3687in increasing amounts and going up from mid affect the VCF. The control feels
3688like it should be notched however generally that is not the case with mod
3689wheels.
3690
3691A few notes are required on oscillator sync since by default it will seem to
3692be quite noisy. The original could only product a single waveform at a single
3693frequency at any one time. Several emulators, including this one, use a bitone
3694oscillator which generates complex waveforms. The Bristol Bitone can generate
3695up to 4 waveforms simultaneously at different levels for 5 different harmonics
3696and the consequent output is very rich, the waves can be slightly detuned,
3697the pulse output can be PW modulated. As with all the bristol oscillators that
3698support sync, the sync pulse is extracted as a postive leading zero crossing.
3699Unfortunately if the complex bitone output is used as input to sync another
3700oscillator then the result is far too many zero crossings to extract a good
3701sync. For the time being you will have to simplify the sync source to get a
3702good synchronised output which itself may be complex wave. A future release
3703will add a sync signal from the bitone which will be a single harmonic at the
3704base frequency and allow both syncing and synchronised waveform outputs to be
3705arbitrary. For the Trilogy this simplification of the sync waveform is done
3706automatically by the Sync switch, this means the synchronised output sounds
3707correct but the overall waveform may be simpler.
3708
3709
3710
3711
3712    CRUMAR STRATUS
3713    --------------
3714
3715This unit is a hybrid synth/organ combo, an early polyphonic synth using an
3716organ divider circuit rather than independent VCO and having a set of filters
3717and envelope for the synth sounds, most manufacturers came out with similar
3718designs. The organ section was generally regarded as pretty bad here, there
3719were just five controls, four used for the volume of 16, 8, 4 and 2 foot
3720harmonics and a fifth for overall organ volume. The synth section had 6 voices
3721and some quite neat little features for a glide circuitry and legato playing
3722modes.
3723
3724The emulator consists of two totally separate layers, one emulating the organ
3725circuitry and another the synth. The organ has maximum available polyphony as
3726the algorithm is quite lightweight even though diverse liberties have been
3727taken to beef up the sound. The synth section is limited to 6 voices unless
3728otherwise specified at run time.
3729
3730The legato playing modes affects three sections, the LFO modulation, VCO
3731selection and glide:
3732
3733LFO: this mod has a basic envelope to control the gain of the LFO using delay,
3734slope and gain. In 'multi' mode the envelope is triggered for every note that
3735is played and in the emulator this is actually a separate LFO per voice, a bit
3736fatter than the original. In 'Mono' mode there is only one LFO that all voices
3737will share and the envelope is triggered in Legato style, ie, only once for
3738a sequence of notes - all have to be released for the envelope to recover.
3739
3740VCO: The original allowed for wavaeform selection to alternate between notes,
3741something that is rather ugly to do with the bristol architecture. This is
3742replaced with a VCO selector where each note will only take the output from
3743one of the two avalable oscillators and gives the ntoes a little more
3744separation. The legato mode works whereby the oscillator selection is only
3745made for the first note in a sequence to give a little more sound consistency.
3746
3747Glide: This is probably the coolest feature of the synth. Since it used an
3748organ divider circuit it was not possible to actually glide from one note to
3749another - there are really only two oscillators in the synth section, not two
3750per voice. In contrast the glide section could glide up or down from a selected
3751amount to the real frequency. Selected from down with suitable values would
3752give a nice 'blue note' effect for example. In Legato mode this is done only
3753for the first keypress rather than all of the since the effect can be a bit
3754over the top if applied to each keystroke in a sequence. At the same time it
3755was possible to Sync the two oscillators, so having only one of them glide
3756and be in sync then without legato this gave a big phasing entrance to each
3757note, a very interesting effect. The Glide has 4 modes:
3758
3759    A. Both oscillators glide up to the target frequency
3760    B. Only oscillator-2 glides up to the target frequency
3761    C. Only oscillator-2 glides down to the target frequency
3762    D. Both oscillators glide down to the target frequency
3763
3764These glide options with different sync and legato lead to some very unique
3765sounds and are emulated here with only minor differences.
3766
3767The features, then notes on the differences to the original:
3768
3769    A. Organ Section
3770
3771        16, 8, 4 and 2 foot harmonic strengths.
3772        Volume.
3773
3774    B. Synth Section
3775
3776        LFO Modulation
3777
3778            Rate - 0.1 to 50Hz approx
3779            Slope - up to 10 seconds
3780            Delay - up to 10 seconds
3781            Gain
3782
3783            Routing selector: VCO, VCF, VCA
3784            Mono/Multi legato mode
3785            Shape - Tri/Ramp/Saw/Square
3786
3787        Oscillator 1
3788
3789            Tuning
3790            Sync 2 to 1
3791            Octave selector
3792
3793        Oscillator 2
3794
3795            Tuning
3796            Octave trill
3797            Octave selector
3798
3799        Waveform Ramp and Square mix
3800        Alternate on/off
3801        Mono/Multi legato mode VCO selection
3802
3803        Glide
3804
3805            Amount up or down from true frequency
3806            Speed of glide
3807            Mono/Multi legato mode
3808            Direction A, B, C, D
3809
3810        Filter
3811
3812            Cutoff frequency
3813            Resonance
3814            Envelope tracking -ve to +ve
3815            Pedal tracking on/off
3816
3817        Envelope
3818
3819            Attack
3820            Decay
3821            Sustain
3822            Release
3823
3824        Gain
3825
3826Diverse liberties were taken with the reproduction, these are manageable from
3827the options panel by selecting the button next to the keyboard. This opens up
3828a graphic of a PCB, mostly done for humorous effect as it not in the least bit
3829representative of the actual hardware. Here there are a number of surface
3830mounted controllers. These are as below but may change by release:
3831
3832   P1 Master volume
3833
3834   P2  Organ pan
3835   P3  Organ waveform distorts
3836   P4  Organ spacialisation
3837   P5  Organ mod level
3838   J1  Organ key grooming
3839   P6  Organ tuning (currently inactive *)
3840
3841   P7  Synth pan
3842   P8  Synth tuning
3843   P9  Synth osc1 harmonics
3844   P10 Synth osc2 harmonics
3845   J2  Synth velocity sensitivity
3846   J3  Synth filter type
3847   P11 Synth filter tracking
3848
3849*: To make the organ tunable the keymap file has to be removed.
3850
3851Master (P1) volume affects both layers simultaneously and each layer can be
3852panned (P2/P7) and tuned (P8) separately to give phasing and spacialisation.
3853The synth layer has the default frequency map of equal temperament however the
3854organ section uses a 2MHz divider frequency map that is a few cents out for
3855each key. The Stratus actually has this map for both layers and that can easily
3856be done with the emulator, details on request.
3857
3858It is currently not possible to retune the organ divider circuit, it has a
3859private microtonal mapping to emulate the few percent anomalies of the divider
3860circuit and the frequencies are predefined. The pot is still visible in P6 and
3861can be activated by removing the related microtonal mapping file, details from
3862the author on request.
3863
3864Diverse liberties were taken with the Organ section since the original only
3865produced 4 pure (infinite bandwidth) square waves that were mixed together,
3866an overly weak result. The emulator adds a waveform distort (P3), an notched
3867control that produces a pure sine wave at centre point. Going down it will
3868generate gradually increasing 3rd and 5th harmonics to give it a squarey wave
3869with a distinct hammond tone. The distortion actually came from the B3 emulator
3870which models the distort on the shape of the hammond tonewheels themselves.
3871Going up from centre point will produce gradually sharper sawtooth waves using
3872a different phase distortion.
3873
3874Organ spacialisation (P4) will separate out the 4 harmonics to give them
3875slightly different left and right positions to fatten out the sound. This works
3876in conjunction with the mod level (P5) where one of the stereo components of
3877each wave is modified by the LFO to give phasing changes up to vibrato.
3878
3879The organ key grooming (J1) will either give a groomed wave to remove any
3880audible clicks from the key on and off events or when selected will produce
3881something akin to a percussive ping for the start of the note.
3882
3883The result for the organ section is that it can produce some quite nice sounds
3884reminiscent of the farfisa range to not quite hammond, either way far more
3885useful than the flat, honking square waves. The original sound can be made by
3886waveform to a quarter turn or less, spacialisation and mod to zero, key
3887grooming off.
3888
3889The synth has 5 modifications at the first release. The oscillator harmonics
3890can be fattened at the top or bottom using P9 and P10, one control for each
3891oscillator, low is more bass, high is more treble. Some of the additional
3892harmonics will be automatically detuned a little to fatten out the sound as a
3893function of the -detune parameter defaulting to 100.
3894
3895The envelope can have its velocity sensitively to the filter enabled or disabled
3896(J2) and the filter type can be a light weight filter for a thinner sound but at
3897far lower CPU load (J3).
3898
3899The filter keyboard tracking is configurable (P11), this was outside of the spec
3900of the Stratus however it was implemented here to correct the keyboard tracking
3901of the filter for all the emulations and the filter should now be playable.
3902The envelope touch will affect this depending on J2 since velocity affects the
3903cut off frequency and that is noticeable when playing the filter. This jumper
3904is there so that the envelope does not adversely affect tuning but can still be
3905used to have the filter open up with velocity if desired.
3906
3907The mod application is different from the original. It had a three way selector
3908for routing the LFO to either VCO, VCA or VCF but only a single route. This
3909emulation uses a continuous notched control where full off is VCO only, notch
3910is VCF only and full on is VCA however the intermidiate positions will route
3911proportional amounts to two components.
3912
3913The LFO has more options (Ramp and Saw) than the original (Tri and Square).
3914
3915The extra options are saved with each memory however they are only loaded at
3916initialisation and when the 'Load' button is double-clicked. This allows you to
3917have them as global settings or per memory as desired. The MemUp and MemDown
3918will not load the options, only the main settings.
3919
3920VCO mod routing is a little bit arbitrary in this first release however I could
3921not find details of the actual implementation. The VCO mod routing only goes
3922to Osc-1 which also takes mod from the joystick downward motion. Mod routing
3923to Osc-2 only happens if 'trill' is selected. This seemed to give the most
3924flexibility, directing the LFO to VCF/VCA and controlling vibrato from the
3925stick, then having Osc-2 separate so that it can be modified and sync'ed to
3926give some interesting phasing.
3927
3928As of the first release there are possibly some issues with the oscillator
3929Sync selector, it is perhaps a bit noisy with a high content of square wave.
3930Also, there are a couple of minor improvements that could be made to the
3931legato features but they will be done in a future release. They regard how
3932the glide is applied to the first or all in a sequence of notes.
3933
3934The joystick does not always pick up correctly however it is largely for
3935presentation, doing actual work you would use a real joystick or just use the
3936modwheel (the stick generates and tracks continuous controller 1 - mod). The
3937modwheel tracking is also a bit odd but reflects the original architecture -
3938at midpoint on the wheel there is no net modulation, going down affects VCO
3939in increasing amounts and going up from mid affect the VCF. The control feels
3940like it should be notched however generally that is not the case with mod
3941wheels.
3942
3943A few notes are required on oscillator sync since by default it will seem to
3944be quite noisy. The original could only product a single waveform at a single
3945frequency at any one time. Several emulators, including this one, use a bitone
3946oscillator which generates complex waveforms. The Bristol Bitone can generate
3947up to 4 waveforms simultaneously at different levels for 5 different harmonics
3948and the consequent output is very rich, the waves can be slightly detuned,
3949the pulse output can be PW modulated. As with all the bristol oscillators that
3950support sync, the sync pulse is extracted as a postive leading zero crossing.
3951Unfortunately if the complex bitone output is used as input to sync another
3952oscillator then the result is far too many zero crossings to extract a good
3953sync. For the time being you will have to simplify the sync source to get a
3954good synchronised output which itself may be complex wave. A future release
3955will add a sync signal from the bitone which will be a single harmonic at the
3956base frequency and allow both syncing and synchronised waveform outputs to be
3957arbitrary. For the Stratus this simplification of the sync waveform is done
3958automatically by the Sync switch, this means the synchronised output sounds
3959correct but the overall waveform may be simpler.
3960
3961
3962
3963
3964    KORG POLY 800
3965    -------------
3966
3967This is a low cost hybrid synth, somewhere between the Korg PolySix and their
3968Mono/Poly in that is polyphonic but only has one filter rather than one per
3969voice that came with the PolySix. It may have also used organ divider circuits
3970rather than individual oscillators - it did not have glide as a feature which
3971would be indicative of a divider circuit.
3972
3973It featured 8 oscillators that could be applied as either 4 voices with dual
3974osc or 8 voices with a single osc. The architecture was verging on the
3975interesting since each oscillator was fead into an individual envelope generator
3976(described below) and then summed into the single filter, the filter having
3977another envelope generator, 9 in total. This lead to cost reduction over having
3978a filter per voice however the single filter leads to breathing, also discussed
3979below. The envelopes were digitally generated by an on-board CPU.
3980
3981The control panel has a volume, global tuning control and a 'Bend' control
3982that governs the depth of the pitch bend from the joystick and the overall
3983amount of DCO modulation applied by the joystick. There is no sequencer in
3984this emulation largely because there are far better options now available than
3985this had but also due to a shortage of onscreen realestate.
3986
3987The Poly, Chord and Hold keys are emulated, hold being a sustain key. The
3988Chord relearn function works follows:
3989
3990    Press the Hold key
3991    Press the Chord key with 2 seconds
3992        Press the notes on the keyboard (*)
3993    Press the Chord key again
3994
3995After that the single chord can be played from a single note as a monophonic
3996instrument. The Chord is saved individually with each memory.
3997* Note that the chord is only saved if (a) it was played from the GUI keyboard
3998or (b) the GUI was linked up to any MIDI device as well as the engine. The
3999reason is that the GUI maintains memories and so if a chord is played on your
4000actual keyboard then both the engine and the GUI needs a copy, the engine to
4001be able to play the notes and the GUI to be able to save them.
4002
4003The keypanel should function very similar to the original. There is a Prog
4004button that selects between Program selection or Parameter selection and an
4005LED should show where the action is. There is the telephone keyboard to enter
4006program or parameters numbers and an up/down selector for parameter value.
4007The Bank/Hold selector also works, it fixes the bank number so programs can
4008be recalled from a single bank with a single button press. The Write function
4009is as per the original - Press Write, then two digits to save a memory.
4010
4011The front panel consists of a data entry panel and a silkscreen of the parameter
4012numbers (this silkscreen is active in the emulation). Fifty parameters are
4013available from the original instrument:
4014
4015    DE 11 DCO1 Octave transposition +2 octaves
4016    DE 12 DCO1 Waveform Square or Ramp
4017    DE 13 DCO1 16' harmonic
4018    DE 14 DCO1 8' harmonic
4019    DE 15 DCO1 4' harmonic
4020    DE 16 DCO1 2' harmonic
4021    DE 17 DCO1 level
4022
4023    DE 18 DCO Double (4 voice) or Single (8 voice)
4024
4025    DE 21 DCO2 Octave transposition +2 octaves
4026    DE 22 DCO2 Waveform Square or Ramp
4027    DE 23 DCO2 16' harmonic
4028    DE 24 DCO2 8' harmonic
4029    DE 25 DCO2 4' harmonic
4030    DE 26 DCO2 2' harmonic
4031    DE 27 DCO2 level
4032    DE 31 DCO2 semitone transpose
4033    DE 32 DCO2 detune
4034
4035    DE 33 Noise level
4036
4037    DE 41 Filter cutoff frequency
4038    DE 42 Filter Resonance
4039    DE 43 Filter Keyboard tracking off/half/full
4040    DE 44 Filter Envelope polarity
4041    DE 45 Filter Envelope amount
4042    DE 46 Filter Envelope retrigger
4043
4044    DE 48 Chorus On/Off
4045
4046    DE 51 Env-1 DCO1 Attack
4047    DE 52 Env-1 DCO1 Decay
4048    DE 53 Env-1 DCO1 Breakpoint
4049    DE 54 Env-1 DCO1 Slope
4050    DE 55 Env-1 DCO1 Sustain
4051    DE 56 Env-1 DCO1 Release
4052
4053    DE 61 Env-2 DCO2 Attack
4054    DE 62 Env-2 DCO2 Decay
4055    DE 63 Env-2 DCO2 Breakpoint
4056    DE 64 Env-2 DCO2 Slope
4057    DE 65 Env-2 DCO2 Sustain
4058    DE 66 Env-2 DCO2 Release
4059
4060    DE 71 Env-3 Filter Attack
4061    DE 72 Env-3 Filter Decay
4062    DE 73 Env-3 Filter Breakpoint
4063    DE 74 Env-3 Filter Slope
4064    DE 75 Env-3 Filter Sustain
4065    DE 76 Env-3 Filter Release
4066
4067    DE 81 Mod LFO Frequency
4068    DE 82 Mod Delay
4069    DE 83 Mod DCO
4070    DE 84 Mod VCF
4071
4072    DE 86 Midi channel
4073    DE 87 Midi program change enable
4074    DE 88 Midi OMNI
4075
4076Of these 25 pararmeters, the emulation has changed 88 to be OMNI mode rather
4077than the original sequence clock as internal or external. This is because the
4078sequencer function was dropped as explained above.
4079
4080Additional to the original many of the controls which are depicted as on/off
4081are actually continuous. For example, the waveform appears to be either square
4082or ramp. The emulator allows you to use the up/down Value keys to reproduce
4083this however if you use the potentiometer then you can gradually move from one
4084wave to the next. The different harmonics are also not on/off, you can mix
4085each of them together with different amounts and if you configure a mixture
4086of waveforms and a bit of detune the sound should widen due to addition of a
4087bit of phasing within the actual oscillator.
4088
4089The envelope generators are not typical ADSR. There is an initial attack from
4090zero to max gain then decay to a 'Breakpoint'. When this has been reached then
4091the 'Slope' parameter will take the signal to the Sustain level, then finally
4092the release rate. The extra step of breakpoint and slope give plenty of extra
4093flexibility to try and adjust for the loss of a filter per voice and the
4094emulation has a linear step which should be the same as the original. The
4095ninth envelope is applied to the single filter and also as the envelope for
4096the noise signal level.
4097
4098The single filter always responded to the highest note on the keyboard. This
4099gives a weaker overall sound and if playing with two hands then there is a
4100noticible effect with keytracking - left hand held chords will cause filter
4101breathing as the right hand plays solos and the keyboard tracking changes
4102from high to low octaves. Note that the emulator will implement a single
4103filter if you select DE 46 filter envelope retrigger to be single trigger, it
4104will be played legato style. If multiple triggers are selected then the
4105emulator will produce a filter and envelope for each voice.
4106
4107Bristol adds a number of extra parameters to the emulator that are not
4108available from the mouse on the silkscreen and were not a part of the design
4109of the poly800. You have to select Prog such that the LED is lit next to the
4110Param display, then select the two digit parameter from the telephone keyboard:
4111
4112    DE 28 DCO Sync 2 to 1
4113    DE 34 DCO-1 PW
4114    DE 35 DCO-1 PWM
4115    DE 36 DCO-2 PW
4116    DE 37 DCO-2 PWM
4117    DE 38 DCO temperature sensitivity
4118    DE 67 DCO Glide
4119
4120    DE 85 Mod - Uni/Multi per voice or globally
4121
4122    DE 57 Envelope Touch response
4123
4124    DE 47 Chorus Parameter 0
4125    DE 58 Chorus Parameter 1
4126    DE 68 Chorus Parameter 2
4127    DE 78 Chorus Parameter 3
4128
4129If DataEntry 28 is selected for oscillator sync then LFO MOD to DCO-1 is no
4130longer applied, it only goes to DCO-2. This allows for the interesting sync
4131modulated slow vibrato of DCO-2. The LFO mod is still applied via the joystick.
4132
4133DE 38 global detune will apply both temperature sensitivity to each oscillator
4134but also fatten out the harmonics by detuning them independently. It is only
4135calculated at 'note on' which can be misleading - it has no effect on existing
4136notes which is intentional if misleading.
4137
4138DE 57 is a bitmask for the three envelopes to define which ones will give a
4139response to velocity with a default to '3' for velocity tracking oscillator
4140gain:
4141
4142    value    DEG1    DEG2    DEG3
4143             DCO1    DCO2    FILT
4144
4145      0       -        -       -
4146      1       V        -       -
4147      2       -        V       -
4148      3       V        V       -
4149      4       -        -       V
4150      5       V        -       V
4151      6       -        V       V
4152      7       V        V       V
4153
4154This gives some interesting velocity tracking capabilities where just one osc
4155can track velocity to introduce harmonic content keeping the filter at a fixed
4156cutoff frequence. Having a bit of detune applied globally and locally will keep
4157the sound reasonably fat for each oscillator.
4158
4159The filter envelope does not track velocity for any of the distributed voices,
4160this was intentional since when using high resonance it is not desirable that
4161the filter cutoff changes with velocity, it tends to be inconsistently
4162disonant.
4163
4164If you want to use this synth with controller mappings then map the value
4165entry pot to your easiest to find rotary, then click the mouse on the membrane
4166switch to select which parameter you want to adjust with that control each time.
4167The emulator is naturally not limited to just 4/8 voices, you can request more
4168in which case single oscillator will give you the requested number of voices
4169and double will give you half that amount.
4170
4171The Bristol Poly-800 is dedicated to Mark.
4172
4173
4174
4175
4176    Baumann BME-700
4177    ---------------
4178
4179This unusual German synth had a build volume of about 500 units and only one
4180useful source of information could be found on it: a report on repair work for
4181one of the few existing examples at www.bluesynths.com. The BME systems were
4182hand built and judging by some reports on build quality may have been sold in
4183kit form. The unit was produced in the mid 1970's.
4184
4185The synth has a very interesting design, somewhat reminiscent of the Moog Sonic
4186and Explorer synths. It has two modulating LFO with fairly high top frequency,
4187two filter and two envelopes. The envelopes are either AR or ASR but they can
4188be mixed together to generate amongst other features an ADSR, very innovative.
4189There is only one oscillator but the sound is fattened out by the use of two
4190parallel filters, one acting as a pure resonator and the other as a full VCF.
4191
4192The synth has been left with a minimum of overhead. There are just 8 memory
4193locations on the front panel with Load, Save and Increment buttons and one
4194panel of options to adjust a few parameters on the oscillator and filters. It
4195is possible to get extra memories by loading banks with -load: if you request
4196starting in memory #21 the emulator will stuff 20 into the bank and 1 into the
4197memory location. There is no apparant midi channel selector, use -channel <n>
4198and then stay on it. This could have been put into the options panel however
4199having midi channel in a memory is generally a bad idea.
4200
4201    A. MOD
4202
4203        Two LFO:
4204
4205            frequency from 0.1 to 100 Hz
4206            Triangle and Square wave outputs
4207
4208        Mix control
4209
4210            Mod-1/2 into the VCO FM
4211            Env-1/Mod-2 into the VCO FM
4212
4213    B. Oscillator
4214
4215        Single VCO
4216
4217            Glide 0 to 10s, on/off.
4218            PW Man: 5 to 50% duty cycle
4219            Auto depth:
4220
4221                    Envelope-1
4222                    Mod-1, Mod-1/2, Tri/Square
4223
4224            Vibrato depth
4225            Tuning
4226                8', 4', 16' transposition
4227
4228            Shape
4229
4230                continuous control from Square to Tri wave.
4231
4232        Mix of noise or VCO output
4233
4234    C. Res Filter
4235
4236        Sharp (24db/Oct), Flat (12dB/Oct)
4237        5 frequency switches
4238
4239    D. Envelopes
4240
4241        Two envelopes
4242
4243            Rise time
4244            Fall Time
4245            AR/ASR selector
4246
4247            Two independent mixes of Env, for VCF and VCA.
4248
4249    E. Filter
4250
4251        Frequency
4252        Resonance
4253        Env/Mod selector
4254
4255        Modulation
4256
4257            KBD tracking
4258            Mod-1 or Mod-2, Tri/Square
4259
4260    F. Amplifier
4261
4262        Mix resonator/filter.
4263        Volume
4264
4265        Mod depth
4266
4267            Mod-1 or Mod-2, Tri/Square
4268
4269The oscillator is implemented as a non-resampling signal generator, this means
4270it uses heuristics to estimate the wave at any given time. The harmonic content
4271is a little thin and although the generation method seems to be correct in how
4272it interprets signal ramps and drains from an analogue circuit this is one area
4273of improvement in the emulator. There are options to produce multiple waveforms
4274described below.
4275
4276The resonant filter is implemented with a single Houvilainen and actually only
4277runs at 24dB/Oct. There are controls for remixing the different taps, a form
4278of feedforward and when in 'Flat' mod there is more remixing of the poles, this
4279does generate a slower roll off but gives the signal a bit more warmth than a
4280pure 12dB/Oct would.
4281
4282
4283There is a selector in the Memory section to access some options:
4284
4285    G. Options
4286
4287        LFO
4288
4289            Synchronise wave to key on events
4290            Multi LFO (per voice).
4291
4292        Oscillator
4293
4294            Detune (temperature sensitivity)
4295            Multi - remix 8' with 16' or 4'.
4296
4297        Noise
4298
4299            Multi Noise (per voice).
4300            White/Pink
4301            Pink Filter
4302
4303        ResFilter
4304
4305            Sharp Resonance/Remix
4306            Flat Resonance/Remix
4307
4308        Envelope
4309
4310            Velocity Sensitive
4311            Rezero for note on
4312            Gain
4313
4314        Filter
4315
4316            Remix
4317            KBD tracking depth
4318
4319The emulator probably gives the best results with the following:
4320
4321startBristol -bme700 -mono -hnp -retrig -channel 1
4322
4323This gives a monophonic emulation with high note preference and multiple
4324triggers.
4325
4326The options from section G are only loaded under two circumstances: at system
4327start from the first selected memory location and if the Load button is given
4328a DoubleClick. All other memory load functions will inherrit the settings that
4329are currently active.
4330
4331
4332
4333
4334    Bristol BassMaker
4335    -----------------
4336
4337The BassMaker is not actually an emulator, it is a bespoke sequencer design but
4338based on the capabilities of some of the early analogue sequencers such as the
4339Korg SQ-10. Supplying this probably leaves bristol open to a lot of feature
4340requests for sequencer functionaliity and it is stated here that the BassMaker
4341is supposed to be simple so excess functionality will probably be declined as
4342there are plenty of other sequencing applications that can provide a richer
4343feature set.
4344
4345The main page gives access to a screen of controls for 16 steps and a total of
43464 pages are available for a total of 64 steps. The pages are named 'A' through
4347'D'. Each step has 5 options:
4348
4349    Note: one octave of note selection
4350    Transpose: +/- one octave transposition of the note.
4351    Volume: MIDI note velocity
4352    Controller: MIDI modulation, discussed further below
4353    Triggers: Note On/Off enablers
4354
4355The trigger button gives 4 options indicated by the LED:
4356
4357    off: note on/off are sent
4358    red: only send note_on
4359    green: only send note_off
4360    yellow: do not send note on/off
4361
4362The 'Controllers' setting has multiple functions which can be selected from
4363the menu as explained below. The options available are as follows:
4364
4365    Send semitone tuning
4366
4367    Send glide rate
4368
4369    Send modwheel
4370
4371    Send expression pedal (controller value)
4372
4373    Send Note: the controller will be 12 discrete steps as per the 'Note'
4374    setting and this note will be sent on the Secondary MIDI channel.
4375
4376The semitone tuning and glide work for the majority of the emulations. Some do
4377not support fine tune controls (Vox, Hammond, others). If you are missing these
4378capabilities for specific emulators raise a change request on Sourceforge.net.
4379
4380At the top of the window there is a panel to manage the sequencer. It has the
4381following functions:
4382
4383    Speed: step rate through the notes
4384    DutyCycle: ratio of note-on to note-off
4385
4386    Start/Pause
4387    Stop: stop and return to first step/page
4388
4389    Direction:
4390        Up
4391        Down
4392        Up/Down
4393        Random
4394
4395    Select: which of the pages to include in the sequence.
4396    Edit: which page is currently displayed to be edited.
4397
4398    Memory:
4399        0..9 key entry buttons, 1000 memories available
4400        Load
4401        Save: doubleclick to save current sequence
4402
4403    Menu Panel
4404        Up, Down menu
4405        Function (return to previous level)
4406        Enter: enter submenu or enter value if in submenu
4407
4408The menu consists of several tables, these can be stepped through using the Up
4409and Down arrows to move through the menu and the 'Enter' arrow to select a sub
4410menu or activate any option. The 'Fn' button returns one level:
4411
4412    Memory:
4413
4414        Find next free memory upwards
4415        Find next memory upwards
4416        Find next memory downwards
4417
4418    Copy:
4419
4420        Copy current edit page to 'A', 'B', 'C' or 'D'.
4421
4422    Control - Set the control value to send:
4423
4424        semitone tuning
4425        glide rate
4426        modwheel
4427        expression pedal (controller value)
4428        note events
4429
4430    First midi channel
4431
4432        Primary midi channel for note events
4433
4434    Second midi channel
4435
4436        Secondary midi channel when 'Control' configured to 'Note' events.
4437
4438    Global Transpose
4439
4440        Transpose the whole sequence up or down 12 semitones
4441
4442    Clear - configure default value for all of the:
4443
4444        Notes to zero
4445        Transpose to zero (midpoint)
4446        Volume to 0.8
4447        Control to midpoint
4448        Triggers to on/off
4449
4450As of the first release in 0.30.8 large parts of the Controllers functionality
4451was only lightly tested. If you do not get the results you anticipate you may
4452require a fix.
4453
4454
4455
4456
4457    Bristol SID
4458    -----------
4459
4460In release 0.40 bristol introduced a piece of code that emulated the Commodore
4461C64 6581 SID chip. The interface uses byte settings of the 31 chip registers to
4462be close to the original plus some floating point IO for extracting the audio
4463signal and configuring some analogue parameters and the 'softSID' is clocked
4464by the sample extraction process.
4465
4466The chip uses integer maths and logic for the oscillators, ring mod, sync and
4467envelopes and emulates the analogue components of the 6581 with floating point
4468code, for the filter and S/N generation.
4469
4470The oscillators will run as per the original using a single phase accumulator
4471and 16 bit frequency space. All the waveforms are extracted logically from the
4472ramp waveform generated by the phase accumulation. Sync and RingMod are also
4473extracted with the same methods. The noise generation is exor/add as per the
4474original however the noise signal will not degenerate when mixing waveforms.
4475The output waves are ANDed together. The bristol control register has an option
4476for Multi waveforms and when selected each oscillator will have its own phase
4477accumulator, can have a detune applied and will be mixed by summation rather
4478than using an AND function.
4479
4480The envelope is an 8 bit up/down counter with a single gate bit. All the 4 bit
4481parameters give rates taken from the chip specifications including the slightly
4482exponential decay and release. Attack is a linear function and the sustain level
4483can only be decreased when active as the counter also refuses to count back up
4484when passed its peak.
4485
4486The filter implements a 12dB/Octave multimode chamberlain filter providing LP,
4487BP and HP signals. This is not the best filter in the world however neither was
4488the original. An additional 24dB/Octave LP filter has been added, optionally
4489available and with feedforward to provide 12/18dB signals. Between them the
4490output can be quite rich.
4491
4492The emulator provides some control over the 'analogue' section. The S/N ratio
4493can be configured from inaudible (just used to prevent denormal of the filter)
4494up to irritating levels. Oscillator leakage is configurable from none up to
4495audible levels and the oscillator detune is configurable in cents although
4496this is a digital parameter and was not a part of the original.
4497
4498Voice-3 provides an 8 bit output of its oscillator and envelope via the normal
4499output registers and the otherwise unused X and Y Analogue registers contain
4500the Voice-1 and Voice-2 oscillator output.
4501
4502The bristol -sid emulator uses two softSID, one generating three audio voices
4503and a second one providing modulation signals by sampling the voice-3 osc and
4504env outputs and also by configuring voice-1 to generate noise to the output,
4505resampling this noise and gating it from voice-3 to get sample and hold. This
4506would have been possible with the original as well if the output signal were
4507suitably coupled back on to one of the X/Y_Analogue inputs.
4508
4509The emulator has several key assignment modes. The emulator is always just
4510monophonic but uses internal logic to assign voices. It can be played as a big
4511mono synth with three voices/oscillators, polyphonically with all voices either
4512sounding the same or optionally configured individually, and as of this release
4513a single arpeggiating mode - Poly-3. Poly-3 will assign Voice-1 to the lowest
4514note, voice-3 to the highest note and will arpeggiate Voice-2 through all other
4515keys that are pressed with a very high step rate. This is to provide some of
4516the sounds of the original C64 where fast arpeggiation was used to sounds
4517chords rather than having to use all the voices. This first implementation
4518does not play very well in Poly-3, a subsequent release will probably have a
4519split keyboard option where one half will arpeggiate and the other half will
4520play notes.
4521
4522This is NOT a SID player, that would require large parts of the C64 to also be
4523emulated and there are plenty of SID players already available.
4524
4525Bristol again thanks Andrew Coughlan, here for proposing the implementation of
4526a SID chip which turned out to be a very interesting project.
4527
4528
4529
4530
4531
4532For the sake of being complete, given below is the verbose help output
4533
4534
4535
4536A synthesiser emulation package.
4537
4538    You should start this package with the startBristol script. This script
4539    will start up the bristol synthesiser binaries evaluating the correct
4540    library paths and executable paths. There are emulation, synthesiser,
4541    operational and GUI parameters:
4542
4543    Emulation:
4544
4545        -mini              - moog mini
4546        -explorer          - moog voyager
4547        -voyager           - moog voyager electric blue
4548        -memory            - moog memory
4549        -sonic6            - moog sonic 6
4550        -mg1               - moog/realistic mg-1 concertmate
4551        -hammond           - hammond module (deprecated, use -b3)
4552        -b3                - hammond B3 (default)
4553        -prophet           - sequential circuits prophet-5
4554        -pro52             - sequential circuits prophet-5/fx
4555        -pro10             - sequential circuits prophet-10
4556        -pro1              - sequential circuits pro-one
4557        -rhodes            - fender rhodes mark-I stage 73
4558        -rhodesbass        - fender rhodes bass piano
4559        -roadrunner        - crumar roadrunner electric piano
4560        -bitone            - crumar bit 01
4561        -bit99             - crumar bit 99
4562        -bit100            - crumar bit + mods
4563        -stratus           - crumar stratus synth/organ combo
4564        -trilogy           - crumar trilogy synth/organ/string combo
4565        -obx               - oberheim OB-X
4566        -obxa              - oberheim OB-Xa
4567        -axxe              - arp axxe
4568        -odyssey           - arp odyssey
4569        -arp2600           - arp 2600
4570        -solina            - arp/solina string ensemble
4571        -polysix           - korg polysix
4572        -poly800           - korg poly-800
4573        -monopoly          - korg mono/poly
4574        -ms20              - korg ms20 (unfinished: -libtest only)
4575        -vox               - vox continental
4576        -voxM2             - vox continental super/300/II
4577        -juno              - roland juno-60
4578        -jupiter           - roland jupiter-8
4579        -bme700            - baumann bme-700
4580        -bm                - bristol bassmaker sequencer
4581        -dx                - yamaha dx-7
4582        -cs80              - yamaha cs-80 (unfinished)
4583        -sidney            - commodore-64 SID chip synth
4584        -melbourne         - commodore-64 SID polyphonic synth (unfinished)
4585        -granular          - granular synthesiser (unfinished)
4586        -aks               - ems synthi-a (unfinished)
4587        -mixer             - 16 track mixer (unfinished: -libtest only)
4588
4589    Synthesiser:
4590
4591        -voices <n>        - operate with a total of 'n' voices (32)
4592        -mono              - operate with a single voice (-voices 1)
4593        -lnp               - low note preference (-mono)
4594        -hnp               - high note preference (-mono)
4595        -nnp               - no/last note preference (-mono)
4596        -retrig            - monophonic note logic legato trigger (-mono)
4597        -lvel              - monophonic note logic legato velocity (-mono)
4598        -channel <c>       - initial midi channel selected to 'c' (default 1)
4599        -lowkey <n>        - minimum MIDI note response (0)
4600        -highkey <n>       - maximum MIDI note response (127)
4601        -detune <%>        - 'temperature sensitivity' of emulation (0)
4602        -gain <gn>         - emulator output signal gain (default 1)
4603        -pwd <s>           - pitch wheel depth (2 semitones)
4604        -velocity <v>      - MIDI velocity mapping curve (510) (-mvc)
4605        -glide <s>         - MIDI glide duration (5)
4606        -emulate <name>    - search for the named synth or exit
4607        -register <name>   - name used for jack and alsa device regisration
4608        -lwf               - emulator lightweight filters
4609        -nwf               - emulator default filters
4610        -wwf               - emulator welterweight filters
4611        -hwf               - emulator heavyweight filters
4612        -blo <h>           - maximum # band limited harmonics (31)
4613        -blofraction <f>   - band limiting nyquist fraction (0.8)
4614        -scala <file>      - read the scala .scl tonal mapping table
4615
4616    User Interface:
4617
4618        -quality <n>       - color cache depth (bbp 2..8) (6)
4619        -grayscale <n>     - color or BW display (0..5) (0 = color)
4620        -antialias <n>     - antialias depth (0..100%) (30)
4621        -aliastype <s>     - antialias type (pre/texture/all)
4622        -opacity <n>       - opacity of the patch layer 20..100% (50)
4623        -scale <s>         - initial windowsize, fs = fullscreen (1.0)
4624        -width <n>         - the pixel width of the GUI window
4625        -autozoom          - flip between min and max window on Enter/Leave
4626        -raise             - disable auto raise on max resize
4627        -lower             - disable auto lower on min resize
4628        -rud               - constrain rotary tracking to up/down
4629        -pixmap            - use the pixmap interface rather than ximage
4630        -dct <ms>          - double click timeout (250 ms)
4631        -tracking          - disable MIDI keyboard tracking in GUI
4632        -load <m>          - load memory number 'm' (default 0)
4633        -import <pathname> - import memory from file into synth
4634        -mbi <m>           - master bank index (0)
4635        -activesense <m>   - active sense rate (2000 ms)
4636        -ast <m>           - active sense timeout (15000 ms)
4637        -mct <m>           - midi cycle timeout (50 ms)
4638        -ar|-aspect        - ignore emulator requested aspect ratio
4639        -iconify           - start with iconified window
4640        -window            - toggle switch to enable X11 window interfacen
4641        -cli               - enable command line interface
4642        -libtest           - gui test option, engine not invoked
4643
4644        Gui keyboard shortcuts:
4645
4646            <Ctrl> 's'     - save settings to current memory
4647            <Ctrl> 'l'     - (re)load current memory
4648            <Ctrl> 'x'     - exchange current with previous memory
4649            <Ctrl> '+'     - load next memory
4650            <Ctrl> '-'     - load previous memory
4651            <Ctrl> '?'     - show emulator help information
4652            <Ctrl> 'h'     - show emulator help information
4653            <Ctrl> 'r'     - show application readme information
4654            <Ctrl> 'k'     - show keyboard shortcuts
4655            <Ctrl> 'p'     - screendump to /tmp/<synth>.xpm
4656            <Ctrl> 't'     - toggle opacity
4657            <Ctrl> 'o'     - decrease opacity of patch layer
4658            <Ctrl> 'O'     - increase opacity of patch layer
4659            <Ctrl> 'w'     - display warranty
4660            <Ctrl> 'g'     - display GPL (copying conditions)
4661            <Shift> '+'    - increase window size
4662            <Shift> '-'    - decrease window size
4663            <Shift> 'Enter'- toggle window between full screen size
4664            'UpArrow'      - controller motion up (shift key accelerator)
4665            'DownArrow'    - controller motion down (shift key accelerator)
4666            'RightArrow'   - more controller motion up (shift key accelerator)
4667            'LeftArrow'    - more controller motion down (shift key accelerator)
4668
4669    Operational:
4670
4671        General:
4672
4673            -engine        - don't start engine (connect to existing engine)
4674            -gui           - don't start gui (only start engine)
4675            -server        - run engine as a permanant server
4676            -daemon        - run engine as a detached permanant server
4677            -log           - redirect diagnostic to $HOME/.bristol/log
4678            -syslog        - redirect diagnostic to syslog
4679            -console       - log all messages to console (must be 1st option)
4680            -cache <path>  - memory and profile cache location (~/.bristol)
4681            -exec          - run all subprocesses in background
4682            -debug <1-16>  - debuging level (0)
4683            -readme [-<e>] - show readme [for emulator <e>] to console
4684            -glwf          - global lightweight filters - no overrides
4685            -host <h>      - connect to engine on host 'h' (localhost)
4686            -port <p>      - connect to engine on TCP port 'p' (default 5028)
4687            -quiet         - redirect diagnostic output to /dev/null
4688            -gmc           - open a MIDI connection to the brighton GUI
4689            -oss           - use OSS defaults for audio and MIDI
4690            -alsa          - use ALSA defaults for audio and MIDI (default)
4691            -jack          - use Jack defaults for audio and MIDI
4692            -jsmuuid <UUID>- jack session unique identifier
4693            -jsmfile <path>- jack session setting path
4694            -jsmd <ms>     - jack session file load delay (5000)
4695            -session       - disable session management
4696            -jdo           - use separate Jack clients for audio and MIDI
4697            -osc           - use OSC for control interface (unfinished)
4698            -forward       - disable MIDI event forwarding globally
4699            -localforward  - disable emulator gui->engine event forwarding
4700            -remoteforward - disable emulator engine->gui event forwarding
4701            -o <filename>  - Duplicate raw audio output data to file
4702            -nrp           - enable NPR support globally
4703            -enrp          - enable NPR/DE support in engine
4704            -gnrp          - enable NPR/RP/DE support in GUI
4705            -nrpcc <n>     - size of NRP controller table (128)
4706
4707        Audio driver:
4708
4709            -audio [oss|alsa|jack] - audio driver selection (alsa)
4710            -audiodev <dev>        - audio device selection
4711            -count <samples>       - sample period count (256)
4712            -outgain <gn>          - digital output signal gain (default 4)
4713            -ingain <gn>           - digital input signal gain (default 4)
4714            -preload <periods>     - configure preload buffer count (default 4)
4715            -rate <hz>             - sample rate (44100)
4716            -priority <p>          - audio RT priority, 0=no realtime (75)
4717            -autoconn              - attempt jack port auto-connect
4718            -multi <c>             - register 'c' IO channels (jack only)
4719            -migc <f>              - multi IO input gain scaling (jack only)
4720            -mogc <f>              - multi IO output gain scaling (jack only)
4721
4722        Midi driver:
4723
4724            -midi [oss|[raw]alsa|jack] - midi driver selection (alsa)
4725            -mididev <dev>             - midi device selection
4726            -seq                       - use the ALSA SEQ interface (default)
4727            -mididbg                   - midi debug-1 enable
4728            -mididbg2                  - midi debug-2 enable
4729            -sysid                     - MIDI SYSEX system identifier
4730
4731        LADI driver (level 1 compliant):
4732
4733            -ladi brighton             - only execute LADI in GUI
4734            -ladi bristol              - only execute LADI in engine
4735            -ladi <memory>             - LADI state memory index (1024)
4736
4737    Audio drivers are PCM/PCM_plug or Jack. Midi drivers are either OSS/ALSA
4738    rawmidi interface, or ALSA SEQ. Multiple GUIs can connect to the single
4739    audio engine which then operates multitimbrally.
4740
4741    The LADI interfaces does not use a state file but a memory in the normal
4742    memory locations. This should typically be outside of the range of the
4743    select buttons for the synth and the default of 1024 is taken for this
4744    reason.
4745
4746    Examples:
4747
4748    startBristol
4749
4750        Print a terse help message.
4751
4752    startBristol -v -h
4753
4754        Hm, if you're reading this you found these switches already.
4755
4756    startBristol -mini
4757
4758        Run a minimoog using ALSA interface for audio and midi seq. This is
4759        equivalent to all the following options:
4760        -mini -alsa -audiodev plughw:0,0 -midi seq -count 256 -preload 8
4761        -port 5028 -voices 32 -channel 1 -rate 44100 -gain 4 -ingain 4
4762
4763    startBristol -alsa -mini
4764
4765        Run a minimoog using ALSA interface for audio and midi. This is
4766        equivalent to all the following options:
4767        -mini -audio alsa -audiodev plughw:0,0 -midi alsa -mididev hw:0
4768        -count 256 -preload 8 -port 5028 -voices 32 -channel 1 -rate 44100
4769
4770    startBristol -explorer -voices 1 -oss
4771
4772        Run a moog explorer as a monophonic instrument, using OSS interface for
4773        audio and midi.
4774
4775    startBristol -prophet -channel 3
4776
4777        Run a prophet-5 using ALSA for audio and midi on channel 3.
4778
4779    startBristol -b3 -count 512 -preload 2
4780
4781        Run a hammond b3 with a buffer size of 512 samples, and preload two
4782        such buffers before going active. Some Live! cards need this larger
4783        buffer size with ALSA drivers.
4784
4785    startBristol -oss -audiodev /dev/dsp1 -vox -voices 8
4786
4787        Run a vox continental using OSS device 1, and default midi device
4788        /dev/midi0. Operate with just 8 voices.
4789
4790    startBristol -b3 -audio alsa -audiodev plughw:0,0 -seq -mididev 128.0
4791
4792        Run a B3 emulation over the ALSA PCM plug interface, using the ALSA
4793        sequencer over client 128, port 0.
4794
4795    startBristol -juno &
4796    startBristol -prophet -channel 2 -engine
4797
4798        Start two synthesisers, a juno and a prophet. Both synthesisers will
4799        will be executed on one engine (multitimbral) with 32 voices between
4800        them. The juno will be on default midi channel (1), and the prophet on
4801        channel 2. Output over the same default ALSA audio device.
4802
4803    startBristol -juno &
4804    startBristol -port 5029 -audio oss -audiodev /dev/dsp1 -mididev /dev/midi1
4805
4806        Start two synthesisers, a juno on the first ALSA soundcard, and a
4807        mini on the second OSS soundcard. Each synth is totally independent
4808        and runs with 32 voice polyphony (looks nice, not been tested).
4809
4810The location of the bristol binaries can be specified in the BRISTOL
4811environment variable. Private memory and MIDI controller mapping files can
4812be found in the directory BRISTOL_CACHE and defaults to $HOME/.bristol
4813
4814Setting the environment variable BRISTOL_LOG_CONSOLE to any value will result
4815in the bristol logging output going to your console window without formatted
4816timestamps
4817
4818Korg Inc. of Japan is the rightful owner of the Korg and Vox trademarks, and
4819the Polysix, Mono/Poly, Poly-800, MS-20 and Continental tradenames. Their own
4820Vintage Collection provides emulations for a selection of their classic
4821synthesiser range, this product is in no manner related to Korg other than
4822giving homage to their great instruments.
4823
4824Bristol is in no manner associated with any of the original manufacturers of
4825any of the emulated instruments. All names and trademarks are property of
4826their respective owners.
4827
4828    author:   Nick Copeland
4829    email:    nickycopeland@hotmail.com
4830
4831    http://bristol.sourceforge.net
4832
4833