[sdiy] Digital VCA

David G Dixon dixon at mail.ubc.ca
Sat Aug 27 22:46:16 CEST 2011


Hey Matthew, why not just apply DAC control to the Dixon VCA you're using?
Voila!  Digital VCA. 

> -----Original Message-----
> From: synth-diy-bounces at dropmix.xs4all.nl 
> [mailto:synth-diy-bounces at dropmix.xs4all.nl] On Behalf Of Tom 
> Wiltshire
> Sent: Saturday, August 27, 2011 3:39 AM
> To: Matthew Smith
> Cc: Synth DIY
> Subject: Re: [sdiy] Digital VCA
> 
> 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
> 
> _______________________________________________
> 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