Graphical Waveform Synthesiser Model X
0.1 04-OCT-2001 First draft
0.2 11-OCT-2002 More info having built first proto
1.0 03-JUL-2003 Finished
2. Change History
2.1. Edits 0.1 to 0.2
Originally I intended to have 32 faders. Once I tried fitting them on a veroboard, 32 seemed rather excessive so I have reduced to sixteen. This still allows generation of accurate eigth harmonic which compares well with the Hammond's ninth harmonic. A MAX038 oscillator plus breakpoint circuit as in the Hammondicon was going to be my HF oscillator solution. Good ol' Maxim seem to be incapable of producing any though, so I switched to a rather good transconductance triangle oscillator circuit which just about manages to get high enough in frequency with a clever compensation. Also, I originally used a resistor string and a switched system to interpolate between the fader voltages. This required the clock to run very fast and was abandoned after a new clockless linear interpolator was devised.
2.2 Edits 0.2 to 1.0
I've made a second scanning board so that you
can have two note polyphony via two MIDI-CV cards. Both boards
are now on a panel and it's complete, tuned and tested. It
sounds like a tonewheel organ.
This document summarises the workings of an electronic musical instrument which generates an output waveform based on the graphical positional settings of 16 physical linear potentiometers on a front panel. The position of each fader represents the instantaneous voltage of the waveform at a given point in the cycle of the fundamental frequency output. The instrument is Moog style voltage controlled and so can be connected to a proprietary Midi-CV converter. There are two scanning oscillator boards to allow two note polyphony.
4. Circuit Description
Switching Logic And Analogue Linear Interpolator
4.1.1. Fader Switching Logic
This sheet has the output connectors carrying the voltage from each fader to the second scanning board. The faders have each end of their travel connected to the +5V and -5V rails, so that each fader selects a voltage somewhere between these levels. 10uF capacitors on the wiper of each fader provide noise decoupling and a reservoir. Each fader is fed into the analogue switch bank. After reset, the switches both have "0" input values and thus select faders 0 and 1. The signal levels from faders 0 and 1 are fed through U7 and are then applied to each input of the linear interpolator. Q3 of U1 rising edge switches over the connections to each input of the interpolator and latches the current value of U1 onto U2 outputs. At this point, U2 would normally have registered the previous count, but we have just had a reset so the outputs remain at zero.
On the next falling edge of U1 Q3, though, U1 count goes to 1. This selects fader 2 and fader 1, with U7 in the correct sense for the linear interpolator to create a ramp from voltage 1 to 2. The next rising edge of Q3 sets U2 to value 1 which selects fader 3 while U1 stays at fader 2, with U7 again changing state to switch the outputs to the correct input of the interpolator. The result is that the fader combinations 0-1 1-2, 2-3, 3-4, etc are presented to the inputs to the interpolator on each half clock cycle of HF_CLOCK.
4.1.2. Analogue Linear Interpolator
This involves a method of clockless linear interpolation between the fader steps. The pairs of fader voltages are presented at the two switch outputs in the correct order i.e. 0-1 then 1-2 then 2-3 etc. The voltage difference between these outputs represents a voltage proportional to the slope between the two points. So if this voltage can be converted to a bipolar current and fed into a capacitor, the circuit will generate exactly such a straight line slope. The overall gain of the interpolator depends inversely on the capacitor value and the sample period, and directly proportionally to the voltage controlled current source transconductance. This means that the output amplitude would normally reduce as the frequency increases, as the integrator naturally reduces output at -6dB per octave. This is cleanly compensated for by making the current source from a transconductance amp and increasing the programming current along with the oscillator CV and the tracking filter current drive.
The circuit implementation is a CA3080 operating in the linear region. The differential input controls the magnitude and sign of the output current and hence the voltage slope between each fader. The programming current increases the gain of the integrator as the sample period decreases and thus keeps the output amplitude constant. The 1M feedback resistor gives some stabilisation of the d.c. operating point. The offset contol on the inputs is best used to adjust for minimum offset at highest programming current. The offset contol on the output is used to compensate for leakage currents that cause the output to drift off at low programming currents. The input balance control allows the differential pot-downs to be set exactly equal so that square wave outputs are square and don't have ramps instead of flat tops. This is set at A440. The 10M resistor sets the waveform droop rate and is visible at very low operating frequencies. The output is d.c.coupled into the tracking filter minimising signal droop.
You really do need these offset tweaks; There
is no other way to do it. The FET buffer is essential and
probably better than using a FET op-amp as there is minimal
leakage and it is fast. If you use an LM13700 in this position,
the on-board Darlington buffer takes too much input current and
the corresponding output offset adjust resistor has to be too
low value and makes the output droop. Also if you try
compensating for offset changes by using two LM13700 sections
with the inputs wired inversely, and take the output difference,
you find that...
1) The offsets of the two common die amps do not behave the same way at all.
2) Tweaking the offset of one amp makes the other offset vary radically. Not useful. I found this property most weird, and was convinced I had a wiring error. After extensive checking and getting desperate I rebuilt the circuit on a separate piece of board; Same result. I'm still not sure what was going on here as it seems improbable - but then there are no Nat Semi application circuits with offset adjusts on LM13700s. Hmmm, makes you think.
4.2. LM394 Exponentiator waveform02-02.sch
This page has the usual exponentiator circuit.
The voltage output from the exponentiator also drives a current source which alters the cutoff frequency of a voltage controlled filter. The current gain of this circuit and the filter components are chosen such that when all the faders are set alternately at opposite ends, the filter is just beginning to roll off the output. Setting like this allows the full bandwidth of the desired output to pass while providing maximum attenuation of the the higher sampled images of the signal and any clock feedthrough.
A second current source drives the linear interpolator. Two separate current sources are needed for the tracking filter and linear interpolator because the different transconductance amps have different bias architectures; The current inputs sit at different voltages and will not current share.
4.3. Compensated HF VCO and Tracking Filter waveform02-03.sch
This sheet has the high frequency VCO and the tracking filter. The VCO is quite clever using both sides of a dual transconductance amplifier in saturated mode. Amp 1 is current saturated either high or low and hence the output ramps up or down at a speed dependant on the programming current. Amp 2 forms a comparator whose hysteresis and so the output amplitude is set by the programming current and the output resistor. This programming current would normally be fixed. All comparator type oscillators of this type suffer from a linearity drop-off at high frequency due to the fixed delay in the comparator. Here I reduce the amplitude of the output, and hence increase the frequency at the high end, by reducing the AMP2 programming current linearly with the linear CV voltage. This compensates very well and the "Compo" pot is normally adjusted to bring the frequency up to the desired output at CV=9V and then tweaked in conjunction with the rough tune pot for good linearity compromise.
Using a FET buffer rather than the on-board Darlington is essential to maintain good linearity at the low end, otherwise the duty cycle and frequency goes bad due to the Darlington buffer input current pulling the voltage on the cap towards -14V.
If the duty cycle of the HF oscillator is poor this is manifested as wild variation of the output offset voltage when the waveform is adjusted on the faders. So good oscillator duty cycle is essential. Offset variation with control current/frequency can be reduced to less than 2Vpp over the whole range of CV = 0 to 9, so there should be no danger of hitting the rails. The tracking filter provides some gain for the approx 150mVpp output of the interpolator and the low input impedance of the filter is why I didn't a.c. couple between these two stages. The offsets are small enough and the gain of the filter low enough so that the d.c. offset isn't amplified too much.
The tracking filter is standard design from the Nat Semi application sheet. The two 100pF caps on the input are just to try to filter out the small glitches that are still present on the signal from the interpolator section. The output of the filter is a.c. coupled into a final op-amp output stage which has 6dB/octave HPF at 30Hz and LPF of 16kHz
I think this circuit has a nominal Q of 1/root2, i.e. Butterworth response. If we were feeding a normal staircase DAC waveform into it we would want a bit more Q to create something close to the reconstruction transfer function required. As we have got the linear interpolator it seems intuitive that we need less Q, so I have left the filter Q as is, pending further thought on the issue.
4.4 Second Scanning Board and Sound
I'm sure that many people have built designs such as this before and been a bit disappointed when they set up the faders or pots to give a violin or clarinet waveform (out of an old text book) and found that it sounded nothing like it. It just goes to show that real instruments and interesting synth sounds have complex dynamic waveforms with constantly changing spectra. What I've made here is a time domain tonewheel organ - without the tonewheels. You draw a waveform rather than altering harmonic drawbars. Still, not to be in any way downhearted, there's nothing wrong with having two more sources of Hammondesque sound. Also, with a selection of VCFs and other standard modules yet to come, I have a couple of highly flexible waveform VCOs here.
The second board is identical to board 1 but it has no faders on board and no reservoir caps. A wire bus on Molex headers links to the fader voltage outputs on board 1. The completely independent oscillator on board 2 reproduces exactly the same waveform as board 1 but at a different frequency. This will be quite unlike playing two notes on a single Hammond where the additional frequencies added by the second note played are still locked to the main synchronous motor. It will be rather more like playing one note on one Hammond and playing another on a separate organ which by the miracle of imagination is plugged into a generator running at a slightly different mains frequency. I will be able to decide how much difference by adjusting the delta tune knobs on the MIDI-CV converters.
Gratuitous sidetrack: Ah, the Scopex 4D10A! (the one with the green LED power indicator instead of the earlier 4D10's neon) Bought for the rather excessive price of £90 from Diverse Devices in Southampton in 1990 it actually has served me flawlessly since then. As the guy in the shop (Bob Pease style wild beard, soldering iron, pipe, slightly grumpy monosyllabic, sandals) pointed out, "At least it's all solid state so you won't have valves burning out, you won't get a hernia moving it, and there's no valve sockets to go scratchy weak-sping contact on you." He was right. The 4D10A's white screen printing on the front panel is fine, but it's rather a shame that the brown (?) anodised aluminium background has faded to almost the same colour of off-white. The 4D10 and 4D10A are a prime examples of economy engineering and features, providing a nice stable dual trace 10MHz scope with absolutely everything else stripped off. XY facility? No. Just bung a 4mm socket X input on the back panel and advertise a separate X amp module that no-one ever buys so you never have to actually make it. Switchable trigger between A and B? No, you have to swap the probes over. Anyway...
Deliberately Approximate sine wave
1) At the switch matix output, with the HF clock on the lower trace
2) At the output of the linear interpolator. The pictures are a bit fuzzy because of the exposure time and I wobble.
3) At the final output - slightly smoothed off by the tracking filter.
1) Top side
2) Bottom side. See the SMD 10uF ceramic reservoir caps. (No, they're too small!) No room for the Molex headers on the other side, I had to solder them in on this side or they would clash with the front panel.
3) Both boards on the completed 3U panel viewed from the top side. I think the faders are too close together to have the standard knobs put on, and I can't quite bring myself to buy a pack of ten to find out.
4) The rear board with the wire link bus to the faders on board 1 on the left.
The picture at the top of the page shows the unit installed in an EMS500 rack/flight case.