Advanced Synthesis - Oscillator Sync

Hi all,

I just stumbled on this interesting thread.

It strikes me that the phase correction in the anti-aliased phasor is constraining the period of the phasor to be an integer multiple of the sample period . So, it is akin to an LFSaw whose frequency is constrained to be an integer divisor of the sampling rate. This makes sense, as phase locking tot he sampling rate is what avoids the aliasing artifacts.

So there is a kind of trade off between aliasing artifacts and frequency resolution.

Cheers,

RJK

Side comment, but I was a bit surprised (though probably shouldn’t have been) to discover awhile back that aliasing energy doesn’t disappear at integer divisions of the sampling rate – that energy happens to line up with legit partials, and accumulate with it. E.g., if you make a 32-sample linear ramp (a geometrically perfect non-bandlimited sawtooth at f_s/32 Hz), we’d expect the second partial to have half the magnitude of the fundamental, and the third partial to have 1/3 the magnitude, but FFT calculates slightly higher magnitudes. I didn’t examine further but I believe that the excess energy comes from aliased frequencies that folded back over to line up with the “normal” frequencies (and, a sawtooth that’s band-limited to the 16 partials between f_s/32 and f_s/2 doesn’t look like a perfectly straight line).

Probably not directly relevant to the topic; I just found it interesting that aliasing doesn’t actually go away at integer-division frequencies.

hjh

Hi HJH,

Good to hear from you!

And, yes, the foldover tones are there of course, but the sawtooth overtones hide them relatively well
The artifacts I meant are the beating griminess.

A million years ago I did pieces on an Apple II with a Mountain Hardware card 16 bit phase increment, 256 sample table, no interpolation. I ended up using just intonation as a way to keep control of the distortion which would steadily increase as work through the fractional increments .5, .25/.75, .125/.375/.625/.875…

Before I posted the comment, I tried that old trick on an LFSaw for laughs. As expected, it totally fails. I presume that is because the points of stability are subharmonics of the SR so nothing lines up nicely…

Cheers,

RJK

hey, the version of an anti-aliased phasor i have shared here, isnt constraining the period of the phasor to be an integer multiple of the sample period. Its placing the phasors wrap exactly centered on the ideal phasors wrap for anti-aliasing. This very simple technique works even better than native Saw.

But doesn’t your algorithm have that effect? The phase adjustment is effectively a change in frequency, right?