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