[sdiy] [synth-diy] numerically controlled superoscillator without hard sync
tom at electricdruid.net
Mon Feb 17 00:02:13 CET 2014
Going way back on this, I realise, but I was reading a Microchip application sheet for the PIC32, and came across the following, which reminded me of this discussion:
Page 7 and 8 describe the generation of the "Reference Clock Output" (REFCLKO) which is designed to be used for generating sample rates for codecs. As such, it produces various high frequency clocks. This is done by taking an input frequency, and then applying a divider and fractional divider. The divider is a 15-bit number (0-32767) and the fraction divider is 9-bit (0-512).So basically you've got a division by binary 15.9 format. That gives some scope for some serious frequency generation.
Specifically, ten octaves (the usual MIDI range, and roughly human hearing) would require ten bits of division, so 15 bits covers that easily. This leaves us 14 bits within the octave, which is also more than enough to avoid audible stepping.
I guess the next question is "does it cover the range you might need?"
On 9 Feb 2014, at 17:08, cheater00 . <cheater00 at gmail.com> wrote:
> thinking about this recently, one could use a high-frequency
> oscillator, and use it as the clock for a microcontroller which
> assuredly outputs a single sample every n clocks. This way you can
> perform VA style synthesis where the time base is derived from an
> analog oscillator that can perform FM and other neat analog tricks. On
> the other hand the uC only has to synthesize at a single frequency. So
> say it's always synthesizing at A440, and you change the pitch by
> changing how fast it executes its algorithm, i.e. by changing the
> clock, i.e. by changing the sampling frequency. This way, externally
> (i.e. at the output of the DAC) the aliases are always precisely at
> the same position in relation to the base frequency of the note being
> played. The aliases become part of the timbre, enriching it. This is
> in contrast to aliasing in a system where the sampling frequency is
> fixed, and the pitch of the note being synthesized is changed in the
> usual way. In this case, which doesn't happen here, the aliases are at
> a different position for every pitch, and therefore the oscillator not
> only plays your desired melody, but also a quieter, undesired melody
> which is completely out of tune and works against your music.
> The variable sample rate oscillator could also contain things like
> filters and other stuff. A whole VA could be implemented, and aliasing
> is not an issue at all.
> The only thing you need to ensure is that your reconstruction filter
> works well with a variable sample rate.
> Synth-diy mailing list
> Synth-diy at synth-diy.org
More information about the Synth-diy