Hammond Organ Sound Generator
This document summarises the workings of an instrument designed to reproduce single note audio outputs which are very close to those produced by the early models of Hammond Organ. The instrument as such is a prototype built on matrix board and is for my own experimentation. There is an exponential VCO CV input such that the instrument can be used under the control of a MIDI analogue synthesiser controller. The instrument is housed in a 4U 19" rack case. The different modules will be described in the text.
Originally, the prime harmonics were generated with 74HC4046 PLLs which were spot-on accurate but would take some time to reach their final frequencies, especially when running at low frequencies. They also limited the useful frequency output range and I decided to dump them in favour of not quite spot-on divided-down frequencies. It occurred to me that with a limited number of gears and teeth on the Hammond tonewheel generator, this might be authentic anyway. You can tell that the harmonics are not quite locked by looking at the output signal on an oscilloscope. With locked harmonics the waveshape is completely still and identical on every repetition. With unlocked ones, the waveshape "wibbles" slightly. Looking at a mechanical Hammond output signal and comparing with a later electronic phase locked one would be interesting. Maybe this could account for one of the differences in sound quality of electronic versus electromechanical Hammonds.
Originally the device was not intended to change frequency rapidly and be a real CV instrument. The HF VCO was implemented to achieve this and took some effort. Previously this was done with another 4046 PLL and could be locked to a CV VCO input over a limited range of frequencies. This was changed because of fears over its response time.
Another way to implement a similar circuit to vibrato 2 is to use a ring modulator fed with wideband quadrature shifted audio, i.e. a baseband SSB generator.
Picture From The Archives of Front Panel Construction
This was originally constructed using Iabc max = 1.5mA and no pull-down resistors on the transistor bases. This was noisy for two reasons. The CA3080's change in input offset voltage over the full zero to 1.5mA control current range is large and unpredictable. The max control current is now 150uA, and this reduces the amount of low frequency control noise at the frequency of the LED switching. It was found also found that there were very short glitches on the control output logic. In themselves these very short pulses are not harmful, but due to the diode-OR type output arrangement, a very short negative glitch would be amplified in time by the slow turn-off time of the transistors without pull-downs. 10k pull-downs were added and HF switching noise subsided considerably. The position of the 180pF glitch smoothing caps is not ideal and would be different in a new circuit, to equalise the rise and fall times. As built, there is no physical room for changes in the circuit.
Archive Picture Of Inside Construction
The principle of operation of a tonewheel organ is to have a fundamental output frequency for each note to which you can add upper and lower harmonics in varying amounts. This device uses a high frequency square wave oscillator which is divided down to provide the fundamental and even harmonics in square wave form. The fundamental is nominally 0.5kHz. The prime numbered harmonics are approximated by dividing down from the H.F. clock with programmable dividers. The frequencies are thus not exact but are very close. The remaining harmonics can be generated by using dividers from the prime numbered harmonics. Note that because of this, the "prime numbered" harmonics are not necessarily really prime, but often multiples of them to facilitate this dividing method. e.g. the tenth harmonic is generated from a divider, and the 5th harmonic is then obtained with a simple flip-flop divider from the 10th harmonic.
These square-wave outputs need to be filtered to obtain sine waves. Switched capacitor low-pass filters are used to do this. The clock inputs of the filters are driven from one of the high-frequency divider outputs of the VCO. The particular divider output used is chosen based on getting the corner frequency close to the fundamental of the particular signal being filtered without causing too much attenuation. As the filter corner frequency changes with the clock inputs, the filters will track the input signal and maintain a constant output level and filtering relationship.
The sine wave outputs generated can be added together as desired using front panel level controls, in a similar way to that possible using the drawbars on a tonewheel organ. The front panel controls also have voltage control inputs for each harmonic, allowing harmonic levels to be varied by an ADSR unit, or some other control voltage source.
The vibrato unit in the original A-100 organ is based on a capacitive pickup which rotates inside a screened box around a set of stationary capacitive pickup points. The result is that audio from each of the stationary inputs goes out to the rotating pickup in turn. Also, the switching from one 'emitter' to the next is a smooth transition; When the pickup is half way between the two sets of emitter plates it will be picking up approximately one half signal voltage from both. The emitter plates are connected to a phase/delay line made of same valued Ls and Cs, a bit like the very simple circuit model for coaxial cable. The connections are made in such a way that when the scanner rotates, the pickup point moves up and down this line. As the audio input is at one end, and it suffers an approximate delay as it travels along, the pickup point experiences what is analogous to audio "doppler shift" as it traverses the line. So when the pickup point travels away from the input, the frequency seen at the pickup is shifted downwards, and vice versa.
It is worth noting that the phase/delay line is neither a true delay line nor a true phase shift. It is somewhere between the two, having a delay component and a phase shift component. The effect is rather like very dispersive co-ax.
New Vibrato Circuit
The original vibrato circuit has several problems. Probably the most noticeable is the breakthrough of the switching signal from the logic due to the offsets of the VCAs. Also the vibrato amount is fixed.
The new vibrato circuit adopts a different approach which dispenses with the scanning method altogether. Each phase shift element in the phase-delay line has a VCA associated with it that varies the amount of phase shift that it contributes. By varying the control voltage which is common to each VCA, the phase-delay of the line can be varied from a minimum value to the maximum value smoothly, at any rate desired. If more vibrato is needed then more sections can be added to the line and the vibrato amount varied by adjusting the amplitude of the variations in the control voltage. When the control voltage is a maximum there will be little phase-delay and this is equivalent to the scanner being at the zero end of the line. When the control voltage is at a minimum the phase-delay will be at a maximum and this is equivalent to the scanner being at the far end of the line. This gives you a similar style of operation to the Hammond vibrato; The amount of frequency shift is proportional not to the magnitude of the demand voltage, but to the rate of change of the demand voltage. This is analogous to the Doppler shift of an approaching ambulance being proportional to its speed of approach and not how far away it first set off from.
This circuit will not produce an exact Hammond scanner type vibrato, but it is hoped that it will be a more flexible and quieter circuit than the VCA scanner circuit already implemented. It will be interesting to see what the effect of the changing 'corner' frequency of the line as the control voltage changes will be.
More Theory Of Operation
The phase shift of the phase shift circuit does not change linearly with control current. It is an inverse Tan function which approximates a 1/x kind of curve. A compensation circuit using a VDR as one half of a pot was tried, to give a d.c. control response that was approx 1/x. This suffered from offsets and various problems and a squaring circuit was devised which compensates quite well for the phase shifter response without the 1/x circuit pathologies. The chart below shows the overall compensated response of a single phase shifter section. The compensated response shows an s-shaped curve which is fairly linear over the desired -20° to -140° range. The s-shape is OK, as the resultant output frequency will go up as much as it goes down when a sine or a triangle wave is applied. This is more important than the ultimate linearity. You could even argue that a softer response at each end would give a more realistic, violinist style vibrato. Twelve sections have been implemented to give a total phase shift of 4X360° at 1kHz which I think is certainly as much as that available from the Hammond A100 L-C phase shift line.
There are many op-amps and OTAs in this circuit, but the cost-conscious designer will note the remarkably low price of the TL074 and the CA3080.
controlled phase shifter response when compensated with
Detailed Schematic Descriptions
This sheet contains all the dividers which generate the square wave harmonic signals from the high frequency clock. When the high frequency clock equals 576 KHz the fundamental output will be 0.5KHz. So for A440 output, HF clock must be 506.88 KHz. As the maximum HF clock frequency is nominally 4MHz the highest note we can get is about three octaves above A440. This should be adequate. The dividers for 2.5 and 3.5 KHz outpus are non-integer power of two numbered dividers and their output frequencies are not exact. To get exact frequencies would require fractional division of the input signal or a much higher frequency HF clock. The errors are 1/60 of a semitone for 2.5kHz and 1/20 of a semitone for 3.5kHz. 1/60th of one semitone is definitely close enough. 1/20th of one semitone is close enough for my ear.
This sheet contains the logic for generating the select signals which drive a set of VCAs. The VCAs connect to the delay line at the pickup points and so can be made to act rather like the scanner if driven in the right order. The circuit is fairly self explanatory. One of the points to note is that this circuit needs no special reset circuitry. There is no way this circuit can get trapped in a disallowed state where it would need a manual reset e.g. after some transient pulse. The more obvious way to create a "travelling one" is with a string of shift registers. But it is easy to see after some thought that this is not as easy to reset, and special logic would be needed to prevent a transient causing a "more than one travelling one" scenario.
This is the phase-delay line. Each section is an all-pass phase shifter where the mid point of the phase transition is at about 1kHz.
This sheet contains the VCAs used to pick up the signal from the points in the phase-delay line. The scanning logic generates a travelling "1" which supplies a voltage at the top end of the resistors. The weighting of the resistors causes the gain of each VCA to increase and decrease as the 1 travels past the lowest value resistor in the set for each VCA. The resistors overlap so that as the gain of one VCA is decreasing, the next one in the chain is already increasing. The current outputs from the VCAs are summed in the last op-amp. Each preset pot is an offset adjustment. The best way to set these is to listen carefully to the output of the vibrato and adjust each preset for minimum noise contribution. The noise caused by the offsets can be minimised but not totally eliminated. Let's be satisfied by calling it a musical feature of this particular unique instrument.
These are the LEDs which show the operation of the scanning logic. The top three LEDs are not normally used. Correct operation is shown by the light scanning from C0 to C28 and then back to C0. The LEDs are only on the board and don't have front panel repeaters. This is unfortunate, but practical.
This is the stack of transistors which drive both the LEDs and the VCA resistor chains. The 10K resistors and 180pF capacitors slew the voltage appearing at the VCA resistor inputs and so reduce the amount of noise induced by the offset voltages of the VCAs.
5.7. HAM03-01 And HAM03-02
These sheets contain the tracking switched capacitor filters which are mostly responsible for turning the square wave inputs into sine outputs. The output signal from the filters is low-pass filtered to remove as much of the higher signal images as possible. The input signal to the filters is low-pass filtered too, to avoid aliasing. The output adjustment pot allows the output level from each of the filters to be equalised, as the relationship between input frequency and filter Fo for each filter is not exactly the same.
5.8. HAM04-01 And HAM04-02
These show the VCAs used to vary the contribution from each of the sine harmonic generators. The control voltages are designed to go from 0 to 5V and are provided from a set of front panel pots or input sockets. The sockets override the pots when a jack is inserted. The last op-amp on HAM04-01 sums the current outputs from each of the VCAs. I intend to re-wire the front panel such that if a control voltage is inserted on a jack, it will feed not only to the harmonic of that socket but all higher harmonics. This will enable spectrally time variant musical voices to be produced, without requiring an excessive number of patch cord splitters.
Four further VCAs vary the amount of output which is taken from either the vibrato 1 circuit, vibrato 2 circuit, super chorus summer or direct from the sum of the harmonic generators. Adding both vibrato and direct paths into the output gives the standard Hammond chorus effect.
The input voltage range for the vibrato demand is ±1V, so signal sources may be d.c. coupled. The input demand voltage goes via two routes. One is a buffer which feeds the variable gain input circuit via the square gain pot. The other route feeds the current source which actually sets the gain of the variable gain circuit. The output from the variable gain circuit is therefore a current which is proportional to one voltage multiplied by the other. As both input voltages are directly proportional to each other, we get a square law output current. The output compliance range of the CA3080 is sufficient to simply put this current into a resistor to get a voltage output. Another standard current generator driven by this voltage provides the control currents for all of the variable phase-shift sections. The 4.7MOhm resistor on the compensation OTA sets a minimum current to avoid dropping down to the cut-off condition. A standard adjustable regulator gives a 5V reference and an inverting op-amp provides a negative 5V rail which tracks this. The output of the variable phase line returns to this sheet and is fed to a 2-pole HPF with an Fo of 100Hz and Butterworth response. This is intended to remove any feedthrough of the demand voltage which can occur due to the change of offset voltage of the OTAs with control current. If this feedthrough turns out to be problematic, a higher order filter or a cancellation scheme are possible solution candidates. The maximum intended vibrato input frequency is about 30Hz but the circuit should respond up to 300Hz or more, for effects purposes. The diode feedback in the current sources is solely to stop the op-amps saturating if the input demand signal is too large.
A triangle oscillator has been added to provide an internal linear VCO to drive the vibrato. This has ±1V output and accepts the standard 0 to 5V control voltage. Output frequency is about 1Hz to 30Hz.
The max current into these sections is about 300uA each. The 4.7K resistors on each phase shift section share the current more or less equally. The top op-amp in each section is in a standard all-pass phase shifter configuration with the adjustment being provided by a voltage controlled resistor. The lower op-amp and the OTA provide the VCR. 1M resistors set the minimum current which in turn sets the minimum phase shift value. These resistors also provide some of the roll-off at the top end of the s-shape phase shift vs control voltage curve, and prevent the circuit from floating off at minimum phase shift demand. The minimum current setting reduces the operating current range of the OTAs hence reducing the offset variation with control voltage. The negative feedback around the lower op-amp buffer is strong to further counter the variable offsets of the CA3080s. There are no offset adjustments, with any control voltage feedthrough being tolerated and rejected by the output HPF.
This sheet is simply a continuation of the variable phase shift line.
MAX038 Linear HF Oscillator
The oscillator is a device made by Maxim. A control current varies the output frequency which is fairly linear, but needs correction with the rather clumsy diode breakpoint circuit. A better than semitone accurate linear VCO running up to 4MHz is difficult to make, but since this project was completed a suitable circuit was eventually produced. This can be seen in the waveform synthesiser project.
Exponential Voltage Converter
This is a standard circuit which is adjusted for octave changes at AP1 for 1V input changes with the diode breakpoint circuit disconnected.
Diode breakpoint Circuit
This is needed to compensate for the kHz/Volt fall-off of the MAX038 oscillator as the frequency increases. The adjustment procedure is non-trivial, and rather tweaky. I have used HFCLK frequencies for convenience. It goes something like this...
Turn all breakpoint voltage pots to
maximum, and all breakpoint gain pots to minimum effect.
Let everything warm up and adjust the exponential converter first. Set CV = 0V and tweak the rough tune pot for 16kHz. 16kHz is used so that the target frequencies are familiar binary multiples.
Check Fout at 1V, and reduce the first BPV1 to set it to 32kHz if needed.
Switch to CV = 2V and turn up BPG1 so that Fout hits 64kHz. Re-check 32kHz, and turn BPV1 up if needed to bring Fout back to 32kHz. Iterate these two steps for best compromise.
Turn to CV = 3V and check if it is close enough to 128kHz. It may be (if so move on to higher CV, but if not then reduce BPV2 so that it starts to increase.
Turn to CV = 4V and increase BPG2 so that Fout is 256kHz. Go back to CV = 3V and increase BPV2 so that Fout is reduced back to 128kHz.
Check that Fout is still 256kHz at 4V and increase BPG2 if needed, iterate these two steps for best compromise.
When the entire range to 4MHz has been covered, set front panel fine tune to midway and adjust rough tune pot for A440 output with CV = 5V.
Etc. Tweaky trim procedures like this, especially where one trim interacts with another I generally deem unnacceptable. However, at the time this was the best solution available to make it work. I have managed to get sub 0.5% accuracy over the range doing this, without going to too much trouble. This is 1/10th semitone accuracy. 4 breakpoints were certainly sufficient. It is handy to measure the breakpoint voltages as they are tweaked downwards so that you are not tempted to turn the higher order BPV to a lower voltage than the previous one.
Initial Harmonic Digital Dividers HAM01-01.SCH
Power Supply Regulators HAM02-01.SCH
Switched Capacitor Filters HAM03-01.SCH
Aux PSU and More Tracking Filters HAM03-02.SCH
Controlled Drawbars HAM04-01.SCH
More Voltage Controlled Drawbars HAM04-02.SCH
Straight, Vibrato and "Super Chorus" (tm:) VCAs HAM04-03.SCH
Pseudo-Hammond Scanner Transistor Drive Array HAM05-01.SCH
Internal LED Display For Messy Scanner HAM05-02.SCH
Pseudo-Hammond Scanner Pickup HAM05-03.SCH
Fixed Multiple Phase Shift Line HAM05-04.SCH
Scanner Logic Drive and Oscillator HAM05-05.SCH
Controlled Vibrato With Inverse Tan Compensator HAM06-01.SCH
Voltage Controlled Phase Shift Line 0 to 5 HAM06-02.SCH
Voltage Controlled Phase Shift Line 6 to 11 HAM06-03.SCH
MAX038 Based HF Oscillator HAM06-04.SCH
Front View With Drawbars
The harmonic "drawbars" are across the top, with the corresponding voltage control inputs for them underneath each manual knob.
Lasagne Circuit Board Construction Inside
Showing the robust "Lasagne" construction technique of piling the various veroboards on top of each other separated by old Farnell bag insulating layers. HAM06 is visible on the top layer of mince.
74HC4059 Divider And MF4 Switched Capacitor Filter Bank
I've lifted out HAM06 and you can see the HAM01 divider board underneath. This uses the 74HC4059 "divide by n" chip, and an alternative to this nearly obsolete device is shown in the A440 oscillator design. The switched capacitor filter bank is just visible on a smaller board near the back left.
Spanish Flea final version done on analogue synth with Hammondicon in the lead