Hi,
I studied the final chapter of Miller's book a bit deeper during the last days. It contains this interesting and sophisticated method of bandlimiting classical waveforms using transition splicing [1]. The docs contain an example, J09.bandlimited.pd, which I transformed into an abstraction, [splicetrans~], in the process I modifyed the calculations to work with samplerates different from 44.1 kHz and kept a normal rising phasor from 0-1 as signal instead of a falling sawtooth from 0.5 to -0.5 as in the example.
That was basically copy/paste work. The interesting thing then is to use this new phasor to construct other waveforms like square or trapezoid waves using the methods described in the last chapter as well.
These all involve some phase-shifted phasors created using [wrap~]. But to use the transition-spliced phasor~ as source for these waves, care needs to be taken in the placement of the [wrap~]s compared to the phasor, otherwise all bandlimiting effort will be in vain because [wrap~] cuts off the transition in the wrong place. But once you get the hang of it, it's actually quite easy: Always [wrap~] *before* you do the transition splicing.
This approach has one big advantage over bandlimiting with pre-calculated wavetables as realized in some old patches by Guenther Geiger and newer ones by Roman: The waveforms can be changed on the fly, for example to do PWM on a rectangle wave, which is hard or impossible with pre-calculated bandlimited waveforms.
As this technique wasn't really discussed on this list so far AFAIR, I just attached the patches for everyone who's interested in it to try and of course to comment and squash bugs.
[1] http://crca.ucsd.edu/~msp/techniques/latest/book-html/node196.html
Frank Barknecht _ ______footils.org__