[sdiy] In praise of the ATM STM32F303
Tom Wiltshire
tom at electricdruid.net
Fri Feb 12 14:37:38 CET 2016
On 12 Feb 2016, at 11:35, Olivier Gillet <ol.gillet at gmail.com> wrote:
>> Do it using the same method as the original string machines. We have 12 oscillators tuned to the top octave. Twelve NCO updates doesn't take long to do. The oscillators drive binary counters, which then provide all the different octaves you need in their various bits.
>> In order to provide output waveforms, you shape the square-wave outputs from the counter bits using a one-pole IIR filter. This simulates simple RC filtering and gives you somewhere between a triangle wave and a "shark's fin", depending on your filter coefficient. It *must* be quicker to calculate a IIR filter than do a PolyBLEP.
>
> At which sample rate would this run?
>
> You would need the frequency of your top NCOs to be equal to fs/N,
> where N is an integer, if you don't want to deal with aliasing issues.
>
> If this is not the case, you'd need a band-limiting scheme not only
> for the NCO but also for all the divided octaves - since their
> transitions do not fall exactly on edges.
True. We'd need the NCOs clocked at the same rate as the uP. But that implies hardware NCOs, which I don't know if the chip has or not.
72MHz would give edge jitter of only 14nsecs, which is a tiny amount compared to a 32KHz sample rate. I'd live with that happily enough.
Sorry, I've been playing with the hardware NCO on the PIC, so I was thinking it'd run fast, but if it's software, it won't be fast enough, you're right.
Tom
More information about the Synth-diy
mailing list