[sdiy] Digital VCA
Matthew Smith
matt at smiffytech.com
Sat Aug 27 08:53:43 CEST 2011
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
More information about the Synth-diy
mailing list