Wednesday, 16 June 2010

Yamaha CS01

A note to document the modifications made to my Yamaha CS01 synthesizer. I may be selling this synthesizer in the next few weeks, if you are interested in buying it please send me an email.

The standard mod for this machine is to disconnect the resonance switch and connect resonance to one of the breath control knobs at the bottom left of the machine, thereby providing variable control over the resonance amount.

When I first looked at the CS01 circuit diagram, my instinct was to use the breath control VCF and VCA knobs for LFO modulation, in the absence of a breath controller being connected, and use a 10k slider from somewhere else for resonance. The VCA EG depth slider looked like a suitable candidate. Since the CS01 is a single envelope synthesizer, and the envelope generator is always hardwired to the VCA (as well as the VCF), the VCA EG depth slider merely acts as a second volume control and can be reused for something else. Then I thought maybe the old resonance switch could be reused as an EG / Gate switch for the VCA, to allow for filter envelope sweeps without affecting the volume level.

I started modifying the CS01 by connecting the output of the LFO to the breath control modulation knobs. The point marked TP6 on the circuit diagram is an AC coupled version of the LFO output, which ordinarily is connected to the modulation wheel pot. A 1k resistor connects the breath control modulation bus to ground when no breath controller is plugged in. By removing this resistor, the AC coupled LFO output can be connected here as well.

This works and provides LFO modulation of VCF and VCA; however there are problems because the modulation depth is rather low. Observing the modulation wheel circuit for the VCF, I noticed the output of the mod wheel pot is connected to the VCF cutoff frequency input via a 10uF capacitor and a 8k2 resistor, whereas the breath control VCF pot is connected via a 39k resistor. I increased the modulation depth by replacing the 39k resistor with an 8k2 resistor (so that the breath control VCF knob is capable of the same modulation depth as the mod wheel) and then noticed that the range on the cutoff frequency slider had been shifted by the extra load pulling the VCF cutoff frequency input towards ground. So I decided to AC couple the breath control VCF pot output and added a 10uF capacitor in series with the 8k2 resistor.

As an aside, it is interesting to note that the CS01 has no summing amplifiers for either the VCF cutoff frequency or the VCA volume level. All voltage sources are simply connected together with resistors and fed to the appropriate input. What results is a weighted mean for the VCF (modulation wheel, cutoff frequency slider, breath control knob, EG depth slider and internal fc ADJ preset) and VCA (breath control knob and EG depth slider). Therefore any change to the breath control modulation depth will affect the range of the other controls. Going from 39K to 8K2 does not seem to affect the other VCF controls noticeably once the decoupling capacitor is added; however with the VCA it is not so straightforward.

Observing that the VCF EG depth slider is connected to the cutoff frequency input using a 33K resistor, but the VCA EG depth slider is connected to the VCA input using a 39K resistor, I decided to replace the 39K resistor on the output of the breath control VCA knob with a 10K resistor and AC couple the output by adding a 10uF capacitor in series. The resulting tremolo is certainly louder than with the original 39K resistor (which was basically not audible at all) but turns out to be volume level dependent. With the VCA EG depth slider all the way up, the tremolo can barely be heard, and with the slider nearer the bottom the tremolo is much more noticeable.

The cause of the problem lies in the fact that the VCF cutoff frequency input has an exponential response, whereas the VCA volume input has a linear response. Wherever the other controls on the VCF are set, the VCF LFO modulation has an appreciable effect, whereas the effect of the VCA LFO modulation depends on what volume level the LFO is varying around.

However this is inherent in the design of the CS01 and the problem would be noticeable with the breath controller in the original design as well, so I decided to leave it at that. I had shown that the breath control VCF and VCA knobs can be used as LFO modulation depth knobs, rather than reusing one of them as a resonance control, so now all I needed to do was add a 10k pot for the resonance, rewire the old resonance switch as an EG / Gate switch for the VCA and I would have a very capable CS01.

Then I hit on the idea of using modulation sources other than the LFO for the mod wheel and breath control knobs, and my CS01 became rather more interesting. Sitting in a noodle bar late one night (a shout out to Dojos noodle bar in Cambridge at this point), I realised there were at least three modulation sources it would be nice to apply to the VCO, VCF and VCA. In addition to the LFO, the VCO itself and the noise generator would make good mod sources. So I sketched out a system of two three position switches in which the modulation source for the mod wheel (VCO or VCF switchable) and the breath control knobs (VCF and VCA) could be independently selected. Rather than drive the breath control modulation bus with the LFO directly, I would select from LFO, VCO and noise generator with a switch, and the mod wheel pot would also no longer be driven only by the LFO, but select from LFO, VCO and noise generator with a second switch.

This was implemented easily, the VCO output being available from pin 15 of the tone generator chip and the noise generator output being available in decoupled form at the WN (white noise) pole of the waveform switch. I only needed to add a 10uF capacitor to decouple the VCO output and all three sources would be in a suitable form to drive the mod wheel bus or breath control bus.

