Barton/AO 4046 VC Wave Shaper

This is a Kosmo format module which is a modification of the Barton Musical Circuits 4046 Wave Shaper, adding voltage control.

The original module is described by Barton as follows:

This is an all analog synthesizer module used to create new timbres and waveforms with your existing VCOs. It uses a CD4046 phase locked loop chip in combination with a binary counter to multiply the frequency of the input signal. It then has 7 outputs divided down from that multiplied frequency which are mixed together. It’s simple to use and has a distinct sound.

(The original design is discussed more here: Barton 4046 Wave Shaper.)

In Barton’s design the seven signals (which are 0, 1, 2, and 3 octaves above and below the input signal) go into a simple mixer with a potentiometer attenuator on each channel to produce the module output. This modification replaces that simple mixer with a voltage controlled mixer, allowing use of control voltages to modulate the mix. If any of the seven control voltage jacks does not have anything plugged in, the CV is normalled to +10 V allowing the pot to behave like a signal attenuator.

An additional modification to Barton’s design is that the gain on the output stage can be varied using a pot on the panel. This allows reducing the gain to avoid clipping when mixing multiple large signals, avoiding the need to turn down all the channel pots and allowing use of their full range.

The module consists of a front panel and three PCBs. One of these is the PCB for the original 4046 Wave Shaper, available from Barton, assembled mostly as designed but with a few things changed. The second is a PCB holding the board mounted pots and switch as well as the parts associated with the voltage controlled mixer and the power input section. The third just holds the board mounted input and output jacks.

Quick demo here:



GitHub repository

There will be a few extra boards and panels up on Tindie in the near future.


I took some scope shots… Here’s a single octave, -3 with 440 Hz going in so it’s 55 Hz:

It’s not square because of the 100 nF decoupling capacitors going into the output stage. If you add the -2 octave (both turned up to full) it becomes

and so on. Here’s all 7 octaves:

That’s the ‘waveform’!

All these had the gain adjusted for about 8 Vpp. When I turned the gain all the way up the 7-fold sum looked instead like this:

A lot of clipping is going on at ±10 V. With the original Barton module if you wanted to avoid that clipping, you’d have to back all seven attenuators off. With this version you can just turn down the Level pot which reduces the final stage gain.


Ummm… Is there supposed to be a recursive link in the readme?

You mean the one to the GitHub repo? Sure. In case the README escapes and someone needs to find its home.

1 Like

I see. That makes sense.

The signal looks like it is being chopped. Is this because of how you implemented the VCA (using a 4066 as an attenuator by pwm of the switching frequency) ?
The switching frequency should be high enough not to be audible (and visible given the time scale of the plot I expect, but I’m not sure), or else you get an effect similar to a ring modulator.

Do you filter out the VCA chopping frequency from the output signal or don’t you have any dogs in your neighbourhood ?

1 Like

It’s not chopped, and there’s no PWM. It’s just what you get by adding square waves in octaves. For perfect square waves the result of adding octaves -3 to +3 would look like this:


but in the module it gets distorted by the decoupling capacitors.

It’s the same output you get from the original Barton design if you back off the attenuators to avoid clipping. The only difference here is you can use the single gain control to prevent clipping instead.

In this instance the frequencies being added are 55, 110, 220, 440, 880, 1760, and 3520 Hz, so no dogs were harmed in the making of this post.

Added: If you add ideal square waves in ratios of 1 : 1/2 : 1/4 : 1/8… (instead of 1 : 1 : 1 : 1 as above)… you get a sawtooth!:

chart (1)

I haven’t attempted that in hardware yet.


Please stop doing inverse fourier transforms with square waves and CD series logic - some things were not meant to be done…


This. This is why this is the best hobby. :smiley:


yes very cool , thanks AO [ Richard ] for putting the work into this and sharing ! .

1 Like

really cool place to add cv to this module!