[sdiy] Synthex Oscillator

Richie Burnett rburnett at richieburnett.co.uk
Sat Jul 8 20:03:51 CEST 2017


Good explanation, of aliasing as seen on a naive sawtooth in the time domain.

Anyone interested in getting into digital synthesis, should try exactly what Gordon says. Generate a sawtooth with a period that is an integer number of samples... look at its perfect waveform, look at its nice clean spectrum and enjoy its clean tone.  Then try generating sawtooth waveforms at progressively higher or lower pitches, and look what happens to the waveform over time, look at what happens to the spectrum and listen for the Inharmonic aliased components in the tone.

It's a very informative exercise, and quite intuitive, the way Gordon described it.

-Richie, 

Sent from my Xperia SP on O2

---- Gordonjcp wrote ----

>On Sat, Jul 08, 2017 at 02:49:40AM -0700, rsdio at audiobanshee.com wrote:
>> 
>> The fact that the rate is variable does not remove aliasing. A variable sample rate simply has a variable Nyquist frequency, such that aliasing moves around as the rate varies.
>> 
>> The fact that there is an analog clock does not remove aliasing. Any kind of sampling is susceptible to aliasing if filtering isn't handled correctly. An analog clock merely means that the rate is continuously variable, rather than varied by steps, but that is completely independent of aliasing concerns.
>
>Right; but you'll never hear it aliasing.
>
>Let's consider a 1kHz naive sawtooth wave generated at a 10kHz sample rate.  It's got to have significant partials above 5kHz, right?  You've got harmonics every 1kHz.  You'll have 1/5 amplitude at 5kHz bang on Nyquist, 1/6 amplitude (still pretty loud) reflected back down to 4kHz, 1/7 amplitude reflected back down to 3kHz and so on.
>
>Those aliased partials are going to be harmonic with the other partials,
>and you will not hear them.
>
>Now let's generate a 1.01khz naive sawtooth.  Oh, bugger, that's a mess.
>That fifth harmonic is trying to be 5050Hz but is aliasing down to
>4950Hz, that 6th harmonic is down at 3940Hz, it's all over the shop!
>What a horrible racket it's making!
>
>If you want to think of it another way, you can see that the sawtooth
>"step" occurs "between samples" so an error builds up until it "wraps
>around" - if we made a 1010Hz sawtooth it would have all sorts of
>horrible buzzing, if we made it 1001Hz then you'd get a distinct "tap
>tap tap tap" as the error builds and resets.  If you don't quite see
>what I mean, fire up Audacity, set it to an 8kHz project rate, and
>generate a 1001Hz sawtooth and zoom in.  Any sawtooth with a period that
>divides *exactly* into 8kHz would be more-or-less alias-free.
>
>Let's try a couple - Middle A is 261.63Hz.  Generate that at 8kHz sample
>rate, sounds rough as rats.  Now 8000/261.63 is 30.576, round it up, we
>get 8000/31.0 = 258.0645 and if you generate *that* slightly flattened
>pitch you won't get any aliasing at all.
>
>Now this is interesting because you could generate a bunch of naive
>sawtooths or squarewaves at slightly off-temper and your instrument
>would never alias, but any sort of pitch bend or vibrato applied to
>anything other than the master oscillator would sound hellish.
>
>In the Synthex's case, that's exactly what we're doing - we're
>generating a sawtooth that fits exactly into 256 cycles of the sample
>rate and bringing the sample rate down to suit where we want the final
>note pitch.  The oscillator cannot alias, or rather it can but the
>aliases land exactly on partials that we already have below Nyquist.
>
>-- 
>Gordonjcp MM0YEQ
>
>_______________________________________________
>Synth-diy mailing list
>Synth-diy at synth-diy.org
>http://synth-diy.org/mailman/listinfo/synth-diy




More information about the Synth-diy mailing list