[sdiy] Digital VCO update
Eric Brombaugh
ebrombaugh at earthlink.net
Sun Apr 30 20:55:47 CEST 2006
ASSI wrote:
> In the absence of PWM you could probably use a narrow pulse to good
> effect... Or just implement another shorter cycle PRNG to have something
> that sounds more "cyclical".
>
I've already got a short pulse available. A 256 sample wavetable of
random values could make for an interesting sound though. If the PDF is
uniform you get an interesting metallic buzz. I'll give it a try and see
what happens.
> Sync! If this could be a CV input: PWM.
Sync is already on the to-do list. Sorry, no CV inputs - I already tried
that for the waveform select and the two ADCs conflict with each other.
> Another idea would be a sync OUTPUT. If the waveform selector is only
> read synchroneous to a full waveform cycle, you can externally set up
> a new waveform selector when you see the sync signal and do some
> waveform "sequencing".
Interesting idea. The waveform select is read at the end of every CV
computation which runs at a fixed 244Hz rate, so I can't do
cycle-by-cycle selects.
> I'd do a test first how bad this really is in practise. I wouldn't
> expect the junction temperature to vary all that much given tha you
> max out the chip all the time, so it could very well be OK for most
> things. The clock input would of course be most welcome if you start
> doing PSOC oscillator farms...
I've been doing that this morning. I've got the breadboard patched into
the rest of my modular and it seems very stable as-is. Unfortunately,
the expo curve is a lot more accurate than my PAiA 9720 VCO, so they
don't track well over more than a few octaves. The digital VCO does
track my Casio keyboard nicely though, so I know it's not the problem.
Nevertheless, it's a real hoot to have another oscillator in the system.
It also seems like the reconstruction filter may not be particularly
useful - the 62.5kHz sample rate is high enough that I'm not getting any
significant aliasing from that process.
> I'd almost opt for setting up a two-wire interface at these two pins
> rather than a static select in this case (probably difficult with the
> code space and cycles). One pin is the shift clock output and the
> other the shift data input. Reset is the sync out, and after this you
> just clock in whatever number of bits from an external shift register.
I've thought of that. The PSoC has a built-in I2C interface, but
unfortunately in the 8-pin package it uses the same GPIO pins as the
crystal oscillator, so you can't use them both at the same time. Going
to the 20-pin package allows more freedom in that regard, but then there
are more pins overall so it's not so advantageous to use a serial protocol.
You're right though - I am running out of resources. The flash memory is
94% full at this point, so there's not a lot of room left for more features.
Eric
More information about the Synth-diy
mailing list