How exactly do the antialiased oscillators work internally? I’ve made an online modular synth as sideproject (www.patchwork-synth.com) and would like to add some oscillators that do exactly that.
I can’t say for sure which algorithm the Max oscillators are using, though I’d guess it’s BLIT (based on the age of the objects) or BLEP. There’s several different strategies for producing anti-aliased waveforms out there, each with different strengths and weaknesses.
I highly recommend reading through the "Digital Sound Generation" PDFs that ICST put out a few years ago. There’s some great anti-aliased oscillator algorithms in there, as well as an algorithm selection guide. I’ve been able to incorporate their phase modulation code into a newer algorithm called PTR (Polynomial Transition Region) along with hard-sync. (You’ll find that you can’t do frequency modulation (as such) on saw~/rect~/tri~, though you can do hard-sync) What’s also really nice about PTR is that you can apply it to arbitrary waveforms (so, for instance, you could make an anti-aliased SAH oscillator)
Also, I posted a tanh distortion pwm wave oscillator several months back that has FM. That’s a different algorithm in that it’s basically changing the level of overtones dependent on frequency in order to suppress aliasing.
C74 RSS Feed | © Copyright Cycling '74