A single chip 1V/Oct voltage controlled digital oscillator, with 20 waveforms in a scannable wavetable.
The VCDO uses a PIC 16F1847 microprocessor to create a versatile and simple voltage-controlled 8-bit digital wavetable oscillator. All oscillator parameters are controlled by 0-5V control voltages. The chip has a native exponential control response, making interfacing with 1V/Oct control voltages very simple, even without an exponential convertor.
Scanning through the wavetable with the Waveform knob. Sub Osc is a simple sine 2 octs down:
Starting with a straight sound, then wrecking it with delicious bitcrush:
Glide between notes:
A ‘ping’y sound with a touch of envelope to the wave CV:
Switching through a few of the Sub Osc options. There are 8 waveforms, each available either -2 octs, -1 oct, Unison, or +1 octave.
Scanning through the wavetable with an envelope:
Note that none of these sounds include any filtering. They were recorded using a Sequential Pro-One to provide a CV and VCA (via the External Audio input) but the filter was left wide open.
Additionally, Rick Holt has some great sound examples (much better than mine!) over at the Frequency Central VCDO page. He builds and sells a module based on my chip.
Exponential frequency response with no exponential convertor
The Note CV input accepts 0-5V control voltages to cover the MIDI note range 0-63. The highest note the VCDO can produce is Note 120, 8372Hz.
10 octave note range from 8.18Hz to 8372Hz
The basic frequency range of the VCDO is ten octaves from MIDI Note 0 to MIDI Note 120. The NOTE CV input is quantized to semitones, but the FREQ MOD CV input is not.
Main Oscillator with 16 waveforms arranged as a wavetable
The chip can produce 16 output waveforms. Rather than switch from one to another, the oscillator is able to crossfade from one to the next, creating a wavetable which you can scan through under voltage control.
It would have been easy to include standard waveforms like ramps and triangles, but there are many oscillators that produce those. This oscillator has its own character and provides something different.
Separate Sub Oscillator with 8 waveforms at four octaves
As well as the main oscillator, there is also a sub oscillator with 8 waveforms. Each waveform can be selected at one of four octaves, either +1 octave (above the main osc pitch!), in unison, -1 octave, or -2 octaves.
The BITCRUSH CONTROL input controls the sample bit resolution of the output. This can be reduced from 8-bit down to 1-bit in eight steps.
The chip also includes a glide/portamento effect, without requiring an external lag processor for the control voltage. Glide times range from 12ms/octave to 2.4secs/octave. Turning the GLIDE CONTROL to minimum switches the glide effect off.
8-bit, 62.5KHz sample output rate
The internal waveforms and calculations are 8-bit, and new samples are output via the on-chip PWM modules at 62.5KHz. The PWM modules’ outputs are at 125KHz. The fact that this is higher than the sample rate allows more effective PWM filtering to be applied. The two-stage 24dB Bessel filter provides the best-possible pulse filtering.
Easy interfacing to control voltage mixers
The inputs intended for control voltages have an inverted response to make it simple to interface them with an inverting mixer. This is shown in the application circuits.
The waveforms and an example circuit are in the datasheet.
If you’d like to build one, or like to know how I built mine, perhaps you’d like to look at:
- VCDO PIC 16F1847 ASM code
- Assembled HEX code from above file
- VCDO datasheet (includes example circuit diagrams, example waveforms, and chip pinout)
VCDO elsewhere on the web
Rick Holt has a DIY PCB for this project over at his website – Frequency Central VCDO DIY page.