Now the CS01 is capable of filter FM sounds and noise modulation sounds, and even of slightly bending its square and pulse waveforms away from their original pulse widths (by modulating the VCO with its own output), it is a much more capable machine indeed. With the mod wheel destination set to VCF, it is possible to apply two different modulation sources to the VCF at the same time, by selecting one on the mod wheel and the other on the breath control VCF knob, and get some incredibly complex timbres. Examples include LFO modulated filter FM and noise modulated filter FM, as well as doubling the modulation depth by setting the two modulations to the same source.

Since the VCA EG depth slider is useful in the modified CS01 for increasing the apparent VCA modulation amount on the breath control VCA knob (by turning the EG depth down!) I decided to keep the VCA EG depth slider as is and added a separate 10k pot for the resonance control. Removing the original 10k fixed resistor and associated wiring for the resonance switch, I looked for a suitable source of a Gate signal to provide an EG / Gate switch for the VCA instead.

The TR# output (trigger) of the tone generator chip, pin 9, is at -9V when idle and at ground potential when a key is pressed (note the positive earth, PMOS technology of the CS01). This is the opposite of what I want; the envelope generator varies from 0V at idle to about -2.9V when fully open. The collector of Tr 8 on the other hand, pulled to -9V by a 47K resistor when a key is pressed but shorted to nearly 0V by Tr 8 when idle, is a good starting point.

Clearly this point is to weak too drive a 10k VCA EG depth slider by itself, so I added a PNP transistor (happened to have a few ZTX500 lying around), connecting its base to the collector of Tr 8, its own collector to -9V and its emitter via a 15k resistor to the new EG / Gate switch. The value of the resistor was chosen to make the volume of the synthesizer in the new VCA Gate mode close to the volume in the EG mode with the sustain level on the highest setting.

The final modifications I made were to incorporate the additional waveforms demonstrated in the following YouTube video.

These modifications work by selecting more than one waveform at once on the tone generator chip. Also known on the MOS 6581 SID chip from the Commodore 64 computer, here the combined waveforms actually work as expected. The waveforms are generated by digital counters and/or adders and output to a digital to analogue convertor. When you select more than one of them, the result is a logical AND of the waveforms selected. The most interesting new waveform available by this modification is the result of selecting triangle and sawtooth together. A very complicated waveform with lots of high frequency harmonics present (see the YouTube video for an oscilloscope trace), it can sound quite like a combo organ with a little VCO vibrato applied.

Since the result of combining the square and pulse waveforms is simply the same pulse waveform, I decided it was not necessary to be able to select both square and pulse at the same time. Triangle and sawtooth, on the other hand, should be independently selectable and combinable with each other and with one of square and pulse. This can be done by adding an SPST switch and a diode between N4# and F# for the triangle waveform, and another SPST switch and diode between N5# and F# for the sawtooth waveform. Selection of square or pulse waveforms can be done with the original front panel slide switch. Note that PWM cannot be combined with any of the other waveforms, since the PWM position works by having no waveform selected.

Finally, I made some minor adjustments to the presets onboard the CS01. Having a pitch bend wheel which only bends upwards was a source of some annoyance, so I disconnected the return spring and adjusted the f0 ADJ preset for the lowest frequency range. Now the pitch bend wheel sits in the central position and I can bend down a minor third or up a minor seventh. For some reason Yamaha used a log pot for the pitch bend wheel; anyway that is the range you get with the pitch bend wheel centred! The filter cutoff fc ADJ preset can be adjusted for the desired range on the cutoff slider; with the new breath control modulation resistor it may be necessary to adjust this preset to get the range you want. Lastly, the resonance Q ADJ preset can be adjusted for as much screaming resonance as you want at the maximum end of the new resonance pot. Unlike the earlier Yamaha CS filters, this iG02610 VCF can be pushed well into self oscillation in its standard configuration.

The CS01 in its current form has two three position rotary switches, two slide switches and one 10k pot dangling on flying leads emerging from the back of the case. In fact it has two extra pots as well, because the LFO rate slider and VCF EG depth slider weren't working on my CS01 when I bought it, and as yet I have been unable to get them working again. It would be a good idea to mount these in some sort of project box, once I have found one of the right size.

Further ideas I have had for modifications include replacing the 22k minimum rate resistors for the glissando, LFO and PWM rate sliders with something smaller, to increase the range available on these controls. It would also be good to use the envelope generator as a modulation source for a few more destinations. Connecting the EG to modulate the master clock oscillator for the tone generator chip should be easy enough, and it may be possible to modulate the pulse width in the PWM waveform instead of the usual PWM LFO, although I am still researching how the PWM LFO works and this may or may not in fact be possible from the tone generator chip's external connections.