[sdiy] Digital VCA
Tom Wiltshire
tom at electricdruid.net
Sat Aug 27 12:38:36 CEST 2011
Matthew,
It's an interesting notion, but what's the advantage?
You finish up needing an ADC and DAC and a processor all to do one multiplication in the digital domain. Hardly worth the effort in my view.
Still, aside from my qualms about the reasonableness of the idea, it's perfectly workable. Signed multiplication of signals gives you ring modulation. But if one of the signals is unipolar (like the envelope will be) then you get amplitude modulation. It really *is* that simple.
As you say, most of the issues are going to be in signal conditioning going in and coming out. You need to make sure that levels and any DC offsets (since many ADCs are 0-5V not bipolar) are correct going in, and depending on the sample rate, you might need anti-alias filtering too. Serious engineers will say you should. In practice if you're reasonably sure that whats going in only has significant energy in the audio band and you've got a decent sample rate you'll be fine. Note that this might exclude the output from some analog VCOs which have ramp waves that will produce significant ultrasonic frequencies from high harmonics that go well above audio.
Likewise on the output side. You should have some filtering to smooth the steps out of the digital waveform. You'll need op-amps to get the levels right and remove any offsets.
None of that is difficult, but it's quite a bit of circuitry. An analog VCA is probably simpler. Some certainly are, even with Korg's excluded.
In order to offset the effort, I'd think about what else such a module could do beyond being a VCA. After all, you'll have designed a general-purpose audio processing module with two inputs. As you say, you could do S&H on the control signals. You could also feed audio into both inputs and have a super-clean digital ring modulator. You could include an internal sinewave oscillator. You could experiment with waveshaping functions and feed live audio through it. You could do bitcrushing. You could...you get the picture. The possibilities beyond a VCA are really wide open, and are what justify the effort, I reckon. Don't think of it as a digital VCA, but instead think of it as an all-purpose board of which 'VCA' is just the simplest application.
Good luck with it if you do decide to do it. You'll certainly have a unique module!
Regards,
Tom
On 27 Aug 2011, at 07:53, Matthew Smith wrote:
> Hi Folks
>
> My digital ADSR/LFO is no longer "Vaporware" - PCBs have come back from the fab, all parts soldered on, just waiting for some connectors to hook up the LCD. Then it's a case of getting the pots, LCD, rotary encoder mounted on something and the not-so-trivial task of writing the software.
>
> Whilst I will be testing this out using a "Dixon VCA," I have been mulling over what would be involved in producing a digital VCA. My idea at the moment is NOT to have this integrated with the ADSR/VCO, but to have these as totally distinct modules, that can be mix'n'matched with pure analogue gear.
>
> From a digital perspective, is a VCA really as simple as multiplying the digital value of the signal input with the digital value of the control input, then dropping the least significant bit? (That's assuming I'm multiplying two 12-bit numbers, then dropping the last bit of the 13-bit result to get 12 bits again.)
>
> Thinking of zero-cost value-adds that I could put in this, sample-and-hold of the control signal springs to mind.
>
> The main issue I have identified so far is how to handle signals that are too large. The CV input of my ADSR/LFO has Zener protection, to snip the incoming voltage off at 5.1V (running the CPU at 5V, and am standardising on this for my control voltage level, if not signal level.) As far as the VCA is concerned, I was thinking of doing the same, but having "clip" LEDs that light whenever the the digitised value of the signal hits 4095. (Or maybe a certain number of samples hit that value in a specific time. I'll probably be running the ADCs/output DAC at 50ksps - a bit fast for the eye to perceive!) I guess I could have other LEDs that come on at lower values, too.
>
> Cheers
>
> M
>
> --
> Matthew Smith
>
> Business: http://www.smiffytech.com
> Blog: http://www.smiffysplace.com
> Linkedin: http://www.linkedin.com/in/smiffy
> Flickr: http://www.flickr.com/photos/msmiffy
> Twitter: http://twitter.com/smiffy
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
More information about the Synth-diy
mailing list