VCDO as guitar pedal?

Started by Mr. Lime, October 15, 2019, 07:01:49 AM

Previous topic - Next topic

Mr. Lime

Different discussions about oscillators, wave shapes and bit crusher circuits have taken place in other threads and I have the feeling this one should be treated on it's own.


Electric Druid's VCDO (Voltage-Controlled Digital Oscillator) offers a lot of controls and Tom has some nice sounding clips recorded:
https://electricdruid.net/voltage-controlled-digital-oscillator-vcdo1/
The bitcrusher sound is especially what I'm after..

Datasheet:
https://electricdruid.net/wp-content/uploads/2015/07/VCDO-Datasheet.pdf

I guess he was using an analog Synthesizer which puts out a CV depended on the note that is played.
My question is, how can we use that chip for our guitars?

Do we need something like a frequency to voltage converter?
I think first of all the guitar input has to be boosted and gated for example with a zero-crossing detector.
Is there a need for a 4046 PLL to track the note frequency?

Any ideas are highly appreciated!  :)
Thanks for help

anotherjim

I think I'd use the 10bit ADC in a small MCU and send to a PWM DAC and mask out the LSB's for progressively lower resolution - although it might be feasible to make a standalone ADC to DAC for the same deal. At the same time, the samplerate can be adjusted for an aliasing effect.

ElectricDruid

+1 agree with Jim.

If what you're after if the bitcrusher sound, there are simpler ways to do that to a guitar signal than the VCDO.

The problem you will have with the VCDO is in the frequency->voltage tracking. This is fairly sensitive even fed from the V/Oct Note CV from an analog synth (as in the demo files you heard). The frequency is quantised to the nearest semitone, and if the voltage is not stable, it "skips" from one semitone to the next (interesting, but not always what you want...).

For a bitcrusher effect, look at some audio-rate sample-and-hold effects. This gives the same/very similar sound, without being exactly the same method.

anotherjim

The S&H types reduce both the resolution and sample rate at the same time. It is very much a lo-fi digital sound, but the sample rate becomes an audible constant which is a different sound from the crunching you get with reducing the bit resolution only while maintaining the sample rate above the Nyquist limit.
Bit reduction in my experience needs to be more severe than you might expect. Starting with 8bit is actually pretty clean, but surprisingly, it only starts to get interestingly nasty after the lowest 2 bits are taken out. The other thing is that the source audio needs be clean and full - distorted audio doesn't do so much.
I've had ideas of doing the bit reduction dynamically via an envelope - it either decays into crunch or starts crunchy and cleans on decay. I don't think cyclic LFO would be as useful unless tempo synced.


anotherjim

I'm not sure what to do for the ADC if you want to avoid an MCU.
The hard way is a ramp converter built around either an 8bit DAC or discrete resistor ladder. An 8-bit counter steps up the DAC voltage until it matches the signal level (from a sample & hold) to a comparator upon which the counter value is stored in an 8bit latch.
The clock rate of the counter has to be at least x256 of the required sample rate - ouch!
The easiest I've ever known is a flash converter which is basically a chip with an S&H and a stack of comparators. It can convert in 1.5us. Once upon a time, I could get a DIP20 ADC0820 converter from places like Maplin, but now it seems TI supply it in SMD form only. The datasheet is interesting, including a waveform recorder which is the basis of any digital recorder/echo/looper if you don't have speciality or computer chips.
http://www.ti.com/lit/ds/symlink/adc0820-n.pdf
There's also a 2 quadrant multiplier - what if the output DAC DC reference is a signal? Interesting possibilities.



ElectricDruid

Quote from: anotherjim on October 15, 2019, 01:44:26 PM
I think I'd use the 10bit ADC in a small MCU and send to a PWM DAC and mask out the LSB's for progressively lower resolution - although it might be feasible to make a standalone ADC to DAC for the same deal. At the same time, the samplerate can be adjusted for an aliasing effect.

This is definitely the way I'd go with it - it's a one-chip solution, after all. And since we don't want fantastic resolution, we can use some cheap chip. There's even an ATTINY412 8-pin chip that could do it - includes an 8-bit DAC on the chip, and costs pence.


Mr. Lime

Thanks for the input!
Well I thought it might be easier to take use of that bitcrusher.

Ring modulator and aliaser pedals often have following controls:

1)Sample Rate
2)Sample Rate Modulation (with another LFO the frequency is changing)
3)Resolution/Intensity (Duty Cycle Balance)
4)Bit Rate or Bit Depth (for example 128 - 1 bit reduction)

..but what's that bit rate/depth reduction in detail?
I understand "bit rate is the number of bits that are conveyed or processed per unit of time."
What's the difference to sample rate in an analog circuit and why are there pedals having both controls?
Is it just a divider of the sampling rate?
Thanks for help

ElectricDruid

A digital signal has discrete steps in two dimensions - X and Y, Time and Amplitude, the horizontal dimension and the vertical dimension.

Horizontally, the size of the steps in time is the Sample Rate. Faster sample rate/frequency = smaller slices of signal = better quality (and higher potential maximum signal frequency).

The size of the steps vertically can also vary. Due to every modern computer using binary, this is often specified in terms of the number of bits used, so 4-bit is 16 steps (2^4=16), 8-bit is 256 steps (2^8=256), 10-bit is 1024 steps, etc etc.

These two are independent. You *could* have a high sample rate like 96KHz with a very low resolution like 4-bit, or you *could* have a very low sample rate like 8KHz with 24-bit resolution! But such things would be a bit pointless, so the two figures tend to increase or decrease together - You'd be much more likely to see. 24KHz/8bit, 48KHz/16-bit, 96KHz/24-bit, etc.

The "bit rate" is the product of these two variables, the number of bits per second, and acts as some overall measure of quality. So taking my unusual examples, we'd have 96KHz x 4-bit = 384kbps, and 8KHz x 24 = 192kbps. It is a raw measure of the amount of information in the digital signal.

If you had controls to change the Sample Rate and the Resolution, you'd have all the controls you need. There'd be no point having a general "Bit rate" control as well. If you wanted to build a pedal with less knobs or didn't have enough space for a full control set, you could work out a "Bit Rate" control that did some combination of Sample Rate and Resolution reduction.

Note that Sample Rate can be continuously and smoothly variable (from 4KHz to 48KHz, say) but that Resolution is always in discrete steps (usually from X bits down to 1-bit). You can't really have a smooth "Resolution" control.

HTH,
Tom

Mr. Lime

Thanks for the detailed explanation, Tom!  :)

So basically having sample rate and resolution covers the bit reduction, just as I assumed.

More of interest I guess is the modulation of these two parameters.

Also I'm curious about the impact of signal filtering.
Some pedals have lowpass or bandpass filter controls. Are they sitting more likely in the front or at the back of the aliaser circuit?

Very view circuits are around where we could look at how it's done previously..
Thanks for help